Skip to main content

Emissão de NF-e e NFC-e

Emitir uma nota fiscal não precisa ser complicado! Na plataforma Emitix, organizamos a emissão em um assistente (wizard) de 9 passos simples. Cada etapa agrupa um tipo de informação, tornando o processo mais intuitivo e à prova de erros.

tip

Não se preocupe em perder os dados!​

O sistema salva automaticamente cada etapa no seu navegador. Se a energia cair ou você fechar a aba sem querer, basta voltar à tela de emissão e continuar de onde parou.

Para começar, acesse o menu lateral, clique em Módulos Fiscais e depois em Emissão de NF-e.


1. Emitente: Quem está vendendo?​

Etapa 1 - Emitente

A primeira etapa serve para identificar a sua empresa (ou quem está emitindo a nota).

Como a plataforma atende múltiplos perfis (Software House, Escritório e Multiempresas), você verá um campo de busca no topo da tela.

  • Atalho rápido: Basta selecionar a empresa ou cliente desejado na lista, e o sistema preencherá todos os dados automaticamente para você (CNPJ, Razão Social, Inscrição Estadual e Endereço).

2. Certificado Digital: A sua assinatura​

Etapa 2 - Certificado

Para a nota ter validade, ela precisa ser "assinada" digitalmente. É aqui que entra o Certificado Digital A1.

  • Já tem um certificado cadastrado? O sistema vai te avisar, e você pode pular direto para a próxima etapa!
  • Primeiro acesso? Faça o upload do seu arquivo de certificado (com extensão .pfx ou .p12) e digite a senha.
info

Atenção à validade​

O certificado digital precisa estar dentro do prazo de validade e pertencer ao mesmo CNPJ ou CPF informado na Etapa 1.


3. Identificação: Sobre o que é esta nota?​

Etapa 3 - Identificação

Aqui você vai configurar os detalhes operacionais do documento. Não se assuste com os termos, separamos o que é mais importante:

Dados Principais​

  • Modelo do Documento: Escolha 55 para NF-e (Nota de Produto tradicional) ou 65 para NFC-e (Nota de Consumidor, aquela de balcão).
  • Natureza da Operação: Um resumo do que está acontecendo (Ex: "Venda de Mercadorias" ou "Devolução de Compra").

Onde a operação acontece?​

  • Tipo de Documento: É uma Saída (venda, remessa) ou Entrada (uma devolução que seu cliente fez para você)?
  • Destino: A operação é dentro do seu estado (Interna), para outro estado (Interestadual) ou para fora do país (Exterior)?
tip

Diferença de Impressão (DANFE)​

Se você escolher NFC-e (65), a impressão final será em formato de cupom. Se escolher NF-e (55), será impresso no formato tradicional de folha A4 (retrato).

Teste ou Valendo? (Ambiente)​

  • Homologação: Use para testar! Notas emitidas aqui não têm validade fiscal (são de mentirinha).
  • Produção: Use quando for valendo! A nota vai para a SEFAZ e tem validade jurídica e fiscal.

4. Destinatário: Para quem é a nota?​

Etapa 4 - Destinatário

Esta é a etapa para informar os dados do seu cliente.

Atalho rápido: Use a barra de busca para encontrar clientes já cadastrados. Ao selecionar um, tudo é preenchido como mágica!

Se for um cliente novo, preencha manualmente:

  • Documento: CNPJ ou CPF.
  • Indicador de Inscrição Estadual (IE): Seu cliente paga ICMS?
    • Contribuinte ICMS: Obrigatório preencher o número da IE dele.
    • Não Contribuinte / Isento: Geralmente usado para pessoas físicas ou empresas sem IE.
  • Endereço Completo: Obrigatório para notas normais (NF-e).
info

Venda para o Exterior?​

Se for uma exportação, o sistema automaticamente ajusta a UF para EX e o município para EXTERIOR.


5. Produtos e Serviços: O que estamos vendendo?​

Etapa 5 - Produtos

Toda nota precisa de pelo menos um produto ou serviço.

Você pode pesquisar itens que já estão no seu Catálogo (o que traz todas as informações fiscais já prontas) ou clicar em Adicionar Item para cadastrar na hora.

Entendendo os campos fiscais do Produto:

  • NCM: Código numérico de 8 dígitos que diz para o governo o que exatamente é o produto.
  • CFOP: O código que diz o que você está fazendo com o produto (ex: vendendo dentro do estado, devolvendo, doando).
  • Unidade Comercial: Como você vende? Unidade (UN), Quilo (KG), Caixa (CX)?
  • Tributação (ICMS, PIS, COFINS): São os impostos que incidem sobre o item. Se você usa o Simples Nacional, geralmente utilizará os códigos de CSOSN.

Dica: Você pode editar, duplicar ou remover os itens da lista a qualquer momento.


6. Transporte: Como a mercadoria vai chegar?​

Etapa 6 - Transporte

Vai enviar o produto por transportadora ou Correios? É aqui que você informa os detalhes do frete.

A única obrigatoriedade aqui é definir quem paga o frete na Modalidade do Frete:

  • 0 - Emitente: Você paga o frete (já está no preço).
  • 1 - Destinatário: Seu cliente paga o frete.
  • 9 - Sem transporte: O cliente levou o produto na hora ou não tem transporte físico.

Dependendo do que você escolher, o sistema libera campos para adicionar dados da Transportadora, do Veículo (placa) e dos Volumes (quantas caixas, peso, etc).


7. Totais: O Resumo Financeiro​

Etapa 7 - Totais

Aqui não tem o que preencher, é só para você conferir. O Emitix faz todas as contas para você.

Você verá os somatórios de todos os produtos, descontos, fretes e impostos. O campo mais importante é o vNF (Valor total da nota fiscal), que fica destacado em azul.

:::info O total segue para o Pagamento O valor calculado nesta etapa é o que a etapa seguinte (Pagamento) usa como referência. Por isso, confira os totais antes de avançar. :::

Dica: Se você voltar nas etapas anteriores e mudar um produto ou frete, os totais podem parecer desatualizados. É só clicar no botão Recalcular Totais para deixar tudo certinho.


8. Pagamento: Como você vai receber?​

Etapa 8 - Pagamento

Chegou a hora boa! Como o cliente pagou ou vai pagar por essa nota? É obrigatório adicionar pelo menos uma forma de pagamento.

O Emitix mostra o valor total da nota (calculado na etapa de Totais) e já o sugere como valor do pagamento. Se a soma dos pagamentos ficar acima ou abaixo do total, o sistema exibe a diferença e não deixa avançar até você ajustar os valores (nas notas de devolução essa conferência não é exigida). Quando o cliente paga mais do que o total, o troco é calculado automaticamente.

  • À Vista: Informe se foi Dinheiro, PIX, Cartão (Débito/Crédito). Se for cartão, o sistema pedirá dados como a Bandeira.
  • A Prazo (Parcelado): Se a venda for parcelada, informe a quantidade de parcelas e os intervalos (ex: 30, 60, 90 dias). O sistema vai gerar automaticamente as Duplicatas na seção de Cobrança, dividindo o valor total da nota, com os valores e datas de vencimento certinhos!

9. Revisão e Envio: Hora da verdade!​

Etapa 9 - Revisão

Último passo! Aqui você tem uma visão completa de tudo o que foi preenchido.

O sistema é seu amigo (Validação)​

Antes de enviar, nós verificamos tudo. Se você esqueceu de preencher algo obrigatório, o sistema vai mostrar uma lista de pendências. Basta clicar no botão "Ir para a etapa..." e nós te levaremos exatamente para o campo que precisa de ajuste.

Emitindo!​

Tudo certo? Clique no botão Emitir Nota Fiscal. O Emitix vai conversar com a SEFAZ e te retornar o resultado em poucos segundos:

  • ✅ Autorizada: Sucesso! A nota foi validada. Você já pode baixar o PDF (DANFE) e o XML.
  • ❌ Rejeitada: A SEFAZ encontrou alguma regra fiscal fora do padrão e negou a nota. O motivo aparecerá na tela. Não se desespere! É só corrigir o que eles pediram e tentar de novo.
  • ⚠️ Erro: Geralmente acontece se a internet oscilar ou o sistema da SEFAZ estiver fora do ar.
danger

Alerta de Responsabilidade​

Se você estiver no ambiente de Produção, ao clicar em Emitir, o documento terá valor fiscal perante o governo. Revise sempre com atenção!


Emissão via API enviando o XML​

O wizard acima é o caminho para quem emite pela interface. Se você integra um ERP ou sistema próprio que já gera o XML da nota, não precisa desmontá-lo para montar o JSON do Emitix: as rotas POST /nfe/emitir e POST /nfce/emitir aceitam o XML direto, no campo xml.

O Emitix lê os dados do XML, segue o mesmo fluxo da emissão em JSON (identificação do emitente, regras de negócio, cota de emissão), assina a nota com o certificado do emitente e transmite para a SEFAZ. O retorno é exatamente o mesmo da emissão em JSON.

info

Referência completa dos endpoints​

Headers, resposta detalhada e demais rotas estão na documentação da API: Emissão de NF-e e Emissão de NFC-e.

nfe ou xml: escolha um​

O corpo da requisição aceita um dos dois campos para a nota, nunca os dois e nunca nenhum:

CampoTipoObrigatórioDescrição
nfearray✅ (se não enviar xml)A nota no formato JSON do Emitix.
xmlstring✅ (se não enviar nfe)O XML completo da nota, como texto.
indSincstring✅"1" para emissão síncrona ou "0" para assíncrona. Na NFC-e só "1" é aceito.
certificatestring⚙️ OpcionalCertificado A1 em Base64. Se não for enviado, usa o certificado cadastrado no emitente.
pass_certificatestring⚙️ OpcionalSenha do certificado A1.

Formatos de XML aceitos​

Você não precisa ajustar o XML que o seu sistema já gera. O Emitix reconhece a nota em qualquer um destes formatos:

Raiz do XMLQuando usar
<NFe>O XML padrão da nota (o mais comum).
<enviNFe>Envelope de lote, com uma ou mais <NFe> dentro (somente NF-e).
<nfeProc> ou <procNFe>XML já processado, com protocolo de autorização.
<infNFe>Apenas o nó com os dados da nota, sem o envelope <NFe>.

Namespaces (xmlns) e prefixos como nfe: são aceitos. A nota precisa ter, no mínimo, os grupos ide, emit e det (itens).

note

O XML é lido, não reenviado​

O Emitix converte os dados do XML para o seu modelo interno e gera e assina um novo XML com o certificado do emitente. Por isso a assinatura (<Signature>) e os atributos Id e versao do XML enviado são descartados. Todos os valores são lidos como texto, então zeros à esquerda de CNPJ, CEP, CST e CFOP são preservados.

caution

Exemplos ilustrativos​

Os XMLs abaixo são resumidos, usam dados fictícios e o ambiente de homologação (tpAmb = 2). Os grupos de tributos exigidos variam conforme o regime do emitente e as regras fiscais vigentes, então valide o seu XML em homologação antes de emitir em produção.

Exemplo: NF-e (modelo 55)​

Corpo da requisição. O XML vai como uma string única (aspas escapadas):

{
"xml": "<NFe xmlns=\"http://www.portalfiscal.inf.br/nfe\"><infNFe versao=\"4.00\">...</infNFe></NFe>",
"indSinc": "1"
}

Como o XML fica ilegível com tantas aspas escapadas, o mais prático é manter a nota em um arquivo (nota.xml) e deixar o jq montar o corpo:

<?xml version="1.0" encoding="UTF-8"?>
<NFe xmlns="http://www.portalfiscal.inf.br/nfe">
<infNFe versao="4.00">
<ide>
<cUF>35</cUF>
<natOp>VENDA DE MERCADORIA</natOp>
<mod>55</mod>
<serie>1</serie>
<nNF>123</nNF>
<dhEmi>2026-10-23T10:00:00-03:00</dhEmi>
<tpNF>1</tpNF>
<idDest>1</idDest>
<cMunFG>3550308</cMunFG>
<tpImp>1</tpImp>
<tpEmis>1</tpEmis>
<tpAmb>2</tpAmb>
<finNFe>1</finNFe>
<indFinal>0</indFinal>
<indPres>1</indPres>
<procEmi>0</procEmi>
<verProc>1.0</verProc>
</ide>
<emit>
<CNPJ>01234567000189</CNPJ>
<xNome>EMITENTE TESTE LTDA</xNome>
<enderEmit>
<xLgr>RUA DAS FLORES</xLgr>
<nro>100</nro>
<xBairro>CENTRO</xBairro>
<cMun>3550308</cMun>
<xMun>SAO PAULO</xMun>
<UF>SP</UF>
<CEP>01001000</CEP>
<cPais>1058</cPais>
<xPais>Brasil</xPais>
</enderEmit>
<IE>123456789012</IE>
<CRT>3</CRT>
</emit>
<dest>
<CNPJ>98765432000198</CNPJ>
<xNome>DESTINATARIO TESTE LTDA</xNome>
<enderDest>
<xLgr>AV BRASIL</xLgr>
<nro>500</nro>
<xBairro>JARDINS</xBairro>
<cMun>3550308</cMun>
<xMun>SAO PAULO</xMun>
<UF>SP</UF>
<CEP>01401000</CEP>
</enderDest>
<indIEDest>1</indIEDest>
<IE>987654321098</IE>
</dest>
<det nItem="1">
<prod>
<cProd>PROD001</cProd>
<cEAN>SEM GTIN</cEAN>
<xProd>PRODUTO TESTE 1</xProd>
<NCM>01012100</NCM>
<CFOP>5102</CFOP>
<uCom>UN</uCom>
<qCom>1.0000</qCom>
<vUnCom>100.00</vUnCom>
<vProd>100.00</vProd>
<cEANTrib>SEM GTIN</cEANTrib>
<uTrib>UN</uTrib>
<qTrib>1.0000</qTrib>
<vUnTrib>100.00</vUnTrib>
<indTot>1</indTot>
</prod>
<imposto>
<ICMS>
<ICMS00>
<orig>0</orig>
<CST>00</CST>
<modBC>3</modBC>
<vBC>100.00</vBC>
<pICMS>18.00</pICMS>
<vICMS>18.00</vICMS>
</ICMS00>
</ICMS>
<PIS>
<PISAliq>
<CST>01</CST>
<vBC>100.00</vBC>
<pPIS>1.65</pPIS>
<vPIS>1.65</vPIS>
</PISAliq>
</PIS>
<COFINS>
<COFINSAliq>
<CST>01</CST>
<vBC>100.00</vBC>
<pCOFINS>7.60</pCOFINS>
<vCOFINS>7.60</vCOFINS>
</COFINSAliq>
</COFINS>
</imposto>
</det>
<total>
<ICMSTot>
<vBC>100.00</vBC>
<vICMS>18.00</vICMS>
<vICMSDeson>0.00</vICMSDeson>
<vFCP>0.00</vFCP>
<vBCST>0.00</vBCST>
<vST>0.00</vST>
<vFCPST>0.00</vFCPST>
<vFCPSTRet>0.00</vFCPSTRet>
<vProd>100.00</vProd>
<vFrete>0.00</vFrete>
<vSeg>0.00</vSeg>
<vDesc>0.00</vDesc>
<vII>0.00</vII>
<vIPI>0.00</vIPI>
<vIPIDevol>0.00</vIPIDevol>
<vPIS>1.65</vPIS>
<vCOFINS>7.60</vCOFINS>
<vOutro>0.00</vOutro>
<vNF>100.00</vNF>
</ICMSTot>
</total>
<transp>
<modFrete>9</modFrete>
</transp>
<pag>
<detPag>
<tPag>01</tPag>
<vPag>100.00</vPag>
</detPag>
</pag>
</infNFe>
</NFe>
curl -X POST https://api.emitix.com.br/nfe/emitir \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SEU_TOKEN_AQUI" \
-H "api-key: SUA_API_KEY_AQUI" \
-d "$(jq -n --rawfile xml nota.xml '{xml: $xml, indSinc: "1"}')"

Para enviar um lote, use a raiz <enviNFe> com várias notas dentro. O Emitix processa cada nota e devolve uma resposta por nota, na mesma ordem.

<enviNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="4.00">
<NFe><infNFe versao="4.00">...</infNFe></NFe>
<NFe><infNFe versao="4.00">...</infNFe></NFe>
</enviNFe>

Exemplo: NFC-e (modelo 65)​

A NFC-e usa a mesma estrutura <NFe> da NF-e. As diferenças ficam na identificação (mod = 65, tpImp = 4, indFinal = 1) e no destinatário, que é opcional. A rota é POST /nfce/emitir, aceita uma única NFC-e por requisição e exige indSinc = "1".

<?xml version="1.0" encoding="UTF-8"?>
<NFe xmlns="http://www.portalfiscal.inf.br/nfe">
<infNFe versao="4.00">
<ide>
<cUF>35</cUF>
<natOp>VENDA AO CONSUMIDOR</natOp>
<mod>65</mod>
<serie>1</serie>
<nNF>456</nNF>
<dhEmi>2026-10-23T10:00:00-03:00</dhEmi>
<tpNF>1</tpNF>
<idDest>1</idDest>
<cMunFG>3550308</cMunFG>
<tpImp>4</tpImp>
<tpEmis>1</tpEmis>
<tpAmb>2</tpAmb>
<finNFe>1</finNFe>
<indFinal>1</indFinal>
<indPres>1</indPres>
<procEmi>0</procEmi>
<verProc>1.0</verProc>
</ide>
<emit>
<CNPJ>01234567000189</CNPJ>
<xNome>EMITENTE TESTE LTDA</xNome>
<enderEmit>
<xLgr>RUA DAS FLORES</xLgr>
<nro>100</nro>
<xBairro>CENTRO</xBairro>
<cMun>3550308</cMun>
<xMun>SAO PAULO</xMun>
<UF>SP</UF>
<CEP>01001000</CEP>
<cPais>1058</cPais>
<xPais>Brasil</xPais>
</enderEmit>
<IE>123456789012</IE>
<CRT>1</CRT>
</emit>
<det nItem="1">
<prod>
<cProd>PROD001</cProd>
<cEAN>SEM GTIN</cEAN>
<xProd>PRODUTO TESTE 1</xProd>
<NCM>01012100</NCM>
<CFOP>5102</CFOP>
<uCom>UN</uCom>
<qCom>1.0000</qCom>
<vUnCom>25.00</vUnCom>
<vProd>25.00</vProd>
<cEANTrib>SEM GTIN</cEANTrib>
<uTrib>UN</uTrib>
<qTrib>1.0000</qTrib>
<vUnTrib>25.00</vUnTrib>
<indTot>1</indTot>
</prod>
<imposto>
<ICMS>
<ICMSSN102>
<orig>0</orig>
<CSOSN>102</CSOSN>
</ICMSSN102>
</ICMS>
<PIS>
<PISNT>
<CST>07</CST>
</PISNT>
</PIS>
<COFINS>
<COFINSNT>
<CST>07</CST>
</COFINSNT>
</COFINS>
</imposto>
</det>
<total>
<ICMSTot>
<vBC>0.00</vBC>
<vICMS>0.00</vICMS>
<vICMSDeson>0.00</vICMSDeson>
<vFCP>0.00</vFCP>
<vBCST>0.00</vBCST>
<vST>0.00</vST>
<vFCPST>0.00</vFCPST>
<vFCPSTRet>0.00</vFCPSTRet>
<vProd>25.00</vProd>
<vFrete>0.00</vFrete>
<vSeg>0.00</vSeg>
<vDesc>0.00</vDesc>
<vII>0.00</vII>
<vIPI>0.00</vIPI>
<vIPIDevol>0.00</vIPIDevol>
<vPIS>0.00</vPIS>
<vCOFINS>0.00</vCOFINS>
<vOutro>0.00</vOutro>
<vNF>25.00</vNF>
</ICMSTot>
</total>
<transp>
<modFrete>9</modFrete>
</transp>
<pag>
<detPag>
<tPag>01</tPag>
<vPag>25.00</vPag>
</detPag>
</pag>
</infNFe>
</NFe>
curl -X POST https://api.emitix.com.br/nfce/emitir \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SEU_TOKEN_AQUI" \
-H "api-key: SUA_API_KEY_AQUI" \
-d "$(jq -n --rawfile xml nfce.xml '{xml: $xml, indSinc: "1"}')"

Regras e erros comuns​

Todos os erros abaixo voltam como 400 Bad Request.

MensagemO que aconteceuComo resolver
Não é permitido informar os campos 'nfe' e 'xml' simultaneamente.A requisição trouxe os dois campos.Envie apenas um deles.
É obrigatório informar o campo 'nfe' ou 'xml'.Nenhum dos dois foi enviado.Envie nfe (JSON) ou xml.
XML não pode ser vazio.O campo xml chegou em branco.Confira se o arquivo foi lido antes de montar o corpo.
XML inválido ou malformado: ...O XML tem erro de sintaxe (tag aberta e não fechada, por exemplo).Valide o XML em um editor ou validador antes de enviar.
XML inválido: não foi possível identificar a tag infNFe.Nenhum dos formatos aceitos foi encontrado.Use uma das raízes da tabela de formatos aceitos.
XML inválido: tags obrigatórias "ide" ou "emit" não encontradas na nota N.A nota de posição N não tem identificação ou emitente.Inclua os grupos ide e emit.
XML inválido: tag "det" (itens) não encontrada na nota N.A nota de posição N não tem itens.Inclua ao menos um det.
Apenas NF-e podem ser enviadas para esta rota.O mod do XML não é 55 em /nfe/emitir.Para NFC-e (65) use /nfce/emitir.
Apenas NFC-e podem ser enviadas para esta rota.O mod do XML não é 65 em /nfce/emitir.Para NF-e (55) use /nfe/emitir.
Apenas uma NFC-e pode ser enviada por requisição.O XML trouxe mais de uma nota em /nfce/emitir.Envie uma NFC-e por requisição.
Apenas o modo síncrono (indSinc = "1") é suportado na emissão de NFC-e.indSinc diferente de "1" na NFC-e.Use indSinc = "1".
tip

Qual emitente será usado?​

O emitente é identificado pelo CNPJ da tag emit do XML, a mesma regra da emissão em JSON. O certificado cadastrado nesse emitente é usado automaticamente, a menos que você envie certificate e pass_certificate na requisição.