Nota de Crédito e Nota de Débito
A Reforma Tributária criou dois novos tipos de NF-e (modelo 55) autônomos: a Nota de Crédito e a Nota de Débito. Diferente de um evento fiscal, não são um documento anexo a uma nota existente — são notas fiscais completas, com numeração e autorização próprias na SEFAZ, que ajustam o débito ou o crédito de uma operação anterior.
Estes documentos espelham a operação original: o tributo que você informa é o mesmo já apurado na NF-e que está sendo referenciada. A NFE.io transmite o documento à SEFAZ; o cálculo automático de tributos fica desativado para esses dois purposeType — o que você enviar é o que vai para o XML.
Você emite pelo mesmo endpoint de qualquer NF-e — não existe rota separada:
POST /v2/companies/{companyId}/productinvoices
O que muda é o campo purposeType, e um subtipo (creditType ou debitType) que qualifica o cenário.
Estrutura
purposeType | finNFe | Serve para | Subtipo obrigatório |
|---|---|---|---|
CreditInvoice | 5 | Registrar um crédito fiscal — o caso principal é a recusa de mercadoria na entrega; a NT também prevê o crédito presumido na ZFM e a transferência de crédito na sucessão | creditType |
DebitInvoice | 6 | Registrar um débito fiscal em uma das 8 hipóteses previstas pelo Ajuste SINIEF 49/25 | debitType |
Duas formas de referenciar a NF-e original, conforme o cenário:
- No nível da nota —
additionalInformation.taxDocumentsReference[].documentElectronicInvoice.accessKey. Vale quando a nota inteira se refere a uma única NF-e original (refNFeno XML). - Por item —
items[].referencedDFe(accessKey+itemNumber). Usado quando cada item aponta para o item correspondente da nota original — caso da recusa parcial e das Notas de Débito 03 e 04 (DFeReferenciadono XML).
Nas referências à NF-e original (taxDocumentsReference[].documentElectronicInvoice.accessKey e items[].referencedDFe.accessKey), a API aceita hoje apenas chaves numéricas de 44 dígitos. Referenciar uma NF-e emitida por emitente com CNPJ alfanumérico (chave com letras) ainda não é suportado: a requisição é recusada com 400.
Nota de Crédito (creditType)
creditType | tpNFCredito | Cenário | Referência exigida | Disponibilidade |
|---|---|---|---|---|
IbsPresumedCreditAppropriationZfm | 02 | Apropriação de crédito presumido de IBS sobre o saldo devedor na ZFM (art. 450, § 1º, LC 214/25) | Nenhuma — referência vedada (V-CN-11); item CST 810 com zfmPresumedCredit (V-CN-12) | 🔴 recusado pela API com 400 até janeiro/2029 (V-CN-10, RV B25.2-30, rejeição 1145); a partir de 2029, aceito sem teste de ponta a ponta. Exige emitente em AM, AC, RO, RR ou Macapá/Santana (RV I05k-20): fora dessa área (demais cidades do AP incluídas) a nota falha no processamento com o erro 40003 |
RefusedDeliveryTotalOrNotFound | 03 | Recusa total da entrega, ou destinatário não localizado | Uma entrada em taxDocumentsReference, nível da nota | 🟢 disponível |
TransferCreditSuccession | 05 | Transferência de crédito na sucessão | Nenhuma — referência vedada (V-CN-11); item CST 800 com creditTransfer (V-CN-13) | 🟡 aceito, sem teste de ponta a ponta |
RefusedDeliveryPartial | 06 | Recusa parcial — só parte dos itens foi recusada (produção na SEFAZ desde 03/08/2026, NT 2025.002-RTC v1.36) | referencedDFe em todos os itens, mesma NF-e original | 🟢 disponível |
Os tipos 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 como número (1 ou 4) é recusado com V-CN-09.
{
"purposeType": "CreditInvoice",
"creditType": "RefusedDeliveryTotalOrNotFound",
"operationType": "Incoming",
"operationNature": "Retorno por recusa de mercadoria",
"additionalInformation": {
"taxDocumentsReference": [
{ "documentElectronicInvoice": { "accessKey": "31260642118410000181550010000005661892872660" } }
]
}
}
{
"purposeType": "CreditInvoice",
"creditType": "RefusedDeliveryPartial",
"operationType": "Incoming",
"operationNature": "Retorno por recusa parcial de mercadoria",
"items": [
{
"code": "P001",
"description": "SILAGEM MILHO IN NATURA 30KG",
"referencedDFe": { "accessKey": "31260642118410000181550010000005661892872660", "itemNumber": 1 }
}
]
}
O destinatário (buyer) precisa ser o mesmo da NF-e original em ambos os subtipos.
Nota de Débito (debitType)
8 hipóteses previstas pelo Ajuste SINIEF 49/25. A maturidade de cada uma varia — trate a coluna Disponibilidade como parte do contrato, não como detalhe:
debitType | tpNFDebito | Cenário | Disponibilidade |
|---|---|---|---|
TransferCreditsToCooperatives | 01 | Transferência de créditos para cooperativas | 🟢 disponível — testado de ponta a ponta na SEFAZ |
CancelCreditsExemptImmuneSales | 02 | Anulação de crédito por saídas imunes ou isentas | 🟡 aceito, sem teste de ponta a ponta |
UnprocessedInvoicesDebits | 03 | Débitos de notas fiscais não processadas na apuração | 🟡 aceito, sem teste de ponta a ponta |
FinesAndInterest | 04 | Multa e juros | 🟡 aceito, sem teste de ponta a ponta |
TransferInheritanceCredit | 05 | Transferência de crédito na sucessão empresarial | 🟡 aceito, sem teste de ponta a ponta |
AdvancePayment | 06 | Pagamento antecipado seguido de fornecimento | 🟡 aceito, sem teste de ponta a ponta — emitido com gIBSCBS; o grupo opcional gPagAntecipado ainda não é gerado (a própria NT marca a regra desse grupo como implementação futura) |
InventoryLoss | 07 | Perda em estoque, com estorno de crédito | 🟡 aceito, sem teste de ponta a ponta — exige item com CST 410 e grupo de estorno de crédito |
SnDisqualification | 08 | Desenquadramento do Simples Nacional | 🟡 aceito, sem teste de ponta a ponta |
🟢 significa que a API aceita e a hipótese foi emitida e autorizada na SEFAZ. 🟡 significa que a API aceita e emite, mas a emissão ainda não foi validada fim a fim na SEFAZ. 🔴 significa que a própria API recusa a emissão hoje. Confirme com o suporte antes de depender de um subtipo 🟡 em produção.
{
"purposeType": "DebitInvoice",
"debitType": "TransferCreditsToCooperatives",
"operationType": "Outgoing",
"operationNature": "Transferência de créditos para cooperativa",
"additionalInformation": {
"taxDocumentsReference": [
{ "documentElectronicInvoice": { "accessKey": "31260642118410000181550010000005661892872660" } }
]
}
}
Regras específicas por subtipo
- 02, 03, 08 — exigem ao menos um item com
situationCode = "811"carregando o ajuste de competência (competenceAdjustment):competenceno formatoAAAA-MMe ao menos um valor de IBS ou CBS. - 03, 04 — exigem referência por item (
referencedDFe) em todos os itens. No 03, oitemNumberé vedado (a referência é só pela chave); no 04, oitemNumberé obrigatório, aponta para uma única NF-e original, e o par (chave, item) não pode se repetir. - 07 — exige ao menos um item com
situationCode = "410"carregando o grupo de estorno de crédito (creditReversal), com valor de estorno de IBS e/ou CBS maior que zero. A SEFAZ exige o grupo nesse tipo (RV UB116-20); o valor maior que zero é regra da própria API, pois a RV UB116-30 não se aplica ao tipo 07 na NT. - 01 — exige
operationType = Outgoinge a referência à NF-e original emtaxDocumentsReference, e a NF-e original referenciada precisa ter o adquirente do crédito como destinatário. - 04 e 06 — não restringem o
cClassTrib. Com CST de tributação regular, o modoManual(padrão deitems[].tax.IBSCBS.calculationMode) exigeICMS,PISeCOFINSno item para conferir a base do IBS/CBS (400ICMS is required to compute IBS/CBS basis.), mas a SEFAZ recusa o ICMS nos dois tipos e, no tipo 04, também IPI, PIS e COFINS (RV B25-80, rejeição 1001; no tipo 06 as exceções 2 e 3 admitem PIS/COFINS em 2026 e IPI). UsecalculationMode: "OfficialService"nesses casos. A API não retira grupos de ICMS, IPI, PIS ou COFINS informados no item: o que você envia vai para o XML.
Ciclo de vida
O registro segue o mesmo ciclo de qualquer NF-e — é assíncrono, o 200 do POST ecoa o pedido aceito para processamento (com o id da nota), e o resultado chega por consulta ou pelo webhook de emissão.
Rastreio de Notas de Crédito
Uma Nota de Crédito aponta para a NF-e original. A NFE.io também mantém o caminho inverso — a NF-e original passa a listar as Notas de Crédito emitidas contra ela, automaticamente, quando uma Nota de Crédito por recusa (tipos 03 e 06) é autorizada e a NF-e original pertence à mesma empresa emitente.
| Método | Rota | Uso |
|---|---|---|
GET | /v2/companies/{companyId}/productinvoices/{invoiceId}/credit-invoices | Lista as Notas de Crédito vinculadas — sempre retorna creditInvoices ([] se vazio); 404 quando a NF-e não é encontrada na empresa |
POST | /v2/companies/{companyId}/productinvoices/{invoiceId}/credit-invoice-links | Cria o vínculo manualmente, para reconciliação. Responde 202 Accepted (processamento assíncrono). Idempotente — repetir não duplica. 400 quando creditInvoiceId está ausente, quando a Nota de Crédito não é de recusa (03 ou 06), quando ela ou a NF-e original ainda não têm chave de acesso ou quando a Nota de Crédito não referencia essa NF-e; 404 quando a Nota de Crédito ou a NF-e original não é encontrada na empresa |
NF-es autorizadas antes do lançamento desse recurso não recebem o vínculo retroativamente — para elas, use o vínculo manual.
{
"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]
}
]
}
referencedItemNumbers vem null na recusa total (03) e com a lista de itens na recusa parcial (06).
Erros de validação mais comuns
| Código | Situação |
|---|---|
V-CN-01 / V-DN-01 | creditType/debitType ausente com o purposeType correspondente, ou informado com o purposeType errado |
V-CN-02 | Recusa total (03): falta referência válida (44 dígitos) em taxDocumentsReference |
V-CN-03 | Recusa parcial (06): algum item sem referencedDFe válido |
V-CN-04 | Recusa parcial (06): itens referenciando NF-es diferentes |
V-CN-05 / V-DN-05 | operationType incoerente: a Nota de Crédito deve ser Incoming; a Nota de Débito 01, Outgoing |
V-CN-07 / V-DN-07 | operationNature vazio |
V-CN-09 | creditType não suportado (tipos 01 e 04) |
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) ou de Macapá/Santana (AP) — RV I05k-20 — ou com empresa sem endereço cadastrado; a nota termina em falha e o erro chega pelo webhook e pela consulta |
V-CN-11 | Tipos 02/05: referência a documento de origem informada (cabeçalho ou item) — vedada |
V-CN-12 | Tipo 02 sem item CST 810 com zfmPresumedCredit completo, ou grupo usado fora do tipo 02 |
V-CN-13 | Tipo 05 sem item CST 800 com creditTransfer (ibsAmount e/ou cbsAmount maior que zero) |
V-DN-09 | Subtipos 02/03/08: item sem CST 811 com competenceAdjustment completo |
V-DN-10 | Subtipos 03/04: referência por item ausente, ou (no 04) repetida/apontando para NF-es diferentes |
V-DN-11 | Subtipo 07: nenhum item com CST 410 e estorno de crédito válido |
Veja também
- Eventos do documento fiscal — o modelo conceitual de eventos, distinto de Nota de Crédito/Débito
- Fluxos de eventos e apuração do IBS/CBS — cenários de negócio que usam estes documentos
- Referência: eventos por tipo de documento — eventos fiscais (distintos de Nota de Crédito/Débito)
- Conformidade normativa e disponibilidade
- Catálogo de eventos de saída — NF-e