NF-e
Emitir NF-e
Aceita a requisição de emissão de imediato; a autorização na SEFAZ acontece de forma assíncrona.
/openapi/v2/empresas/{empresaId}/nf-eRequer 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órioIdentificador da empresa devolvido em Registrar empresa.
Exemplo:1934811222334455
Corpo da requisição
idstringobrigatórioIdentificador único da requisição de emissão (gerado por você, até 64); também é o
nfeIdde consulta / cancelamento e a chave de idempotência.Exemplo:NFe-000014553ambienteEmissaostringobrigatórioHomologacao/Producao; deve corresponder ao ambiente atual da empresa, caso contrário10004030.finalidadestringopcionalNormal(padrão) /Devolucaopara notas de devolução, veja a seção de notas de devolução.notaReferenciadaobjectobrigatório em notas de devoluçãoReferência à nota original sendo devolvida.
pedidoobjectobrigatórioDados do pedido.
clienteobjectobrigatórioDestinatário (comprador).
itensarrayobrigatórioItens da nota.
Respostas
Requisição aceita; sem corpo. A nota fica em AguardandoAutorizacao até a SEFAZ responder.
Sem corpo de resposta
Erros
| Código | HTTP | |
|---|---|---|
| GW001 | 400 | O código IBGE do município do cliente não existe. Verifique a UF e o código IBGE. |
| 10003000 | 404 |
|
| 10004004 | 400 | Empresa não habilitada a emitir (ainda não aprovada ou certificado não pronto). Aguarde a aprovação / vincule o certificado. |
| 10004030 | 400 |
|
| 10004031 | 400 | Valor não suportado ( |
| 10004032 | 400 | O mesmo |
| 10004002 | 400 | Tarefas de emissão pendentes em excesso para o CNPJ. Tente mais tarde. |
| 10005000 | 400 | 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. |
| 10004020 | 400 |
|
| 10004021 | 400 | Nota de devolução: linha sem |
| 10004022 | 400 | Referência de linha em nota que não é de devolução. |
| 10004023 | 400 | Nota original não encontrada ou não pertencente a esta empresa. |
| 10004024 | 400 | Nota original não autorizada. |
| 10004025 | 400 | Item não encontrado na nota original. |
| 10004026 | 400 | Quantidade acima da linha original (somada entre as linhas que referenciam o mesmo item). |
| 10004034 | 400 | Comprador CNPJ sem |
| 10004043 | 400 | 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 / |
| 10004044 | 400 | Campo não aplicável ao código tributário ( |
| 10004045 | 400 |
|
| 10004046 | 400 | 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). |
| 10004047 | 400 | 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. |
| 10001001 | 400 | Falha de validação de campos (uma entrada por campo). Corrija conforme |
Tipos de pagamento (`formas[].tipo`)
| Valor | Significado |
|---|---|
| Dinheiro | Dinheiro |
| Cheque | Cheque |
| CartaoDeCredito | Cartão de crédito |
| CartaoDeDebito | Cartão de débito |
| CreditoLoja | Crédito na loja |
| ValeAlimentacao | Vale-alimentação |
| ValeRefeicao | Vale-refeição |
| ValePresente | Vale-presente |
| ValeCombustivel | Vale-combustível |
| BoletoBancario | Boleto bancário |
| DepositoBancario | Depósito bancário |
| PagamentoInstantaneoPix | Pix |
| TransferenciaBancaria | Transferência bancária |
| ProgramaDeFidelidade | Programa de fidelidade |
| SemPagamento | Sem pagamento |
| Outros | Outros |
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.
| Grupo | Có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.substituicaoTributaria | CST 10/30/70, CSOSN 201/202/203 (obrigatório); CST 90 / CSOSN 900 (opcional); rejeitado nos demais |
icms.retencaoAnterior | CST 60, CSOSN 500 |
icms.difal | Venda interestadual a não contribuinte; calculado automaticamente quando omitido |
pis / cofins | aliquota para CST 01/02 e 50–75/98; valorUnitarioTributo para CST 03 |
ipi | Opcional como um todo; situacaoTributaria obrigatório quando presente |
Código tributário × parâmetros obrigatórios
| Código ICMS | aliquota | percentualReducaoBase | substituicaoTributaria.mva + .aliquota | percentualCreditoSimples | percentualDiferimento |
|---|---|---|---|---|---|
| 00 | automático (CRT=3) | - | - | - | - |
| 10 | automático | - | obrigatório | - | - |
| 20 | automático | obrigatório | - | - | - |
| 30 | - | - | obrigatório | - | - |
| 40 / 41 / 50 | - | - | - | - | - |
| 51 | automático | opcional | - | - | obrigatório |
| 60 | - | - | - | - | - |
| 70 | automático | obrigatório | obrigatório | - | - |
| 90 | conforme os grupos enviados | opcional | opcional | - | - |
| 101 | - | - | - | obrigatório (ou perfil da empresa) | - |
| 102 / 103 / 300 / 400 | - | - | - | - | - |
| 201 | - | - | obrigatório | obrigatório | - |
| 202 / 203 | - | - | obrigatório | - | - |
| 500 | - | - | - | - | - |
| 900 | conforme os grupos enviados | opcional | opcional | opcional | - |
| Código PIS/COFINS | aliquota | valorUnitarioTributo |
|---|---|---|
| 01 | automático (CRT=3, pelo regime) / caso contrário obrigatório | - |
| 02 | obrigatório | - |
| 03 | - | obrigatório |
| 04–09 | - | - |
| 49 / 99 | assume 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 com10004047; 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 com10004020. A SEFAZ-SP valida o mesmo conjunto com 930 (CST 90 sem código também é rejeitado) e rejeita o literalSEM CBENEFcom 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 com10004043(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
| Campo | Tipo | Descrição |
|---|---|---|
finalidade | string | "Normal" (padrão) / "Devolucao". Exemplo: "Devolucao" |
notaReferenciada.chaveAcesso | string | Chave de acesso de 44 dígitos da nota original. Obrigatória quando finalidade=Devolucao |
itens[].notaReferenciada.numeroItem | integer | Nú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.
{"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
{"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.
| Grupo | Aplica-se a | Campos |
|---|---|---|
icms.monofasico | Obrigató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.partilha | Notas de partilha interestadual CST 10 / 90, não combinado com FCP | percentualBaseCalculoOperacaoPropria (pBCOp %) + ufSubstituicaoTributaria (UFST), em par |
icms.substituicaoTributariaDestino | Transferência interestadual CST 41 / 60, enviada junto com retencaoAnterior | baseCalculo (vBCSTDest) + valor (vICMSSTDest), em par |
icms.tributacaoEfetiva | CST 60, exigido por alguns estados | percentualReducaoBase (pRedBCEfet), aliquota (pICMSEfet; enviá-la gera o grupo efetivo) |
pis.substituicaoTributaria / cofins.substituicaoTributaria | PIS/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.percentualCargaTributaria | Qualquer | Carga tributária aproximada vTotTrib (%); calculada pela tabela IBPT quando omitida |
impostos.ibsCbs | Sobrescritas 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.
