Pular para o conteúdo principal

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.

A NFE.io não recalcula o tributo — você envia o valor já apurado

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​

purposeTypefinNFeServe paraSubtipo obrigatório
CreditInvoice5Registrar 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ãocreditType
DebitInvoice6Registrar um débito fiscal em uma das 8 hipóteses previstas pelo Ajuste SINIEF 49/25debitType

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 (refNFe no 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 (DFeReferenciado no XML).
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 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)​

creditTypetpNFCreditoCenárioReferência exigidaDisponibilidade
IbsPresumedCreditAppropriationZfm02Apropriaçã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
RefusedDeliveryTotalOrNotFound03Recusa total da entrega, ou destinatário não localizadoUma entrada em taxDocumentsReference, nível da nota🟢 disponível
TransferCreditSuccession05Transferência de crédito na sucessãoNenhuma — referência vedada (V-CN-11); item CST 800 com creditTransfer (V-CN-13)🟡 aceito, sem teste de ponta a ponta
RefusedDeliveryPartial06Recusa 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.

Nota de Crédito — recusa total (tpNFCredito=03)
{
"purposeType": "CreditInvoice",
"creditType": "RefusedDeliveryTotalOrNotFound",
"operationType": "Incoming",
"operationNature": "Retorno por recusa de mercadoria",
"additionalInformation": {
"taxDocumentsReference": [
{ "documentElectronicInvoice": { "accessKey": "31260642118410000181550010000005661892872660" } }
]
}
}
Nota de Crédito — recusa parcial (tpNFCredito=06)
{
"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:

debitTypetpNFDebitoCenárioDisponibilidade
TransferCreditsToCooperatives01Transferência de créditos para cooperativas🟢 disponível — testado de ponta a ponta na SEFAZ
CancelCreditsExemptImmuneSales02Anulação de crédito por saídas imunes ou isentas🟡 aceito, sem teste de ponta a ponta
UnprocessedInvoicesDebits03Débitos de notas fiscais não processadas na apuração🟡 aceito, sem teste de ponta a ponta
FinesAndInterest04Multa e juros🟡 aceito, sem teste de ponta a ponta
TransferInheritanceCredit05Transferência de crédito na sucessão empresarial🟡 aceito, sem teste de ponta a ponta
AdvancePayment06Pagamento 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)
InventoryLoss07Perda 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
SnDisqualification08Desenquadramento do Simples Nacional🟡 aceito, sem teste de ponta a ponta
Só o subtipo 01 foi validado 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.

Nota de Débito — transferência de créditos para cooperativas (tpNFDebito=01)
{
"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): competence no formato AAAA-MM e ao menos um valor de IBS ou CBS.
  • 03, 04 — exigem referência por item (referencedDFe) em todos os itens. No 03, o itemNumber é vedado (a referência é só pela chave); no 04, o itemNumber é 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 = Outgoing e a referência à NF-e original em taxDocumentsReference, 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 modo Manual (padrão de items[].tax.IBSCBS.calculationMode) exige ICMS, PIS e COFINS no item para conferir a base do IBS/CBS (400 ICMS 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). Use calculationMode: "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étodoRotaUso
GET/v2/companies/{companyId}/productinvoices/{invoiceId}/credit-invoicesLista 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-linksCria 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.

GET .../credit-invoices
{
"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ódigoSituação
V-CN-01 / V-DN-01creditType/debitType ausente com o purposeType correspondente, ou informado com o purposeType errado
V-CN-02Recusa total (03): falta referência válida (44 dígitos) em taxDocumentsReference
V-CN-03Recusa parcial (06): algum item sem referencedDFe válido
V-CN-04Recusa parcial (06): itens referenciando NF-es diferentes
V-CN-05 / V-DN-05operationType incoerente: a Nota de Crédito deve ser Incoming; a Nota de Débito 01, Outgoing
V-CN-07 / V-DN-07operationNature vazio
V-CN-09creditType não suportado (tipos 01 e 04)
V-CN-10Tipo 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-11Tipos 02/05: referência a documento de origem informada (cabeçalho ou item) — vedada
V-CN-12Tipo 02 sem item CST 810 com zfmPresumedCredit completo, ou grupo usado fora do tipo 02
V-CN-13Tipo 05 sem item CST 800 com creditTransfer (ibsAmount e/ou cbsAmount maior que zero)
V-DN-09Subtipos 02/03/08: item sem CST 811 com competenceAdjustment completo
V-DN-10Subtipos 03/04: referência por item ausente, ou (no 04) repetida/apontando para NF-es diferentes
V-DN-11Subtipo 07: nenhum item com CST 410 e estorno de crédito válido

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.