Pular para o conteúdo principal

Notas de Crédito e Notas de Débito

A Reforma Tributária do Consumo criou dois novos tipos de nota fiscal de produto: a Nota de Crédito e a Nota de Débito. Ambas são NF-e (modelo 55) autônomas — têm numeração própria, são transmitidas à SEFAZ e recebem autorização ou rejeição como qualquer outra NF-e. Não são eventos de uma nota existente.

info
  • Se você está procurando por perguntas e respostas rápidas sobre a Reforma Tributária, visite nossa página de Perguntas e Respostas sobre a Reforma Tributária. Lá, reunimos as dúvidas mais comuns e suas respostas de forma clara e objetiva, resolução de problemas comuns e orientações práticas.
  • Se você quer uma visão geral rápida, com um plano de ação por perfil (gestores, fiscal/contábil, desenvolvedores e operação/faturamento), recomendamos começar pela página Visão geral da Reforma Tributária na NFE.io

Estrutura

DocumentoServe paraVocê identifica com
Nota de CréditoRegistrar um crédito fiscal — o caso principal é a recusa de mercadoria na entregapurposeType = "CreditInvoice" + creditType
Nota de DébitoRegistrar um débito fiscal em situações específicas previstas em leipurposeType = "DebitInvoice" + debitType

Você emite pelo mesmo endpoint de qualquer NF-e: POST /v2/companies/{companyId}/productinvoices. Muda apenas o purposeType e alguns campos específicos. Os campos novos são opcionais — quem não emite esses documentos não precisa mudar nada.

A NFE.io não recalcula os impostos desses documentos. Eles espelham a tributação já apurada na operação original; você envia os valores prontos (ver Como os tributos são tratados).

A finalidade da NF-e (finNFe)

Toda NF-e carrega uma finalidade, no campo finNFe. A Reforma acrescentou duas finalidades às quatro que já existiam:

finNFeFinalidadepurposeType na API
5Nota de CréditoCreditInvoice
6Nota de DébitoDebitInvoice

A Nota de Crédito e a Nota de Débito não substituem a devolução tradicional (Devolution) em todos os casos. Elas cobrem as situações específicas descritas neste guia.

Normas que instituem esses documentos

O Ajuste SINIEF 49/25 (CONFAZ, publicado no DOU de 09/12/2025) institui a Nota de Crédito (finNFe=5, com os subtipos 03 e 06) e a Nota de Débito (finNFe=6). Sua cláusula sexta define vigência a partir de 3 de agosto de 2026.

O Ajuste SINIEF 8/26 (publicado no DOU de 09/04/2026) altera a cláusula do Ajuste 49/25 que trata da recusa total e parcial. Ele acrescenta a exigência de que o destinatário da Nota de Crédito seja o mesmo da NF-e original. Sua cláusula quarta define vigência a partir de 4 de maio de 2026 — uma data diferente da declarada no Ajuste 49/25 para o mesmo dispositivo.

atenção

Os dois ajustes declaram datas de vigência diferentes para a mesma regra (recusa parcial e exigência de destinatário idêntico). Nosso time fiscal está validando qual data prevalece antes de promover a recusa parcial a disponível em produção. Veja o aviso detalhado na seção Recusa parcial (06).

Conceitos

ConceitoO que é
Chave de acessoIdentificador único de uma NF-e, com 44 dígitos.
NF-e originalA nota da operação que deu origem ao crédito ou débito.
Referência à originalComo a nova nota aponta para a NF-e original — no nível da nota ou por item.
tpNFCreditoSubtipo da Nota de Crédito (qual tipo de recusa).
tpNFDebitoSubtipo da Nota de Débito (qual das hipóteses da lei).
Tributação espelhadaOs impostos da nova nota reproduzem os da operação original; você envia os valores prontos.

Existem duas formas de referenciar a NF-e original:

  • No nível da nota — em additionalInformation.taxDocumentsReference[]. É o mesmo caminho usado pela devolução. Vale quando a nota inteira se refere a uma NF-e original.
  • Por item — em items[].referencedDFe (chave mais número do item na original). Usado na recusa parcial, em que cada item recusado aponta para o item correspondente da original.

Campos

CampoTipoObrigatório quandoDescrição
purposeTypeenumSempre (default Normal)Finalidade da NF-e. Novos valores: CreditInvoice, DebitInvoice.
creditTypeenumpurposeType=CreditInvoiceSubtipo da Nota de Crédito.
debitTypeenumpurposeType=DebitInvoiceSubtipo da Nota de Débito.
items[].referencedDFeobjetoRecusa parcial, em todos os itensReferência por item à NF-e original (accessKey + itemNumber).
additionalInformation.taxDocumentsReference[].documentElectronicInvoice.accessKeystring(44)Recusa total ou débito com referênciaChave da NF-e original no nível da nota.
operationNaturestringSempre (não vazio)Natureza da operação, em texto livre.
operationTypeenum (Incoming/Outgoing)SempreEntrada (crédito por recusa) ou saída (débito de transferência).

Valores dos enums

purposeType: Normal · Complement · Adjustment · Devolution · CreditInvoice · DebitInvoice

creditType: RefusedDeliveryTotalOrNotFound (03) · RefusedDeliveryPartial (06)

debitType: TransferCreditsToCooperatives (01) · CancelCreditsExemptImmuneSales (02) · UnprocessedInvoicesDebits (03) · FinesAndInterest (04) · TransferInheritanceCredit (05)

Os valores são enviados exatamente como acima — a API é sensível a maiúsculas e minúsculas.

info

Os subtipos AdvancePayment (06), InventoryLoss (07) e SnDisqualification (08) existem na norma fiscal, mas a API ainda não os suporta: ela rejeita o request com 400 [V-DN-08] porque a emissão ainda não gera o grupo tributário exigido pela SEFAZ para esses casos. Use um subtipo disponível ou fale com o suporte para saber quando serão liberados.

Nota de Crédito por recusa de mercadoria

Use a Nota de Crédito quando a mercadoria foi recusada na entrega, ou quando o destinatário não foi localizado. O tipo de recusa vai no campo creditType.

creditTypetpNFCreditoQuando usarStatus
RefusedDeliveryTotalOrNotFound03Recusa total da entrega, ou destinatário não localizadoDisponível
RefusedDeliveryPartial06Recusa parcial — só parte dos itens foi recusadaPendente de confirmação de data (ver aviso abaixo)

Recusa total (03)

  1. Envie purposeType = "CreditInvoice" e creditType = "RefusedDeliveryTotalOrNotFound".
  2. Envie operationType = "Incoming" — é uma nota de entrada, a mercadoria está voltando.
  3. Informe a chave da NF-e original em additionalInformation.taxDocumentsReference[].
  4. Garanta que o destinatário (buyer) seja o mesmo da NF-e original.
  5. Repita os itens e os tributos já apurados, com os mesmos valores da nota original.
POST /v2/companies/{companyId}/productinvoices
{
"purposeType": "CreditInvoice",
"creditType": "RefusedDeliveryTotalOrNotFound",
"operationType": "Incoming",
"operationNature": "Retorno por recusa de mercadoria",
"buyer": { /* mesmo destinatário da NF-e original */ },
"items": [ { /* itens e tributos espelhando a NF-e original */ } ],
"additionalInformation": {
"taxDocumentsReference": [
{ "documentElectronicInvoice": { "accessKey": "3126...<44 dígitos da NF-e original>" } }
]
}
}

Recusa parcial (06)

atenção

A recusa parcial depende da data de vigência do Ajuste SINIEF 8/26, que altera a mesma cláusula do Ajuste 49/25 com uma data diferente (4 de maio de 2026 contra 3 de agosto de 2026). Nosso time fiscal está confirmando qual data vale antes de promovermos este subtipo a disponível em produção. A API aceita o request hoje, mas trate esta funcionalidade como sob demanda: fale com o suporte antes de usar em produção.

O payload de recusa parcial é igual ao de recusa total, exceto na referência: aqui, cada item recusado carrega sua própria referência em items[].referencedDFe (chave mais itemNumber do item na NF-e original). Todos os itens devem referenciar a mesma NF-e original.

POST /v2/companies/{companyId}/productinvoices
{
"purposeType": "CreditInvoice",
"creditType": "RefusedDeliveryPartial",
"operationType": "Incoming",
"operationNature": "Retorno por recusa parcial de mercadoria",
"buyer": { /* destinatário da NF-e original */ },
"items": [
{
"code": "P001",
"description": "SILAGEM MILHO IN NATURA 30KG",
"referencedDFe": {
"accessKey": "3126...<44 dígitos>",
"itemNumber": 1
}
/* ...tributos já apurados... */
}
]
}

O que a API valida na Nota de Crédito

Se algo estiver incoerente, a API responde 400 Bad Request com um código de regra na mensagem:

Código no erroO que significa e como resolver
[V-CN-01]Faltou creditType, ou ele foi enviado sem purposeType=CreditInvoice. Envie os dois juntos.
[V-CN-02]Recusa total (03) precisa de exatamente uma referência em taxDocumentsReference com accessKey de 44 dígitos.
[V-CN-03]Recusa parcial (06): todos os itens precisam de referencedDFe com accessKey.
[V-CN-04]Recusa parcial (06): os itens estão referenciando NF-es diferentes. Todos devem apontar para a mesma original.
[V-CN-05]operationType incoerente para o documento.
[V-CN-07]operationNature está vazio.

O que sai no documento

No XML, o documento carrega finNFe = 5, tpNFCredito = 03 ou 06, o destinatário replicando o da nota original, e a referência — refNFe no nível da nota para o subtipo 03, DFeReferenciado por item para o subtipo 06. No DANFE, o cabeçalho identifica o documento como Nota de Crédito e mostra a chave ou as chaves referenciadas.

Nota de Débito

A Nota de Débito é uma NF-e autônoma para registrar um débito fiscal. A situação específica vai no campo debitType, que corresponde ao tpNFDebito (01 a 08) da SEFAZ.

Hipóteses disponíveis hoje

debitTypetpNFDebitoSituaçãoStatus
TransferCreditsToCooperatives01Transferência de créditos para cooperativasDisponível
CancelCreditsExemptImmuneSales02Cancelamento de créditos por vendas isentas ou imunesSob demanda
UnprocessedInvoicesDebits03Débitos de faturas não processadasSob demanda
FinesAndInterest04Multas e jurosSob demanda
TransferInheritanceCredit05Transferência de crédito na sucessãoSob demanda
info

Disponível significa validado e emitido ponta a ponta na SEFAZ — pode usar em produção. Sob demanda significa que a API aceita o request, mas o cenário ainda não foi validado fim a fim na SEFAZ. Fale com o suporte antes de usar uma hipótese sob demanda em produção.

Os subtipos 06 (AdvancePayment), 07 (InventoryLoss) e 08 (SnDisqualification) da norma fiscal ainda não são suportados pela API — ela bloqueia esses requests de propósito, porque a emissão ainda não gera o grupo tributário que a SEFAZ exigiria para autorizar o documento.

Os subtipos 02, 03 e 08 também podem ser emitidos, sob demanda, como Ajuste de Competência (CST 811): o emitente informa, por item, o grupo competenceAdjustment em items[].tax.ibscbs.competenceAdjustment, com os campos competence (formato AAAA-MM, obrigatório), ibsAmount e/ou cbsAmount. A regra [V-DN-09] valida esse preenchimento. Esse caminho também está pendente de validação fim a fim na SEFAZ — fale com o suporte antes de usar em produção.

Como emitir (transferência de créditos para cooperativas)

POST /v2/companies/{companyId}/productinvoices
{
"purposeType": "DebitInvoice",
"debitType": "TransferCreditsToCooperatives",
"operationType": "Outgoing",
"operationNature": "Transferência de créditos para cooperativa",
"items": [ { /* tributos IBS/CBS já apurados */ } ],
"additionalInformation": {
"taxDocumentsReference": [
{ "documentElectronicInvoice": { "accessKey": "<44 dígitos da NF-e original>" } }
]
}
}

O que a API valida na Nota de Débito

Código no erroO que significa e como resolver
[V-DN-01]Faltou debitType, ou ele foi enviado sem purposeType=DebitInvoice.
[V-DN-02]A hipótese exige referência à NF-e original com accessKey válida de 44 dígitos.
[V-DN-05]operationType incoerente para a hipótese.
[V-DN-07]operationNature está vazio.
[V-DN-08]A hipótese escolhida ainda não é suportada. Use uma hipótese disponível ou fale com o suporte.

O que sai no documento

No XML, o documento carrega finNFe = 6 e o tpNFDebito correspondente. A tributação é IBS/CBS — os novos tributos da Reforma. No DANFE, o cabeçalho identifica o documento como Nota de Débito.

Rastreando a NF-e original

Toda Nota de Crédito, e toda Nota de Débito com referência, aponta para a NF-e original que ela referencia. Esse vínculo — da nova nota para a NF-e original — é o que a plataforma mantém e retorna hoje.

  • No nível da notaadditionalInformation.taxDocumentsReference[].documentElectronicInvoice.accessKey: a chave de 44 dígitos da NF-e original, usada na recusa total e no débito com referência.
  • Por itemitems[].referencedDFe (accessKey + itemNumber): referencia o item específico da NF-e original, usado na recusa parcial.

Consultar a referência

Consulte a nota emitida e leia taxDocumentsReference ou referencedDFe na resposta:

GET /v2/companies/{companyId}/productinvoices/{invoiceId}
{
"id": "…id da Nota de Crédito…",
"purposeType": "CreditInvoice",
"creditType": "RefusedDeliveryPartial",
"additionalInformation": {
"taxDocumentsReference": [
{ "documentElectronicInvoice": { "accessKey": "…44 dígitos da NF-e original…" } }
]
},
"items": [
{ "number": 1, "referencedDFe": { "accessKey": "…44 dígitos…", "itemNumber": 1 } },
{ "number": 2, "referencedDFe": { "accessKey": "…44 dígitos…", "itemNumber": 3 } }
]
}
info

Hoje o rastreio é unidirecional — da nota nova para a NF-e original. Não existe endpoint de listagem nem de vínculo manual que, a partir da NF-e original, retorne as Notas de Crédito emitidas contra ela. Chamadas a rotas desse tipo respondem 404. Enquanto esse recurso não é lançado, guarde o id da Nota de Crédito retornado no POST e associe-o à venda do seu lado.

Como os tributos são tratados

A NFE.io não recalcula os impostos da Nota de Crédito nem da Nota de Débito. Esses documentos espelham a operação original: você envia os valores de tributos já apurados no payload, exatamente como estavam — ou deveriam estar — na NF-e original.

  • Nota de Crédito por recusa reproduz os tributos da NF-e recusada (ICMS destacado, IBS/CBS etc.), sem novo cálculo.
  • Nota de Débito usa a tributação IBS/CBS. Na transferência de créditos para cooperativas, o valor transferido vai no grupo próprio de transferência de crédito.

Se você integra com o motor de cálculo automático da NFE.io, saiba que ele fica desativado para esses documentos. O que você enviar é o que vai para o XML — garanta que os valores conferem com a operação original antes de transmitir.

Endpoints

MétodoRotaUso
POST/v2/companies/{companyId}/productinvoicesEmite a nota, de Crédito ou Débito.
GET/v2/companies/{companyId}/productinvoices/{invoiceId}Consulta a nota, incluindo a referência à NF-e original.

Erros mais comuns

SintomaCausa provávelSolução
400 [V-CN-01] / 400 [V-DN-01]creditType/debitType ausente, ou usado com purposeType erradoEnvie o subtipo correto junto do purposeType correspondente.
400 [V-CN-02]Chave da NF-e original ausente, ou sem 44 dígitos, na recusa totalInforme uma accessKey válida de 44 dígitos em taxDocumentsReference.
400 [V-CN-03]Item sem referencedDFe na recusa parcialPreencha referencedDFe em todos os itens.
400 [V-CN-04]Itens apontando para NF-es diferentesTodos os itens devem referenciar a mesma NF-e original.
400 [V-DN-08]Hipótese de débito ainda não suportadaUse uma hipótese disponível ou fale com o suporte.
Rejeição da SEFAZ (cStat ≠ 100)Divergência fiscal — tributos, destinatário ou referênciaAjuste o payload conforme a mensagem da SEFAZ e reemita.

Perguntas frequentes

Preciso de um endpoint novo para emitir? Não. É o mesmo POST /productinvoices, mudando o purposeType.

A Nota de Crédito é um evento da NF-e original? Não. É uma NF-e nova, autônoma, com numeração e autorização próprias.

A NFE.io calcula os impostos desses documentos? Não. Você envia os tributos já apurados; eles espelham a operação original.

Como sei quais Notas de Crédito foram emitidas contra uma venda minha? Hoje o rastreio é unidirecional: cada Nota de Crédito guarda a referência à NF-e original. Consulte a nota e leia taxDocumentsReference ou referencedDFe. A listagem inversa, a partir da NF-e original, ainda não está disponível. Enquanto isso, guarde o id da Nota de Crédito associado à venda.

Posso usar a recusa parcial hoje? A API aceita o request, mas trate como sob demanda: as duas normas que regem essa regra (Ajustes SINIEF 49/25 e 8/26) declaram datas de vigência diferentes, e nosso time fiscal ainda está confirmando qual prevalece. Fale com o suporte antes de usar em produção.

Quais hipóteses de Nota de Débito posso usar? Hoje, sem ressalva: a transferência de créditos para cooperativas (TransferCreditsToCooperatives). As demais disponíveis (02, 03, 04, 05) funcionam sob demanda — fale com o suporte antes de produção.

Glossário

TermoSignificado
NF-eNota Fiscal Eletrônica de produto, modelo 55.
SEFAZSecretaria da Fazenda estadual — autoriza ou rejeita a NF-e.
finNFeFinalidade da nota (1=Normal … 5=Crédito, 6=Débito).
tpNFCreditoSubtipo da Nota de Crédito (03=recusa total/não localizado, 06=recusa parcial).
tpNFDebitoSubtipo da Nota de Débito (01 a 08).
Chave de acessoIdentificador único da NF-e, com 44 dígitos.
refNFeReferência à NF-e original no nível da nota.
referencedDFe / DFeReferenciadoReferência à NF-e original por item, usada na recusa parcial.
IBS/CBSNovos tributos da Reforma — Imposto sobre Bens e Serviços e Contribuição sobre Bens e Serviços.
cStatCódigo de status retornado pela SEFAZ (100 = autorizada).
DANFERepresentação em PDF da NF-e.
Ajuste SINIEFNorma do CONFAZ que padroniza documentos fiscais entre os estados.

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.