Skip to content

To correct a previously transmitted e-invoice, issue a credit note using the CORRECTION operation type with data.type = INVOICE. A credit note reverses the amounts of the original invoice — fully or partially. If the original data also needs to be replaced, a new invoice is issued after the credit note.

The credit note always references the original invoice and must be sent to the same recipient.

ScenarioActionDocuments issued
Full cancellation — duplicate, wrong buyer, or cancelled transactionCredit the full amountCredit note only
Partial credit — return, discount, or overbillingCredit the affected lines or amounts onlyCredit note only
Correction — wrong data or amounts on the original invoiceCredit the full amount, then re-issue correctedCredit note + new invoice
Undercharge — original amount was too lowCredit the full amount, then re-issue with the correct amountCredit note + new invoice

Use when the original invoice should never have been issued (duplicate, wrong buyer, cancelled order).

Original Invoice INV-001 €6,300
↓
Credit Note CN-001 €6,300 (references INV-001)
↓
Net result: €0

The original invoice remains on record. The credit note creates a full reversal.

Use when only part of the original invoice needs to be reversed (returned item, agreed discount, overbilling on specific lines).

Original Invoice INV-001 €6,300
↓
Credit Note CN-002 €600 (references INV-001, affected lines only)
↓
Net result: €5,700

Only the credited lines are included in the credit note. The original invoice remains valid for all non-credited lines.

Use when the original invoice contained incorrect data or amounts.

Original Invoice INV-001 €6,300
↓
Credit Note CN-003 €6,300 (full reversal, references INV-001)
↓
New Invoice INV-002 €5,950 (corrected data)
↓
Net result: €5,950

Fully reverse the original via a credit note, then issue a new invoice with the correct data.

Use when the original invoice amount was too low.

Original Invoice INV-001 €5,000
↓
Credit Note CN-004 €5,000 (full reversal, references INV-001)
↓
New Invoice INV-003 €6,300 (correct amount)
↓
Net result: €6,300

All amounts on a credit note are required to be positive. The document type signals that positive line amounts represent credits. Negative values will cause validation failures.

Every credit note references the original invoice. In the CORRECTION::INVOICE request, provide the ID of the original transaction record in the content.operation.record.id field. fiskaly resolves the preceding document details automatically.

{
"content": {
"type": "TRANSACTION",
"record": { "id": "<intention-record-id>" },
"operation": {
"type": "CORRECTION",
"record": { "id": "<original-transaction-record-id>" },
"data": { "type": "INVOICE", ... }
}
}
}

The recipient on the credit note must match the recipient on the original invoice.

Credit notes must use a separate sequential numbering series (e.g. CN-2026-000001). Provide it via the series field, the same way as for standard invoices.

Each credited line uses entries[].type = SALE, the same entry type as on a standard invoice. The document type — not the entry type — is what signals that the amounts are credits.

The entry type carries no credit or return semantics in e-invoicing. In Italy it is not read at all when the FatturaPA is generated, so setting RETURN — the value the SIGN products use on a correction — does not make the document a credit note. Only the operation you call does that.

Two fields commonly cause unnecessary work on a credit note:

  • entries[].details.number is not used in e-invoicing. It exists for the fiscalization products, where it identifies the original line being corrected. You do not map original line numbers onto a credit note — the link to the original invoice is made once, at document level, through operation.record.id.
  • entries[].data.text is not validated and does not have to repeat the wording used on the original invoice. Unlike SIGN IT, where the description is expected to match, you are free to describe the credited line however it should appear.

Several credit notes may reference the same original invoice — for example when goods from a single invoice are returned in separate batches, or when different lines are credited at different times. Each one is an independent CORRECTION record carrying the same operation.record.id and containing only the lines it credits. The original invoice stays valid for the lines that have not been credited.

A credit note always references an invoice, never another credit note. If a credit note itself needs correcting, use the credit note + re-issue flow below: a later credit note references the replacement invoice, not the earlier credit note.

Crediting an invoice fiskaly did not transmit

Section titled “Crediting an invoice fiskaly did not transmit”

The INTENTION step follows the same pattern as for a standard invoice. Call the createRecord endpoint with a Record of type INTENTION associated with the E_INVOICE_SERVICE System.

Call the createRecord endpoint with a Record of type TRANSACTION:

  • Set the operation type to CORRECTION with data.type = INVOICE
  • Include the preceding document reference to the original invoice
  • Include the line items being credited (with positive amounts)
  • Use the same recipient as the original invoice
Example request — partial credit note
{
"content": {
"type": "TRANSACTION",
"record": { "id": "<intention-record-id>" },
"operation": {
"type": "CORRECTION",
"record": { "id": "<original-invoice-transaction-record-id>" },
"data": {
"type": "INVOICE",
"document": {
"number": "CN-2026-000001",
"series": "CN"
},
"entries": [
{
"type": "SALE",
"details": { "concept": "GOOD" },
"data": {
"type": "ITEM",
"text": "White sugar",
"unit": {
"quantity": "1.00",
"price": {
"inclusive": "1220.00",
"exclusive": "1000.00"
}
},
"value": { "base": "1000.00" },
"vat": {
"type": "VAT_RATE",
"code": "STANDARD",
"percentage": "22.00",
"exclusive": "1000.00",
"inclusive": "1220.00",
"amount": "220.00"
}
}
}
],
"breakdown": [
{
"type": "VAT_RATE",
"code": "STANDARD",
"percentage": "22.00",
"exclusive": "1000.00",
"inclusive": "1220.00",
"amount": "220.00"
}
],
"totals": {
"vat": {
"amount": "220.00",
"exclusive": "1000.00",
"inclusive": "1220.00"
}
},
"recipients": [
{
"type": "BUSINESS",
"name": "Dolci Italiani S.r.l.",
"identification": {
"type": "VAT",
"value": "IT12345678901"
},
"address": {
"street": "Via Roma 1",
"city": "Milano",
"code": "20121",
"region": "MI",
"country": "IT"
},
"invoicing": {
"type": "SDI",
"destination_code": "ABC1234"
}
}
]
}
}
}
}

For correction and undercharge scenarios, two separate transactions are needed:

  1. Create a CORRECTION record (credit note) referencing the original invoice
  2. Create a new INVOICE record with the corrected data

Both records follow the standard INTENTION → TRANSACTION flow.