TF Fiscal
Documentação

NF-e

Emitir NF-e

Aceita a requisição de emissão de imediato; a autorização na SEFAZ acontece de forma assíncrona.

POST/openapi/v2/empresas/{empresaId}/nf-e

Requer os cabeçalhos de assinatura token, timestamp e sign, veja Autenticação.

Requisições aceitas retornam HTTP 200 sem corpo e entram no fluxo assíncrono de emissão; o resultado chega pelo webhook ou pela consulta. Reenviar o mesmo id reaproveita a tarefa original; se a tentativa anterior foi negada (Negada), reenviar o mesmo id com os campos corrigidos emite de novo com o novo payload, sem precisar de outro id; alterar campos-chave como o destinatário enquanto a tentativa anterior ainda está em processamento ou já foi autorizada é rejeitado com 10004032. Erros de autenticação (10009xxx) estão em Autenticação.

Parâmetros

Parâmetros de caminho

  • empresaIdstringobrigatório

    Identificador da empresa devolvido em Registrar empresa.

    Exemplo: 1934811222334455

Corpo da requisição

  • idstringobrigatório

    Identificador único da requisição de emissão (gerado por você, até 64); também é o nfeId de consulta / cancelamento e a chave de idempotência.

    Exemplo: NFe-000014553
  • ambienteEmissaostringobrigatório

    Homologacao / Producao; deve corresponder ao ambiente atual da empresa, caso contrário 10004030.

  • finalidadestringopcional

    Normal (padrão) / Devolucao para notas de devolução, veja a seção de notas de devolução.

  • notaReferenciadaobjectobrigatório em notas de devolução

    Referência à nota original sendo devolvida.

  • pedidoobjectobrigatório

    Dados do pedido.

  • clienteobjectobrigatório

    Destinatário (comprador).

  • itensarrayobrigatório

    Itens da nota.

Respostas

200

Requisição aceita; sem corpo. A nota fica em AguardandoAutorizacao até a SEFAZ responder.

Sem corpo de resposta

Erros

CódigoHTTP
GW001400

O código IBGE do município do cliente não existe. Verifique a UF e o código IBGE.

10003000404

empresaId não existe ou não pertence a esta aplicação.

10004004400

Empresa não habilitada a emitir (ainda não aprovada ou certificado não pronto). Aguarde a aprovação / vincule o certificado.

10004030400

ambienteEmissao não corresponde ao ambiente atual da empresa. Envie no ambiente da empresa ou peça à operação para alterá-lo.

10004031400

Valor não suportado (presencaConsumidor / tipo de pagamento desconhecido / tipoPessoa incoerente com o documento / comprador CPF com inscricaoEstadual / IntegradoAoSistemaDeGestao). Ajuste ao escopo suportado.

10004032400

O mesmo id foi reenviado com campos-chave alterados enquanto a tentativa anterior ainda está em processamento ou já foi autorizada. Use um novo id.

10004002400

Tarefas de emissão pendentes em excesso para o CNPJ. Tente mais tarde.

10005000400

Rejeitado pelo motor tributário (regime / código incompatível, código de ST para comprador não contribuinte, alíquota fora do intervalo, ...). Veja as regras rígidas da matriz de códigos tributários.

10004020400

codigoBeneficioFiscal ausente em CST 20/30/40/41/50/51/70/90.

10004021400

Nota de devolução: linha sem notaReferenciada.numeroItem ou nota sem notaReferenciada.chaveAcesso.

10004022400

Referência de linha em nota que não é de devolução.

10004023400

Nota original não encontrada ou não pertencente a esta empresa.

10004024400

Nota original não autorizada.

10004025400

Item não encontrado na nota original.

10004026400

Quantidade acima da linha original (somada entre as linhas que referenciam o mesmo item).

10004034400

Comprador CNPJ sem cliente.inscricaoEstadual. Envie a inscrição estadual do comprador (contribuinte de ICMS).

10004043400

Campo do contrato ausente (redução de base / MVA e alíquota de ST / diferimento / valor de tributo por unidade / código de IPI / pCredSN ausente da requisição e do perfil / cest em item de ST); a mensagem nomeia o caminho do campo. Preencha conforme a matriz.

10004044400

Campo não aplicável ao código tributário (substituicaoTributaria em código que não é de ST, percentualCreditoSimples em código sem crédito, monofasico fora de CST 02/15/53/61). Remova o grupo.

10004045400

cliente.inscricaoEstadual do comprador CNPJ falha a regra de dígito verificador do estado do comprador (a SEFAZ rejeitaria com 209 após a numeração). Verifique a IE e o estado.

10004046400

Código tributário incompatível com o regime da empresa (CRT 1/4 exige CSOSN de 3 dígitos, CRT 2/3 CST de 2 dígitos).

10004047400

Comprador não contribuinte com código exclusivo de contribuinte (10/30/70, 101/201/202/203) ou com pCredSN. Use 102 / 500 ou 900 sem crédito.

10001001400

Falha de validação de campos (uma entrada por campo). Corrija conforme mensagem.

Tipos de pagamento (`formas[].tipo`)

ValorSignificado
DinheiroDinheiro
ChequeCheque
CartaoDeCreditoCartão de crédito
CartaoDeDebitoCartão de débito
CreditoLojaCrédito na loja
ValeAlimentacaoVale-alimentação
ValeRefeicaoVale-refeição
ValePresenteVale-presente
ValeCombustivelVale-combustível
BoletoBancarioBoleto bancário
DepositoBancarioDepósito bancário
PagamentoInstantaneoPixPix
TransferenciaBancariaTransferência bancária
ProgramaDeFidelidadePrograma de fidelidade
SemPagamentoSem pagamento
OutrosOutros

Grupos tributários

Todos os parâmetros tributários são opcionais (nullable); requisições que trazem apenas os códigos tributários continuam funcionando. Cada parâmetro é resolvido como valor da requisição > perfil da empresa > tabela de alíquotas da plataforma (empresas CRT=3) > rejeição nomeando o caminho do campo (itens[n].impostos..., n a partir de 1). Percentuais são escritos como 18 para 18 %; valores em BRL. A plataforma nunca infere redução de base, MVA de ST, percentual de diferimento ou valor de tributo por unidade: envie-os sempre que o código tributário exigir.

GrupoCódigos aplicáveis
icms (campos próprios)Todos; aliquota para CST 00/10/20/51/70, percentualReducaoBase para 20/70, percentualDiferimento para 51, percentualCreditoSimples para CSOSN 101/201, codigoBeneficioFiscal para 20/30/40/41/50/51/70/90
icms.substituicaoTributariaCST 10/30/70, CSOSN 201/202/203 (obrigatório); CST 90 / CSOSN 900 (opcional); rejeitado nos demais
icms.retencaoAnteriorCST 60, CSOSN 500
icms.difalVenda interestadual a não contribuinte; calculado automaticamente quando omitido
pis / cofinsaliquota para CST 01/02 e 50–75/98; valorUnitarioTributo para CST 03
ipiOpcional como um todo; situacaoTributaria obrigatório quando presente

Código tributário × parâmetros obrigatórios

Código ICMSaliquotapercentualReducaoBasesubstituicaoTributaria.mva + .aliquotapercentualCreditoSimplespercentualDiferimento
00automático (CRT=3)----
10automático-obrigatório--
20automáticoobrigatório---
30--obrigatório--
40 / 41 / 50-----
51automáticoopcional--obrigatório
60-----
70automáticoobrigatórioobrigatório--
90conforme os grupos enviadosopcionalopcional--
101---obrigatório (ou perfil da empresa)-
102 / 103 / 300 / 400-----
201--obrigatórioobrigatório-
202 / 203--obrigatório--
500-----
900conforme os grupos enviadosopcionalopcionalopcional-
Código PIS/COFINSaliquotavalorUnitarioTributo
01automático (CRT=3, pelo regime) / caso contrário obrigatório-
02obrigatório-
03-obrigatório
04–09--
49 / 99assume 0-
50–75 / 98 (entrada, notas de devolução)obrigatório-

Regras rígidas (aplicadas pelo motor tributário, retornadas como 10005000):

  • vendedores CRT 1/4 devem usar CSOSN de 3 dígitos, vendedores CRT 2/3 devem usar CST de 2 dígitos; a incompatibilidade é rejeitada na aceitação com 10004046;
  • compradores não contribuintes (pessoas físicas / sem IE) não podem usar CSOSN 101, a família de ST retida nem percentualCreditoSimples; rejeitado na aceitação com 10004047; vendedores MEI (CRT 4) não podem usar 101;
  • códigos de ST (10/30/70, 201/202/203) são rejeitados para compradores não contribuintes (SEFAZ cStat 600): a ST antecipa a cadeia de revenda e o consumidor é o fim dela. Vendas B2C de mercadorias com ST usam CST 60 / CSOSN 500 (retida anteriormente) e, entre estados, DIFAL;
  • código de benefício estadual (cBenef): CST 20/30/40/41/50/51/70/90 devem trazer codigoBeneficioFiscal; a ausência é rejeitada no envio com 10004020. A SEFAZ-SP valida o mesmo conjunto com 930 (CST 90 sem código também é rejeitado) e rejeita o literal SEM CBENEF com 946;
  • códigos que não são de ST não devem trazer substituicaoTributaria (10004044);
  • itens sob códigos de ST (10/30/60/70, 201/202/203/500) devem trazer cest; CEST ausente é rejeitado na aceitação com 10004043 (itens[n].cest);
  • CST 90 / CSOSN 900 são compostos: envie pelo menos um dos grupos de tributação própria, ST ou crédito.

Destinatário (`cliente`)

cliente.inscricaoEstadual é a inscrição estadual do comprador (NF-e dest/IE). Obrigatória para compradores CNPJ: define indIEDest=1; um comprador CNPJ sem ela é rejeitado com 10004034 antes de consumir numeração (a SEFAZ rejeitaria com 232 depois da numeração). Não permitida para compradores CPF (10004031). Caracteres de formatação são removidos. Exemplo: "123.456.789.012".

O cenário B2B (comprador contribuinte de ICMS) depende deste campo: CSOSN 101 / 201 e CST 10 / 30 / 70 só são válidos para compradores contribuintes.

Notas de devolução

CampoTipoDescrição
finalidadestring"Normal" (padrão) / "Devolucao". Exemplo: "Devolucao"
notaReferenciada.chaveAcessostringChave de acesso de 44 dígitos da nota original. Obrigatória quando finalidade=Devolucao
itens[].notaReferenciada.numeroItemintegerNúmero do item original (nItem, a partir de 1). Obrigatório em cada linha de uma nota de devolução

Regras: linha de devolução sem referência → 10004021; referência em nota que não é de devolução → 10004022; nota original não encontrada ou não pertencente a esta empresa → 10004023; nota original não autorizada → 10004024; item não encontrado na nota original → 10004025; quantidade acima da linha original (somada entre as linhas que referenciam o mesmo item original) → 10004026. Use CFOPs de entrada (1xxx / 2xxx) e códigos de PIS/COFINS de entrada (50–75 / 98, aliquota obrigatória); os parâmetros tributários da nota original são espelhados por linha.

json
{
"id": "DEV-000014553",
"ambienteEmissao": "Producao",
"finalidade": "Devolucao",
"notaReferenciada": { "chaveAcesso": "35241204893402000113650010000117691017244265" },
"pedido": { "presencaConsumidor": "OperacaoPelaInternet", "pagamento": { "formas": [ { "tipo": "SemPagamento", "valor": 0 } ] } },
"cliente": { "tipoPessoa": "F", "nome": "Demo Client", "cpfCnpj": "88533234775", "endereco": { "uf": "PR", "cidade": "4106902", "logradouro": "Rua Presidente Wilson", "numero": "911", "bairro": "Uberaba", "cep": "81570440" } },
"itens": [
{
"cfop": "2202", "codigo": "000068", "descricao": "Pendrive Kingston 16GB", "ncm": "85235190",
"quantidade": 1, "unidadeMedida": "UN", "valorUnitario": 28.47,
"notaReferenciada": { "numeroItem": 1 },
"impostos": {
"icms": { "situacaoTributaria": "102" },
"pis": { "situacaoTributaria": "70", "aliquota": 0 },
"cofins": { "situacaoTributaria": "70", "aliquota": 0 }
}
}
]
}

Exemplo completo: vendedor do regime normal (CRT=3), CST 20 com redução de base, PIS/COFINS 01

json
{
"id": "NFe-000014554",
"ambienteEmissao": "Producao",
"pedido": { "presencaConsumidor": "OperacaoPelaInternet", "pagamento": { "formas": [ { "tipo": "PagamentoInstantaneoPix", "valor": 100.00 } ] } },
"cliente": {
"tipoPessoa": "J", "nome": "Revenda Demo LTDA", "cpfCnpj": "11222333000181", "inscricaoEstadual": "123456789012",
"endereco": { "uf": "SP", "cidade": "3550308", "logradouro": "Av. Paulista", "numero": "1000", "bairro": "Bela Vista", "cep": "01310100" }
},
"itens": [
{
"cfop": "5102", "codigo": "SKU-100", "descricao": "Produto demo", "ncm": "85235190", "origem": 0,
"quantidade": 2, "unidadeMedida": "UN", "valorUnitario": 50.00, "valorDesconto": 0,
"impostos": {
"icms": { "situacaoTributaria": "20", "aliquota": 18, "percentualReducaoBase": 33.33, "codigoBeneficioFiscal": "SP800001" },
"pis": { "situacaoTributaria": "01", "aliquota": 1.65 },
"cofins": { "situacaoTributaria": "01", "aliquota": 7.6 }
}
}
]
}

Grupos tributários especiais

Opcionais; combustíveis, energia, operações interestaduais específicas e as sobrescritas de IBS/CBS de 2026.

GrupoAplica-se aCampos
icms.monofasicoObrigatório para ICMS CST 02 / 15 / 53 / 61, rejeitado em qualquer outro código (10004044)quantidadeBaseCalculo, aliquotaAdRem (obrigatório para 02/15/53), quantidadeBaseCalculoRetencao, aliquotaAdRemRetencao (obrigatório para 15), percentualReducaoAdRem + motivoReducaoAdRem (em par, motivo 1/9), quantidadeBaseCalculoRetida, aliquotaAdRemRetida (obrigatório para 61); o CST 53 toma o diferimento de icms.percentualDiferimento
icms.partilhaNotas de partilha interestadual CST 10 / 90, não combinado com FCPpercentualBaseCalculoOperacaoPropria (pBCOp %) + ufSubstituicaoTributaria (UFST), em par
icms.substituicaoTributariaDestinoTransferência interestadual CST 41 / 60, enviada junto com retencaoAnteriorbaseCalculo (vBCSTDest) + valor (vICMSSTDest), em par
icms.tributacaoEfetivaCST 60, exigido por alguns estadospercentualReducaoBase (pRedBCEfet), aliquota (pICMSEfet; enviá-la gera o grupo efetivo)
pis.substituicaoTributaria / cofins.substituicaoTributariaPIS/COFINS retidos (grupos PISST / COFINSST)ad valorem baseCalculo + aliquota ou por unidade quantidadeBaseCalculo + valorUnitarioTributo (um ou outro); somarAoTotal soma o valor ao total da nota
impostos.percentualCargaTributariaQualquerCarga tributária aproximada vTotTrib (%); calculada pela tabela IBPT quando omitida
impostos.ibsCbsSobrescritas de IBS/CBS de 2026; omitido → padrões do regime da empresa (CST 000 / código de classificação 000001)situacaoTributaria (3 dígitos), classificacaoTributaria (6 dígitos), percentualDiferimento (obrigatório para 510/515), tributacaoRegular{situacaoTributaria, classificacaoTributaria}, transferenciaCredito{valorIbs, valorCbs} (800), monofasico{...} (620), zonaFrancaManaus{periodoApuracao, tipo, valor} (810), ajuste{periodoApuracao, valorIbs, valorCbs} (811), creditoPresumido{codigo, percentualIbs, percentualCbs, suspensivo, deduzir}; ou todas as linhas trazem o grupo ou nenhuma

As regras de pareamento, os códigos aplicáveis e as exigências ad rem por CST desses grupos são validados pelo motor tributário, que retorna 10005000 com o nome interno do campo.