Pular para o conteúdo principal

Como emitir NF-e por finalidade (purposeType)

Este guia mostra o payload completo para emitir NF-e em cada uma das 6 finalidades de emissão. Todas usam o mesmo endpoint:

POST /v2/companies/{companyId}/productinvoices

Para o contrato técnico completo de cada valor (campos, validações, códigos de erro), veja Finalidade de emissão da NF-e (purposeType). Para entender quando usar cada finalidade, veja Quando usar cada finalidade de emissão da NF-e.

Emissão normal​

Use para qualquer venda ou operação que não precise referenciar um documento fiscal anterior.

POST .../productinvoices — purposeType Normal
{
"purposeType": "Normal",
"operationType": "Outgoing",
"operationNature": "Venda de mercadoria",
"items": [
{
"code": "P001",
"description": "Produto exemplo",
"ncm": "61091000",
"cfop": "5102",
"unit": "UN",
"quantity": 1,
"unitAmount": 100.00
}
]
}

Checklist: nenhum campo adicional além dos exigidos em qualquer emissão.

Nota complementar​

Use quando uma NF-e já autorizada ficou com valor ou informação faltando (ex.: diferença de preço, ajuste de imposto) e você precisa complementá-la — sem cancelar a original.

POST .../productinvoices — purposeType Complement
{
"purposeType": "Complement",
"operationType": "Outgoing",
"operationNature": "Complemento de ICMS",
"additionalInformation": {
"taxDocumentsReference": [
{
"documentElectronicInvoice": {
"accessKey": "3126064211841000018155001000000566189287266"
}
}
]
},
"items": [
{
"code": "P001",
"description": "Complemento de valor de ICMS",
"cfop": "5102",
"unit": "UN",
"quantity": 1,
"unitAmount": 10.00
}
]
}

Checklist:

  • additionalInformation.taxDocumentsReference[].documentElectronicInvoice.accessKey com a chave de 44 dígitos da NF-e original — referência no cabeçalho, não por item.

Nota de ajuste​

Use para ajustes que a legislação estadual prevê fora do fluxo normal de venda. Não identificamos, até o momento, exigência de referência a documento original para esta finalidade — confirme com o suporte antes de depender disso em produção.

POST .../productinvoices — purposeType Adjustment
{
"purposeType": "Adjustment",
"operationType": "Outgoing",
"operationNature": "Ajuste de estoque",
"items": [
{
"code": "P001",
"description": "Ajuste",
"cfop": "5949",
"unit": "UN",
"quantity": 1,
"unitAmount": 0.01
}
]
}

Checklist: nenhuma exigência adicional confirmada.

Nota de devolução​

Use quando o cliente devolve mercadoria recebida em uma NF-e anterior. Diferente da nota complementar, a referência à NF-e original é por item, não no cabeçalho — e passou a ser obrigatória desde a NT 2025.002-RTC.

POST .../productinvoices — purposeType Devolution
{
"purposeType": "Devolution",
"operationType": "Incoming",
"operationNature": "Devolução de mercadoria",
"items": [
{
"code": "P001",
"description": "Produto devolvido",
"cfop": "5202",
"unit": "UN",
"quantity": 1,
"unitAmount": 100.00,
"referencedDFe": {
"accessKey": "3126064211841000018155001000000566189287266",
"itemNumber": 1
},
"tax": {
"ipiDevol": {
"percentage": 100,
"amount": 18.25
}
}
}
]
}

Checklist:

  • items[*].referencedDFe.accessKey + items[*].referencedDFe.itemNumber em cada item devolvido — obrigatório em homologação desde 01/09/2026 e em produção desde 05/10/2026.
  • items[*].tax.ipiDevol apenas se houver IPI a devolver — não é obrigatório em toda devolução.
  • CFOP: não há CFOP único obrigatório imposto pela API. A escolha segue a tabela de CFOP vigente para devolução (ex.: 5202/6202 para devolução de compra para comercialização, 5411/6411 para devolução de compra para industrialização, 7202 para devolução em operação com o exterior) — confira com a sua área fiscal qual se aplica à operação. Veja mais em Quando usar cada finalidade de emissão da NF-e.
Não referencie pelo cabeçalho

Para devolução, não envie additionalInformation.taxDocumentsReference — a referência por cabeçalho é proibida nessa finalidade. Use apenas items[].referencedDFe.

Veja o contrato completo em Devolução de NF-e por item — NT 2025.002-RTC.

Nota de Crédito e Nota de Débito​

São NF-e autônomas com numeração própria — não eventos sobre a nota original. Exigem um subtipo (creditType ou debitType) que qualifica o cenário, e a NFE.io não recalcula os tributos: o valor informado é o que vai para o XML.

POST .../productinvoices — purposeType CreditInvoice
{
"purposeType": "CreditInvoice",
"creditType": "RefusedDeliveryTotalOrNotFound",
"operationType": "Incoming",
"operationNature": "Retorno por recusa de mercadoria",
"additionalInformation": {
"taxDocumentsReference": [
{ "documentElectronicInvoice": { "accessKey": "31260642118410000181550010000005661892872660" } }
]
}
}

Checklist:

  • creditType (para CreditInvoice) ou debitType (para DebitInvoice) sempre presente — a API recusa a emissão sem o subtipo.
  • Referência à NF-e original no formato exigido pelo subtipo (cabeçalho ou por item, dependendo do cenário).

Veja o contrato completo (todos os subtipos, payload de cada um, erros de validação) em Notas de Crédito e Notas de Débito.

Veja também​

NFE.io

A NFE.io é uma empresa de tecnologia que fornece soluções para automatizar e simplificar a emissão e gestão de notas fiscais eletrônicas. Com suas ferramentas, as empresas podem economizar tempo e reduzir erros, aumentando a eficiência e precisão do processo de emissão de notas fiscais.

Um dos principais cases de sucesso da NFE.io é a implementação da solução na empresa de transporte Rodonaves. Com a automatização da emissão e gestão de notas fiscais eletrônicas, a Rodonaves conseguiu reduzir em até 80% o tempo gasto nesse processo, o que se traduziu em uma significativa melhoria na eficiência operacional. Além disso, a empresa também conseguiu eliminar erros e atrasos na emissão de notas fiscais, o que melhorou a relação com seus clientes e aumentou a confiança dos órgãos fiscais.

Outro exemplo é a implementação da NFE.io na empresa de comércio eletrônico, a Loja Integrada. Com a automatização da emissão de notas fiscais, a Loja Integrada conseguiu aumentar a velocidade de emissão de notas em até 10 vezes, o que permitiu que a empresa atendesse a uma maior quantidade de clientes e, consequentemente, aumentar as suas vendas.

Além desses exemplos, a NFE.io também tem outros cases de sucesso com empresas de setores como indústria, construção, varejo e serviços, mostrando a versatilidade e eficácia da sua solução.

Em resumo, a NFE.io é uma empresa de tecnologia que oferece soluções para automatizar e simplificar a emissão e gestão de notas fiscais eletrônicas, ajudando as empresas a economizar tempo e reduzir erros, melhorando a eficiência e precisão do processo. Com cases de sucesso em diferentes setores, a NFE.io tem se destacado como uma empresa líder em automação fiscal.