TF Fiscal
Documentação

Empresas

Ciclo de vida de uma empresa emitente na TF Fiscal, como uma empresa atende NF-e, CT-e, DC-e e NFS-e, derivação do regime tributário, habilitação de DC-e e de NFS-e e os códigos de erro relacionados.

O que é uma empresa

Uma empresa (empresa) é a entidade legal em nome da qual os documentos são emitidos: o vendedor de um marketplace, uma transportadora ou um integrador emitindo para si mesmo. Toda empresa é identificada pelo empresaId devolvido por Registrar empresa, que é a variável de caminho de todos os endpoints de emissão, consulta e cancelamento.

EtapaEndpointObservações
1 Registrar empresaPOST /openapi/v2/empresasDevolve empresaId, dceHabilitado e nfseHabilitado; um corpo com id atualiza uma empresa existente
2 Vincular certificadoPOST /openapi/v1/empresas/{empresaId}/certificadoDigitalCertificado A1 (.pfx / .p12) e sua senha; multipart ou JSON + Base64
3 Registrar webhookPOST /openapi/v1/webhooksUma URL de callback por aplicação, compartilhada por todos os tipos de documento

Ciclo de vida

  1. Cadastro: uma chamada bem-sucedida a Registrar empresa coloca a empresa na fila de aprovação da plataforma. Cadastrar o mesmo CNPJ de novo devolve 10003002; reutilize o empresaId original ou envie uma atualização com id.
  2. Certificado: vincule o certificado A1. O certificado deve pertencer ao CNPJ da empresa (10003010), estar válido (10003011) e ser diferente do atualmente ativo (10003012); senha errada devolve CER0005. Um envio bem-sucedido substitui o certificado anterior.
  3. Aprovação: a operação aprova a empresa. A empresa só emite depois que a operação a aprova e o certificado está vinculado. Emitir antes disso devolve 10004004 para NF-e (DCe00008 para DC-e, 10017004 para CT-e). Consulte o andamento da aprovação com a operação da plataforma.
  4. Ambiente: toda empresa tem um ambiente atual, homologação Homologacao ou produção Producao. Empresas recém-cadastradas começam em homologação; a troca para produção é uma ação da operação, sem API. O valor de ambiente em toda requisição de emissão (ambienteEmissao para NF-e e CT-e, ambiente para DC-e) deve ser igual ao ambiente atual da empresa; divergência devolve 10004030 (NF-e), 10017010 (CT-e) ou DCe00004 (DC-e). Veja Ambientes.

Nota: uma atualização (corpo com id) nunca ressubmete a empresa para revisão e nunca altera seu status ou ambiente.

Uma empresa, quatro tipos de documento

O mesmo empresaId, o mesmo certificado e o mesmo webhook atendem todos os tipos de documento. O que muda é a série de numeração que cada tipo exige:

Tipo de documentoModeloSérie configurada porCampo de ambienteCódigo de não emissão
NF-e55emissaoNFeProduto.ambienteProducao (sequencialNFe / serieNFe) no cadastroambienteEmissao10004004
CT-e57Configurada do lado da plataforma; o cadastro não tem bloco de CT-e. Sem série, ou com várias habilitadas e nenhuma escolhida, a emissão devolve 10017007ambienteEmissao10017004
DC-e99emissaoDCe.ambienteProducao (tipoEmitente, sequencialDCe / serieDCe, siteMarketplace) no cadastro ou em uma atualização com idambienteDCe00008
NFS-e—emissaoNFSe (serieDps e os demais valores padrão do perfil) no cadastro ou em uma atualização com id, ou mantido pela operaçãoambienteEmissao10018004
  • emissaoNFeProduto, emissaoDCe e emissaoNFSe são cada um opcional, mas pelo menos um é obrigatório. Uma empresa só de NF-e envia o primeiro, uma empresa só de DC-e ou só de NFS-e pode omiti-lo (nenhuma série do modelo 55 é criada) e enviar mais de um habilita os tipos de documento correspondentes. Omitir os três devolve 400 10001001.
  • A série e o próximo número enviados no cadastro são os usados na emissão; depois disso a plataforma gerencia a sequência.
  • A emissão de CT-e exige ainda que o CNPJ esteja habilitado para CT-e na SEFAZ estadual; sem isso a SEFAZ rejeita com 230 - IE do emitente não cadastrada, o que a plataforma não pode resolver.

Derivação do regime tributário

O regime da empresa é derivado de dois booleanos enviados no cadastro e não pode ser alterado por atualização:

meioptanteSimplesNacionalRegime
truequalquerMEI
falsetrueSimples Nacional
falsefalseRegime normal

O regime determina a família de código tributário que um item de NF-e pode usar (CSOSN para Simples / MEI, CST para o regime normal); veja NF-e. Ele também define se regimeApuracaoSn é obrigatório no perfil de NFS-e, veja abaixo. inscricaoEstadual é obrigatória para emitir NF-e, CT-e e DC-e: ausente devolve 10003006; uma empresa só de NFS-e não precisa de inscrição estadual.

Habilitando DC-e

O DC-e (modelo 99) é habilitado pelo bloco emissaoDCe:

json
"emissaoDCe": {
"ambienteProducao": {
"tipoEmitente": "Marketplace",
"sequencialDCe": 1,
"serieDCe": "1",
"siteMarketplace": "https://loja.exemplo.com.br"
}
}
  • tipoEmitente é Marketplace (uma plataforma emitindo em nome de vendedores não contribuintes / pessoas físicas) ou OwnIssuer (uma empresa emitindo para si mesma). Carrier pode ser cadastrado, mas a emissão é rejeitada com 10019013. siteMarketplace é obrigatório para Marketplace.
  • Uma empresa cadastrada sem emissaoDCe não fica habilitada para DC-e: o cadastro é aceito, a resposta traz dceHabilitado=false e a emissão devolve DCe00004. Confira esse campo logo após cadastrar.
  • Para habilitar DC-e depois, reenvie o payload de cadastro com id e o bloco emissaoDCe. A série do modelo 99 só avança: sequencialDCe pode elevar o próximo número, mas nunca reduzi-lo (400 10001001), e trocar serieDCe enquanto a série antiga continua habilitada é recusado (400 10001001, passe pela operação).

Habilitando NFS-e

A NFS-e é habilitada pelo bloco emissaoNFSe. Só com ele a empresa passa a emitir NFS-e e ganha a sequência de numeração. Aqui ficam apenas os dados que não mudam de uma nota para outra: código de serviço, CNAE, NBS, alíquota de ISS, retenção e IBS/CBS acompanham o serviço vendido e vão no bloco servico de cada emissão.

json
"emissaoNFSe": {
"serieDps": "1",
"sequencialDps": 1,
"regimeApuracaoSn": 1,
"regimeEspecialTributacao": 0
}
CampoTipoObrigatórioDescrição
serieDpsstring(1-5 dígitos)NãoSérie do DPS / RPS usada na emissão. Toda nota usa este valor; a emissão não aceita série própria. Sem este campo, 1
sequencialDpsintegerNãoNúmero da próxima nota a emitir, a partir de 1. Ao migrar de outro emissor, envie o maior número já usado mais um para a numeração continuar de onde parou. Sem este campo, 1. Uma vez criada a sequência, a atualização não a altera
regimeApuracaoSnintegerObrigatório para ME/EPPComo o Simples Nacional apura o imposto: 1 federal e municipal pelo SN / 2 federal pelo SN e municipal fixo / 3 federal pelo SN e municipal normal. A adesão ao Simples vem de optanteSimplesNacional / mei no nível superior. Enviar em empresa fora do Simples é rejeitado
regimeEspecialTributacaointegerNãoSe há tratamento tributário especial: 0 nenhum / 1 ato cooperado / 2 estimativa / 3 microempresa municipal / 4 notarial e registral / 5 profissional autônomo / 6 sociedade de profissionais. Sem este campo, 0
  • A resposta do cadastro passa a trazer nfseHabilitado: { "empresaId": "…", "dceHabilitado": false, "nfseHabilitado": true }. Sem o bloco é false e a emissão devolve 10018005.
  • Na atualização (corpo com id) enviar o bloco substitui o perfil inteiro: opcionais omitidos voltam ao padrão; sem o bloco o perfil não muda e nfseHabilitado reflete o estado atual. Forçar o padrão municipal é ação da operação, não passa por este bloco.
  • Regras estruturais rejeitadas já na aceitação (400 10001001): ME/EPP sem regimeApuracaoSn, empresa fora do Simples com regimeApuracaoSn.
  • Uma empresa só de NFS-e pode omitir emissaoNFeProduto (nenhuma série do modelo 55 é criada) e não precisa de inscricaoEstadual.
  • A inscrição municipal (CCM) de São Paulo vem do inscricaoMunicipal do nível superior e não se repete neste bloco.

Códigos de erro relacionados

codigoHTTPCenárioAção
10003002400CNPJ já cadastradoA empresa existe: use o empresaId original ou atualize com id
10003000404empresaId não existe ou não pertence a esta aplicaçãoVerifique o empresaId
10003006400Dados de cadastro sem a IEInforme inscricaoEstadual
10003010 / 10003011 / 10003012400CNPJ do certificado divergente / expirado / idêntico ao atualUse o certificado correto
10003035400Base64 inválido ou certificado acima de 1MB (forma JSON)Corrija a codificação ou o arquivo
CER0005400Senha do certificado não confereVerifique a senha
GW001400Cadastro: cidade / estado não resolvem para um código IBGEVerifique a UF e o nome da cidade
10004004400Empresa não apta a emitir (ainda não aprovada ou certificado não pronto)Aguarde a aprovação / vincule o certificado
10004030400ambienteEmissao diferente do ambiente atual da empresaSubmeta no ambiente da empresa ou peça à operação para trocá-lo
10001001400Falha de validação de campos, ou erro de contrato de cadastro / atualização (os três blocos de configuração ausentes, atualização alterando cnpj / município, redução do cursor da série DC-e, troca de série, regras estruturais de emissaoNFSe não atendidas)Corrija conforme mensagem

A lista completa está em Códigos de erro.