Emissão

Emissão NF-e Passo a Passo

Da montagem do payload ao envio, consulta, DANFE e cancelamento.

A NF-e (Nota Fiscal Eletrônica, modelo 55) é o documento fiscal oficial para operações mercantis de circulação de produtos e mercadorias entre empresas (B2B) ou entre empresa e consumidor final fora do balcão — como e-commerce, atacado, remessa, transferência, devolução e exportação.

Para vendas presenciais no varejo direto ao consumidor, consulte o guia de Emissão de NFC-e (modelo 65); para prestação de serviços municipais, consulte Emissão de NFS-e.

BASE URL
https://api.nfer.me/v1

Emissão Assíncrona e Resiliência

A emissão de documentos fiscais na NFER é estruturada de forma assíncrona: a chamada de criação retorna 201 Created em ~50ms com o rascunho validado sem queimar numeração fiscal na SEFAZ. O envio é ordenado em seguida via POST /v1/nfe/:id/send (202 Accepted), isolando sua aplicação de lentidões ou oscilações nos servidores da SEFAZ estadual.

Exemplo com Inteligência Fiscal Automática (Recomendado — Sem enviar impostos)

O maior diferencial da NFER, é sua Inteligência fiscal: seu software ou e-commerce não precisa calcular tributos nem manter tabelas de alíquotas estaduais. Basta enviar os dados essenciais da venda com "consumidorFinal": true | false e o tipo do item (tipoItem: "00" para mercadoria de revenda ou "04" para fabricação própria). A Inteligência Fiscal da NFER cruza as UFs de origem e destino, o regime da sua empresa (Simples Nacional ou Regime Normal) e resolve automaticamente o CFOP (5102/6102), CST/CSOSN, alíquotas de ICMS, PIS, COFINS, partilha de DIFAL (EC 87/15) e retenção de ICMS-ST:

curl -s -X POST https://api.nfer.me/v1/nfe \
-H "X-API-Key: $NFER_KEY" \
-H "Content-Type: application/json" \
-d '{
"transmitir": true,
"naturezaOperacao": "VENDA DE MERCADORIA",
"tipoOperacao": "1",
"finalidade": 1,
"serie": 1,
"consumidorFinal": true,
"destinatario": {
"tipoPessoa": "F",
"cpfCnpj": "12345678901",
"nome": "JOAO DA SILVA",
"email": "joao.silva@email.com",
"endereco": {
"logradouro": "Avenida Paulista",
"numero": "1500",
{
"id": "7b8f9e12-3456-4abc-9def-123456789abc",
"numero": 1042,
"serie": 1,
"modelo": "55",
"status": "processando",
"natureza_operacao": "VENDA DE MERCADORIA",
"tipo_operacao": "1",
"finalidade": 1,
"valor_total": 1200.00,
"itens": [
{
"codigo": "MON-165",
"descricao": "Monitor Gamer 27 Polegadas 165Hz",
"ncm": "85285200",
"cfop": "5102",
"unidade": "UN",
"quantidade": 1,

Por que a Inteligência Fiscal NFER é o nosso ponto mais forte?

  • Zero complexidade no seu backend: Você não precisa de uma equipe tributária mantendo tabelas com centenas de alíquotas interestaduais, MVA de ICMS-ST por NCM e partilhas de DIFAL de cada um dos 27 estados. O motor tributário NFER calcula tudo em tempo real.
  • Resolução automática de CFOP e CST/CSOSN: Uma venda para dentro do mesmo estado recebe automaticamente CFOP 5102; a mesma venda para outra UF recebe CFOP 6102 com apuração de DIFAL (se consumidor final) ou ICMS-ST (se revenda). Converte automaticamente as tags de acordo com o CRT do emitente (Simples Nacional vs. Regime Normal).
  • Perfis Fiscais Avançados: Para produtos com regras especiais (ex.: substituição tributária específica, isenção ou incentivos), basta vincular um fiscalProfileId no item. Veja o guia de Perfis Fiscais Inteligentes.

Exemplo com Impostos Manuais / Legados (Compatibilidade Total)

Caso sua aplicação já possua um motor de cálculo próprio ou você deseje enviar regras fiscais legadas calculadas pelo seu ERP, a NFER garante compatibilidade reversa total. Você pode informar o bloco impostos completo com ICMS, PIS e COFINS por item:

curl -s -X POST https://api.nfer.me/v1/nfe \
-H "X-API-Key: $NFER_KEY" \
-H "Content-Type: application/json" \
-d '{
"transmitir": true,
"naturezaOperacao": "VENDA DE MERCADORIA",
"tipoOperacao": "1",
"finalidade": 1,
"serie": 1,
"consumidorFinal": true,
"destinatario": {
"tipoPessoa": "F",
"cpfCnpj": "12345678901",
"nome": "JOAO DA SILVA",
"email": "joao.silva@email.com",
"endereco": {
"logradouro": "Avenida Paulista",
"numero": "1500",

Por que existe 'csosn' em vez de 'cst' no Simples Nacional?

O campo csosn (Código de Situação da Operação no Simples Nacional) existe e é uma exigência estrita da SEFAZ para todas as empresas optantes pelo Simples Nacional (CRT 1 e MEI CRT 4):
  • Simples Nacional usa CSOSN (3 dígitos): Em vez de cst (ex: 00, 10, 20), a SEFAZ exige o código de 3 dígitos (ex: "102" para mercadoria tributada sem permissão de crédito ou "500" para ICMS cobrado por Substituição Tributária). Se uma empresa do Simples enviar CST, a SEFAZ retorna Rejeição 590: Informado CST para emitente do Simples Nacional.
  • PIS e COFINS no Simples: Como a tributação é recolhida de forma unificada na guia mensal do DAS, na nota fiscal utiliza-se cst: "49" (outras operações de saída) ou "07" com alíquota zero.
  • Regime Normal (Lucro Presumido ou Real): Apenas empresas fora do Simples utilizam o campo cst (ex: "00" com alíquota de 18%, PIS CST "01" a 1,65% e COFINS CST "01" a 7,60%).
  • Tolerância Inteligente da NFER: Se o seu ERP enviar "cst": "102" por engano no payload, o motor da NFER detecta automaticamente o CRT 1 da empresa e converte para a tag XML correta <CSOSN>102</CSOSN>, impedindo rejeições na SEFAZ.

Reforma Tributária na NF-e (IBS, CBS e Imposto Seletivo — NT 2025.002)

A API NFER já está 100% preparada para a transição tributária da Emenda Constitucional 132/2023 e LC 214/2025. Você pode informar o bloco reformaTributaria por item dentro do grupo impostos (ou na raiz do item):

{
"descricao": "Monitor Gamer 27 Polegadas 165Hz",
"ncm": "85285200",
"cfop": "5102",
"unidade": "UN",
"quantidade": 1,
"valorUnitario": 1200.00,
"valorLiquidoUnitario": 1200.00,
"valorLiquido": 1200.00,
"impostos": {
// 1. Convivência com tributos vigentes (ICMS, PIS, COFINS):
"icms": {
"cst": "00",
"origem": 0,
"aliquota": 18.00
},
"pis": {
"cst": "01",
Campo no JSON NFERElemento XML SEFAZTipoDescrição & Regra
reformaTributaria.cClassTrib<cClassTrib>String (6 dígitos)Classificação Tributária oficial da LC 214/2025 (ex.: "000001" ou "010101"). Se omitido, o NFER adota "010101".
reformaTributaria.cst<CST>String (2 dígitos)Código da Situação Tributária de IBS/CBS (ex.: "01" Tributado Integralmente).
reformaTributaria.aliquotaCbs<gCBS><pCBS>Number (Decimal)Alíquota percentual da CBS federal. Padrão de teste em 2026: 0.90% (Art. 346 da LC 214/2025).
reformaTributaria.aliquotaIbsEstadual<gIBSUF><pIBSUF>Number (Decimal)Alíquota percentual do IBS estadual da UF de destino. Padrão de teste em 2026: 0.10%.
reformaTributaria.aliquotaIbsMunicipal<gIBSMun><pIBSMun>Number (Decimal)Alíquota percentual do IBS municipal. Padrão de teste em 2026: 0.00%.
reformaTributaria.percentualReducao<pRed>Number (Decimal)Percentual de redução da base de cálculo para regimes incentivados (opcional).
reformaTributaria.percentualDiferimento<gIBSDif> / <gCBSDif>Number (Decimal)Percentual de diferimento do recolhimento de IBS/CBS (opcional).
impostoSeletivo<IS>Objeto (Irmão)Grupo do Imposto Seletivo contendo cst, classificacao e aliquota (ad valorem) ou aliquotaEspecifica e quantidade (específica). Omitir caso o item não seja tarifado.
valorLiquidoUnitario / valorLiquido<vUnComLiq> / <vProdLiq>Number (Decimal)Valor líquido do produto sem tributos conforme exigido pela NT 2026.008.

Convivência Harmoniosa sem Quebra de Contratos

O NFER gera automaticamente o grupo <IBSCBS> no XML da NF-e com a soma dos totais da nota (<vTotIBS>, <vTotCBS> e <vTotIS>). Caso o bloco reformaTributaria seja omitido por empresas do Regime Normal (CRT 3) em vigência, o motor do NFER injeta as alíquotas oficiais de teste (0,9% CBS + 0,1% IBS) automaticamente, garantindo compatibilidade reversa total com seus sistemas legados.

Quando usar NF-e

Utilize a NF-e sempre que houver movimentação de produtos e a operação não for venda presencial de balcão ao consumidor final. Casos típicos:

  • Vendas B2B & Atacado: Faturamento entre empresas com destaque de impostos e partilhas.
  • E-commerce & Marketplaces: Vendas online enviadas via Correios ou transportadora com DANFE de acompanhamento.
  • Remessas & Consertos: Envio de mercadorias para industrialização, demonstração ou assistência técnica.
  • Devoluções & Trocas: Retorno de mercadoria com vinculação à chave de acesso da nota original.

Fluxo de Emissão em 3 Etapas

1POST /v1/nfe

Criar Rascunho / Simulação

Calcula impostos, resolve perfis fiscais e valida o schema. Responde 201 Created em ~50ms já trazendo o espelho tributário completo (itens, totais e perfil_fiscal) sem queimar número na SEFAZ.

2POST /v1/nfe/:id/send

Transmitir à SEFAZ

Atribui o próximo sequencial da série, assina o XML com Certificado A1 e transmite à SEFAZ via fila assíncrona (202 Accepted).

3Webhook / Arquivos

Obter Resultado

Ao autorizar na SEFAZ, o NFER envia o webhook nfe.autorizada com a chave de 44 dígitos e libera os downloads do DANFE em PDF e do XML protocolado.

Pré-visualização Fiscal no Rascunho (Simulador em Tempo Real)

Ao chamar POST /v1/nfe (sem transmitir: true), a resposta 201 Created devolve a memória tributária completa da nota: o array itens com os impostos calculados (impostos.icms, pis, cofins), o CFOP resolvido pela inteligência fiscal, o objeto consolidado totais e o objeto perfil_fiscal identificando qual perfil foi aplicado (ou perfil_fiscal: null com origem_fiscal: "impostos_manual" caso você já tenha enviado tributos próprios).

Emissão Direta em 1 Passo (transmitir: true)

Se o seu sistema deseja criar e transmitir a NF-e imediatamente em uma única chamada de API (ideal para checkouts, bots e e-commerces), basta enviar "transmitir": true no corpo do POST /v1/nfe. A NFER salvará os dados e colocará o documento na fila de transmissão para a SEFAZ de imediato, dispensando a chamada adicional do Passo 2.

Estrutura do Payload

O payload de criação organiza-se em blocos lógicos. A SEFAZ valida a presença condicional de cada grupo conforme o tipo de operação:

BlocoCampoPropósito e Conteúdo
Transmissão DiretatransmitirBoolean (opcional, padrão false). Quando true, a NF-e é criada e enviada diretamente para a fila de transmissão assíncrona da SEFAZ em 1 único passo, retornando status "processando" e jobId.
Consumidor FinalconsumidorFinalBoolean (true/false). Define se a operação é para consumidor final (uso e consumo / pessoa física / B2C) ou revenda (B2B). Obrigatório quando a requisição não inclui o bloco de impostos nos itens, garantindo a definição exata de ICMS-ST, alíquotas e partilha de DIFAL.
DestinatáriodestinatarioDados do comprador (CPF/CNPJ, Razão Social, IE, e-mail e endereço completo). Para clientes recorrentes, pode-se informar destinatarioId.
Itens da Notaitens[]Array com os produtos comercializados: descrição, NCM, CFOP, quantidade, valor unitário e grupo impostos (ou fiscalProfileId / tipoItem).
Pagamentospagamentos[]Meios de pagamento (01 Dinheiro, 03 Crédito, 04 Débito, 15 Boleto, 17 PIX, 90 Sem Pagamento) com valores e dados de adquirente/TEF opcionais.
Transporte & FretetransporteModalidade do frete (modFrete: 0 CIF, 1 FOB, 9 Sem Ocorrência), dados da transportadora parceira, volumes e placas de veículo.
Veículo de Cargatransporte.veiculoIdentificação do caminhão/veículo transportador (tag <veicTransp>): placa (ex.: "ABC1D23"), UF e RNTC (ANTT). Exigência dos postos fiscais de fronteira estadual em operações rodoviárias e frete FOB/próprio.
Cobrança & DuplicatascobrancaGestão de faturamento a prazo (tag <cobr>): fatura (numero, valorOriginal, valorDesconto, valorLiquido) e parcelas duplicatas[] (numero, vencimento AAAA-MM-DD e valor). Imprime automaticamente o quadro de Duplicatas no DANFE.
Inscrição SUFRAMAdestinatario.suframaNúmero de inscrição na SUFRAMA (tag <ISUF>, 8 a 9 dígitos). Indispensável para operações com desoneração tributária e incentivos fiscais na Zona Franca de Manaus (ZFM) e Áreas de Livre Comércio (ALC).
Entrega & RetiradalocalEntrega / localRetiradaEndereço físico de entrega (tag <entrega>) ou retirada (tag <retirada>) quando diferente do domicílio fiscal do destinatário ou emitente (ex.: entrega em canteiro de obras, centro de distribuição ou filiais).
IntermediadorintermediadorObrigatório para e-commerce em marketplaces terceiros (indPres: 2 / NT 2020.006): CNPJ da plataforma e identificador de cadastro.
Autorizados XMLautXml[]Lista de até 10 CPFs ou CNPJs (contador, transportadora, marketplace) legalmente autorizados a baixar o XML diretamente na SEFAZ.
Reforma TributáriareformaTributariaTributação do IVA Dual nos itens: cClassTrib, CST de IBS/CBS, alíquotas estadual/municipal e Imposto Seletivo conf. NT 2025.002.
Regime & PIS/COFINSregime_irpj_csll / regime_pis_cofinsSobreposição do regime tributário do emitente CRT 3: regime_irpj_csll ("LUCRO_REAL", "LUCRO_PRESUMIDO", "LUCRO_ARBITRADO") e regime_pis_cofins ("NON_CUMULATIVE" para PIS 1,65%/COFINS 7,60% ou "CUMULATIVE" para 0,65%/3,00%). Se omitido, herda do cadastro da empresa.
Receita Bruta (RBT12)rbt12Receita Bruta Acumulada nos últimos 12 meses (R$) para emitentes do Simples Nacional (CRT 1). Permite apurar a alíquota exata de aproveitamento de crédito de ICMS (pCredSN / CST 101/201) e transparência da carga tributária.

Operações Relacionadas

Além da criação de rascunho, a API expõe endpoints dedicados para todo o ciclo de vida da NF-e. Consulte os detalhes e teste as chamadas na Referência da API:

OperaçãoMétodo e RotaReferência Técnica
Criar NF-e (Direta ou Rascunho)POST /v1/nfeVer Parâmetros & Presets →
Transmitir à SEFAZPOST /v1/nfe/:id/sendVer Envio Assíncrono →
Consultar Nota (Status & Dados)GET /v1/nfe/:idVer Retorno Completo →
Baixar DANFE (PDF A4)GET /v1/nfe/:id/danfeVer Download do PDF →
Baixar XML ProtocoladoGET /v1/nfe/:id/xmlVer Download do XML →
Cancelar Nota FiscalPOST /v1/nfe/:id/cancelVer Regras de Cancelamento →
Carta de Correção (CC-e)POST /v1/nfe/:id/correction-letterVer Emissão de CC-e →
Devolução de MercadoriaPOST /v1/nfe/:id/devolucaoVer Rascunho de Devolução →

Próximos Passos