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.

Na Nota de Crédito e na maior parte das hipóteses de Nota de Débito, a NFE.io não recalcula os impostos. 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) 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.

Na SEFAZ, o subtipo de recusa parcial (tpNFCredito = 06) foi criado pela NT 2025.002-RTC v1.36, com homologação a partir de 01/07/2026 e produção a partir de 03/08/2026. A versão vigente da NT é a v1.51 (jul/2026), que define o leiaute e as regras de validação citadas neste guia.

Conceitos​

ConceitoO que é
Chave de acessoIdentificador único de uma NF-e, com 44 posições. Nas referências à NF-e original, a API aceita hoje apenas chaves numéricas (ver limitação abaixo).
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 (01 a 06 na NT; a API aceita 02, 03, 05 e 06).
tpNFDebitoSubtipo da Nota de Débito (01 a 08).
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 e nas Notas de Débito 03 e 04, em que cada item aponta para a NF-e original.
Limitação conhecida — chave de acesso com letras

Nas referências à NF-e original (taxDocumentsReference[].documentElectronicInvoice.accessKey e items[].referencedDFe.accessKey), a API aceita hoje apenas chaves de acesso numéricas de 44 dígitos. Ainda não é possível referenciar uma NF-e emitida por emitente com CNPJ alfanumérico (chave com letras): a requisição é recusada com 400. Esse suporte está em desenvolvimento.

Campos​

CampoTipoObrigatório quandoDescrição
purposeTypeenumSempre (default Normal)Finalidade da NF-e. Novos valores: CreditInvoice, DebitInvoice.
creditTypeenumpurposeType=CreditInvoiceSubtipo da Nota de Crédito (tpNFCredito).
debitTypeenumpurposeType=DebitInvoiceSubtipo da Nota de Débito (tpNFDebito).
items[].referencedDFeobjetoRecusa parcial (06) e Notas de Débito 03 e 04, em todos os itensReferência por item à NF-e original (accessKey + itemNumber; na Nota de Débito 03, sem itemNumber). Vedada nas Notas de Crédito 02 e 05.
additionalInformation.taxDocumentsReference[].documentElectronicInvoice.accessKeystring(44)Recusa total (03) e Nota de Débito 01Chave da NF-e original no nível da nota. Vedada nas Notas de Crédito 02 e 05.
operationNaturestringSempre (não vazio)Natureza da operação, em texto livre.
operationTypeenum (Incoming/Outgoing)SempreNota de Crédito = entrada (Incoming); Nota de Débito = saída (Outgoing).
items[].tax.IBSCBS.calculationModeenum (Manual/OfficialService)Opcional (default Manual)Manual: você informa todos os valores. OfficialService: você envia situationCode e classCode, e os valores são calculados pelo serviço oficial.
items[].tax.IBSCBS.creditTransferobjeto (ibsAmount, cbsAmount)CST 800 — Nota de Crédito 05 e Notas de Débito 01 e 05Valor transferido (grupo gTransfCred).
items[].tax.IBSCBS.competenceAdjustmentobjeto (competence, ibsAmount, cbsAmount)CST 811 — Notas de Débito 02, 03 e 08Ajuste de competência (grupo gAjusteCompet); competence no formato AAAA-MM.
items[].tax.IBSCBS.creditReversalobjeto (ibsReversalAmount, cbsReversalAmount)CST 410 — Nota de Débito 07Estorno de crédito (grupo gEstornoCred).
items[].tax.IBSCBS.zfmPresumedCreditobjeto (classificationCode, amount, competence)CST 810 — Nota de Crédito 02Crédito presumido de IBS na ZFM (grupo gCredPresIBSZFM).

Valores dos enums​

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

creditType: IbsPresumedCreditAppropriationZfm (02) · RefusedDeliveryTotalOrNotFound (03) · TransferCreditSuccession (05) · RefusedDeliveryPartial (06)

debitType: TransferCreditsToCooperatives (01) · CancelCreditsExemptImmuneSales (02) · UnprocessedInvoicesDebits (03) · FinesAndInterest (04) · TransferInheritanceCredit (05) · AdvancePayment (06) · InventoryLoss (07) · SnDisqualification (08)

Envie os valores exatamente como acima.

Os tipos de Nota de Crédito 01 (multa e juros) e 04 (redução de valores) existem na NT, mas não são suportados pela API: não há valor de creditType para eles, e o envio do tipo como número (1 ou 4) é recusado com 400 [V-CN-09].

Nota de Crédito​

O tipo da Nota de Crédito vai no campo creditType. O caso principal é a recusa de mercadoria na entrega (tipos 03 e 06).

creditTypetpNFCreditoQuando usarSituação na API
IbsPresumedCreditAppropriationZfm02Apropriação de crédito presumido de IBS sobre o saldo devedor na ZFM (art. 450, § 1º, LC 214/25)Recusado pela API com 400 até janeiro/2029 ([V-CN-10], RV B25.2-30, rejeição 1145); a partir daí, aceito sem teste de ponta a ponta. Exige emitente na Amazônia Ocidental (AM, AC, RO, RR) ou em Macapá/Santana (AP) — RV I05k-20: fora dessa área (as demais cidades do AP incluídas), a nota falha no processamento com o erro 40003
RefusedDeliveryTotalOrNotFound03Recusa total da entrega, ou destinatário não localizadoDisponível
TransferCreditSuccession05Transferência de crédito na sucessãoAceito, sem teste de ponta a ponta na SEFAZ
RefusedDeliveryPartial06Recusa parcial — só parte dos itens foi recusadaDisponível (produção na SEFAZ desde 03/08/2026)
info

Disponível significa que a API aceita e o cenário está liberado para uso em produção. Aceito, sem teste de ponta a ponta significa que a API aceita e emite, mas a emissão ainda não foi validada fim a fim na SEFAZ — fale com o suporte antes de usar em produção.

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[] — uma só; a SEFAZ rejeita mais de uma.
  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)​

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... */
}
]
}

Crédito presumido na ZFM (02) e sucessão (05)​

Esses dois tipos não referenciam documento de origem — nem no cabeçalho, nem por item ([V-CN-11]). O valor vai no grupo IBS/CBS do item:

  • 02: a própria API recusa com 400 toda nota com ano de emissão anterior a 2029 ([V-CN-10], RV B25.2-30, rejeição 1145). Além disso, a empresa emitente precisa estar na Amazônia Ocidental (AM, AC, RO, RR) ou em Macapá/Santana (AP) — RV I05k-20; essa checagem roda no processamento, depois do aceite do POST: a nota termina em falha com o erro 40003, informado no webhook e na consulta. A nota precisa de ao menos um item de CST 810 (cClassTrib 810001) com items[].tax.IBSCBS.zfmPresumedCredit completo (classificationCode, amount e competence no formato AAAA-MM), sem base, IBS ou CBS no item ([V-CN-12]).
  • 05: a nota precisa de ao menos um item de CST 800 (cClassTrib 800001) com items[].tax.IBSCBS.creditTransfer (ibsAmount e/ou cbsAmount maior que zero) ([V-CN-13]).

O que a API valida na Nota de Crédito​

Se algo estiver incoerente, a API responde 400 Bad Request no POST com um código de regra na mensagem ou, onde indicado, falha no processamento:

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 referência em taxDocumentsReference com accessKey de 44 dígitos.
[V-CN-03]Recusa parcial (06): todos os itens precisam de referencedDFe com accessKey de 44 dígitos.
[V-CN-04]Recusa parcial (06): os itens estão referenciando NF-es diferentes. Todos devem apontar para a mesma original.
[V-CN-05]Toda Nota de Crédito deve ser operationType = "Incoming" (nota de entrada, tpNF=0 — RV B25-110, rejeição 1161).
[V-CN-07]operationNature está vazio.
[V-CN-09]creditType não suportado (os tipos 01 e 04 não são aceitos pela API).
[V-CN-10]Tipo 02 emitido antes de janeiro/2029.
40003 (no processamento, não no POST)Tipo 02 com emitente fora da Amazônia Ocidental (AM, AC, RO, RR) e de Macapá/Santana (AP) — RV I05k-20 — ou com empresa sem endereço (UF e cidade) cadastrado. A nota termina em falha; o erro chega pelo webhook e pela consulta.
[V-CN-11]Tipos 02 e 05 não podem referenciar documento de origem (cabeçalho ou item).
[V-CN-12]Tipo 02 sem item CST 810 com zfmPresumedCredit completo, ou zfmPresumedCredit usado fora do tipo 02.
[V-CN-13]Tipo 05 sem item CST 800 com creditTransfer (ibsAmount e/ou cbsAmount maior que zero).

O que sai no documento​

No XML, o documento carrega finNFe = 5 e o tpNFCredito correspondente. Na recusa, o destinatário replica o da nota original e a referência sai em refNFe no nível da nota (tipo 03) ou em DFeReferenciado por item (tipo 06). Nos tipos 02 e 05 não há referência: o valor sai nos grupos gCredPresIBSZFM e gTransfCred. 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.

As 8 hipóteses e o que está disponível hoje​

debitTypetpNFDebitoSituaçãocClassTrib exigido pela SEFAZGrupo tributário (campo na API)Situação na API
TransferCreditsToCooperatives01Transferência de créditos para cooperativas800002CST 800 (creditTransfer)Disponível (testado de ponta a ponta)
CancelCreditsExemptImmuneSales02Anulação de crédito por saídas imunes ou isentas811001CST 811 (competenceAdjustment)Aceito, sem teste de ponta a ponta
UnprocessedInvoicesDebits03Débitos de notas fiscais não processadas na apuração811002CST 811 (competenceAdjustment) + referencedDFe sem itemNumberAceito, sem teste de ponta a ponta
FinesAndInterest04Multa e jurosNão limitadogIBSCBS + referencedDFe com itemNumberAceito, sem teste de ponta a ponta
TransferInheritanceCredit05Transferência de crédito na sucessão800001CST 800 (creditTransfer)Aceito, sem teste de ponta a ponta
AdvancePayment06Pagamento antecipadoNão limitadogIBSCBSAceito, sem teste de ponta a ponta (ver nota)
InventoryLoss07Perda em estoque (perecimento, perda, furto, roubo)410030CST 410 (creditReversal)Aceito, sem teste de ponta a ponta
SnDisqualification08Desenquadramento do Simples Nacional811003CST 811 (competenceAdjustment)Aceito, sem teste de ponta a ponta
info

Disponível significa validado e emitido ponta a ponta na SEFAZ — pode usar em produção. Aceito, sem teste de ponta a ponta significa que a API aceita e emite, mas a emissão ainda não foi validada fim a fim na SEFAZ. Fale com o suporte antes de usar uma dessas hipóteses em produção.

No tipo 06, a nota é emitida com o grupo gIBSCBS. O grupo opcional gPagAntecipado ainda não é gerado pela API; a regra da SEFAZ que exige que a nota referenciada nesse grupo seja do tipo 06 está marcada como "Implementação Futura" na NT.

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": [
{
/* ...demais campos do item... */
"tax": {
"IBSCBS": {
"situationCode": "800",
"classCode": "800002",
"creditTransfer": { "ibsAmount": 100.00, "cbsAmount": 50.00 }
}
}
}
],
"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]Débito 01 exige referência à NF-e original em taxDocumentsReference com accessKey válida de 44 dígitos.
[V-DN-05]Débito 01 deve ser operationType = "Outgoing". Na SEFAZ, toda Nota de Débito é de saída.
[V-DN-07]operationNature está vazio.
[V-DN-09]Débito 02, 03 ou 08 exige ao menos um item de CST 811 com items[].tax.IBSCBS.competenceAdjustment, com competence (AAAA-MM) e ibsAmount e/ou cbsAmount.
[V-DN-10]Débito 03 ou 04 exige referência à NF-e original por item, em todos os itens (items[].referencedDFe.accessKey, 44 dígitos). No 03, itemNumber não deve ser informado; no 04, itemNumber é obrigatório, todos os itens apontam para a mesma NF-e original e o par chave + item não pode se repetir.
[V-DN-11]Débito 07 exige ao menos um item de CST 410 com creditReversal. A SEFAZ exige o grupo nesse tipo (RV UB116-20); a API exige, além disso, ibsReversalAmount e/ou cbsReversalAmount maior que zero — regra da própria API, pois a RV UB116-30 (valor maior que zero) não se aplica ao tipo 07 na NT.

O que sai no documento​

No XML, o documento carrega finNFe = 6 e o tpNFDebito correspondente. A tributação é somente IBS/CBS (RV B25-80 da NT, rejeição 1001), com as exceções da NT: o tipo 07 pode levar ICMS e demais tributos; o tipo 06 admite IPI e, em notas emitidas em 2026, PIS/COFINS. No DANFE, o cabeçalho identifica o documento como Nota de Débito.

A API não retira grupos de ICMS, IPI, PIS, COFINS etc. do item: o que você envia em items[].tax vai para o XML. Nos tipos sujeitos à regra B25-80, não envie esses grupos.

Limitação do modo Manual nas Notas de Débito 04 e 06

No modo Manual (padrão de items[].tax.IBSCBS.calculationMode), a API exige ICMS, PIS e COFINS no item para conferir a base do IBS/CBS, exceto nos CSTs 410, 810, 930, 800, 620 e 811. Nas Notas de Débito 04 e 06 com CST de tributação regular (esses tipos não restringem o cClassTrib), omitir os grupos gera 400 (ICMS is required to compute IBS/CBS basis.), e enviar o ICMS leva à rejeição 1001 da SEFAZ (no tipo 04, também IPI, PIS e COFINS; no tipo 06 as exceções 2 e 3 da B25-80 admitem PIS/COFINS em 2026 e IPI). Nesses casos, use calculationMode: "OfficialService".

Rastreando a NF-e original​

Uma Nota de Crédito aponta para a NF-e original que ela referencia. A plataforma também mantém o caminho inverso: a NF-e original passa a listar as Notas de Crédito emitidas contra ela. Isso acontece automaticamente quando uma Nota de Crédito por recusa (tipos 03 e 06) é autorizada e a NF-e original pertence à mesma empresa emitente.

  • No nível da nota — additionalInformation.taxDocumentsReference[].documentElectronicInvoice.accessKey: a chave de 44 dígitos da NF-e original, usada na recusa total e na Nota de Débito 01.
  • Por item — items[].referencedDFe (accessKey + itemNumber): referencia o item específico da NF-e original, usado na recusa parcial e nas Notas de Débito 03 e 04.

Consultar a referência na nota emitida​

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",
"items": [
{ "number": 1, "referencedDFe": { "accessKey": "…44 dígitos…", "itemNumber": 1 } },
{ "number": 2, "referencedDFe": { "accessKey": "…44 dígitos…", "itemNumber": 3 } }
]
}

Listar as Notas de Crédito emitidas contra uma NF-e​

GET /v2/companies/{companyId}/productinvoices/{invoiceId}/credit-invoices

Resposta (200):

{
"invoiceId": "…",
"invoiceAccessKey": "…44 dígitos da NF-e original…",
"creditInvoices": [
{
"creditInvoiceId": "…",
"creditInvoiceAccessKey": "…44 dígitos da Nota de Crédito…",
"creditType": "RefusedDeliveryPartial",
"issuedAt": "2026-05-10T12:00:00Z",
"referencedItemNumbers": [1, 3]
}
]
}
  • A lista creditInvoices vem sempre — vazia ([]) quando não há vínculos. Responde 404 quando a NF-e não é encontrada na empresa.
  • referencedItemNumbers vem null na recusa total (03) e com a lista de itens na recusa parcial (06).
  • O mesmo conteúdo aparece no campo creditInvoicesIssuedAgainst ao consultar a própria NF-e, quando há vínculos.
  • NF-es autorizadas antes do lançamento desse recurso não recebem o vínculo retroativamente. Para elas, use o vínculo manual abaixo.

Criar o vínculo manualmente (opcional)​

Normalmente o vínculo é automático. Se precisar criá-lo manualmente (reconciliação):

POST /v2/companies/{companyId}/productinvoices/{invoiceId}/credit-invoice-links
{ "creditInvoiceId": "…" }

Responde 202 Accepted — o vínculo é processado de forma assíncrona. É idempotente: repetir não duplica. Retorna 400 quando creditInvoiceId está ausente, quando a Nota de Crédito não é de recusa (tipos 03 ou 06), quando ela ou a NF-e original ainda não têm chave de acesso (não autorizadas) ou quando a Nota de Crédito não referencia essa NF-e; e 404 quando a Nota de Crédito ou a NF-e original não é encontrada na empresa.

Como os tributos são tratados​

A NFE.io não recalcula os impostos da Nota de Crédito nem das Notas de Débito que espelham uma apuração ou operação anterior. Nesses casos, você envia os valores de tributos já apurados no payload, exatamente como estavam — ou deveriam estar — na operação original.

  • Nota de Crédito por recusa reproduz os tributos da NF-e recusada (ICMS destacado, IBS/CBS etc.), sem novo cálculo — a recusa é exceção à regra "somente IBS/CBS" (RV B25-80).
  • Nota de Débito usa somente a tributação IBS/CBS (RV B25-80), salvo as exceções dos tipos 06 e 07. Na transferência de créditos (01 e 05), o valor transferido vai no grupo gTransfCred.

Se você integra com o motor de cálculo automático da NFE.io: o cálculo fica desativado para toda Nota de Crédito e para as Notas de Débito 01, 02, 03, 05 e 08 — o que você enviar é o que vai para o XML. Nas Notas de Débito 04 (multa e juros), 06 (pagamento antecipado) e 07 (perda em estoque), o cálculo tributário segue ativo, como numa NF-e comum. Garanta que os valores conferem com a operação original antes de transmitir.

A API não retira grupos de ICMS, IPI, PIS, COFINS etc. que você enviar: eles vão para o XML. Veja acima a limitação do modo Manual nas Notas de Débito 04 e 06.

Endpoints​

MétodoRotaUso
POST/v2/companies/{companyId}/productinvoicesEmite a nota, de Crédito ou Débito. Responde 200 com o pedido aceito para processamento; a autorização na SEFAZ é assíncrona (acompanhe pela consulta ou pelo webhook).
GET/v2/companies/{companyId}/productinvoices/{invoiceId}Consulta a nota, incluindo a referência à NF-e original.
GET/v2/companies/{companyId}/productinvoices/{invoiceId}/credit-invoicesLista as Notas de Crédito emitidas contra uma NF-e.
POST/v2/companies/{companyId}/productinvoices/{invoiceId}/credit-invoice-linksVincula manualmente uma Nota de Crédito à 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-CN-09]Tipo de Nota de Crédito não suportado (01 ou 04)Use um dos valores de creditType da seção Valores dos enums.
400 [V-DN-09]Débito 02/03/08 sem item CST 811 com competenceAdjustmentInclua ao menos um item CST 811 com competence (AAAA-MM) e ibsAmount/cbsAmount.
400 [V-DN-10]Débito 03/04 sem referencedDFe em todos os itens, ou itemNumber indevido/ausenteVeja as sub-regras na tabela "O que a API valida na Nota de Débito".
400 [V-DN-11]Débito 07 sem item CST 410 com creditReversalInclua ao menos um item CST 410 (cClassTrib 410030) com o valor a estornar.
400 ICMS is required to compute IBS/CBS basis.Modo Manual em Nota de Débito 04/06 com CST de tributação regularUse calculationMode: "OfficialService".
400 na referência à NF-e originalChave de acesso com letras (emitente com CNPJ alfanumérico)Ainda não suportado; veja a limitação em Conceitos.
400 no vínculo manualA Nota de Crédito não é de recusa, não está autorizada ou não referencia a NF-e informadaConfira o tipo, a autorização e a referência antes de vincular.
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, na Nota de Crédito e nas Notas de Débito 01, 02, 03, 05 e 08: você envia os tributos já apurados. Nas Notas de Débito 04, 06 e 07 o cálculo segue ativo (ver Como os tributos são tratados).

Como sei quais Notas de Crédito foram emitidas contra uma venda minha? Consulte GET .../productinvoices/{invoiceId}/credit-invoices na NF-e original. O vínculo é criado automaticamente quando a Nota de Crédito por recusa é autorizada; se precisar, crie-o manualmente com POST .../credit-invoice-links.

Posso usar a recusa parcial hoje? Sim. O tipo 06 está em produção na SEFAZ desde 03/08/2026 (cronograma da NT 2025.002-RTC v1.36).

Quais hipóteses de Nota de Débito posso usar? A API aceita as 8. A 01 (TransferCreditsToCooperatives) foi testada de ponta a ponta na SEFAZ; as demais são aceitas, mas ainda sem teste de ponta a ponta — fale com o suporte antes de usá-las em produção.

Posso referenciar uma NF-e cuja chave tem letras? Ainda não. As referências à NF-e original aceitam hoje apenas chaves numéricas de 44 dígitos (ver Conceitos).

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 (01 a 06; 03=recusa total/não localizado, 06=recusa parcial).
tpNFDebitoSubtipo da Nota de Débito (01 a 08).
cClassTribCódigo de classificação tributária do IBS/CBS; algumas hipóteses de crédito e débito exigem um código específico.
Chave de acessoIdentificador único da NF-e, com 44 posições (nas referências à NF-e original, a API aceita hoje apenas chaves numéricas).
refNFeReferência à NF-e original no nível da nota.
referencedDFe / DFeReferenciadoReferência à NF-e original por item, usada na recusa parcial, nas Notas de Débito 03 e 04 e na devolução.
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.