Credit notes over Peppol: correcting an invoice the compliant way
Why you can't recall a Peppol document, and how to correct one with a Stripe credit note, plus a fresh invoice when the amount changes, both sent over the network.
You sent an invoice over Peppol and something is wrong with it: a price, a line item, the wrong customer. The instinct is to pull it back and fix it. You cannot. A document that has entered the Peppol network cannot be recalled — that is how the network works, not a limitation of any one tool. You correct it forward, with a credit note.
Why there is no undo
Peppol delivery is closer to registered post than to a shared document. Once your access point hands a document to the recipient's access point, it has been delivered into their system, and there is no message that reaches back in to delete it. The recipient may have already booked it in their accounting software. Recalling it would mean rewriting a record you no longer control.
So corrections are additive. You do not edit the original; you issue a new document that references it and adjusts the position. That is what a credit note has always been in accounting terms. Peppol just makes it the only available mechanism, because editing a sent invoice is not an option.
The credit note is its own Peppol document type
A credit note is not a negative invoice and it is not a variant of the invoice format. In Peppol it is a distinct document type with its own profile — the credit-note profile under Peppol BIS Billing 3.0, still aligned with EN 16931. It carries a reference back to the invoice it corrects, so the recipient's system can tie the two together and net them off correctly.
Stripe models it as its own object too: a Stripe credit note raised against a finalised invoice. Peppost sends that as the credit-note UBL, with the Stripe PDF attached as the human-readable rendering, through a certified access point.
When a credit note is enough, and when you also need a new invoice
Two situations, two shapes:
- The invoice should not have gone out, or the amount was too high. Issue a Stripe credit note for the full or partial amount. The credit note cancels or reduces the original, the recipient's ledger nets out, and you are done. One document, sent over Peppol.
- The amount was wrong and a corrected invoice is owed. Issue a Stripe credit note to reverse the original in full, then raise a fresh, correct invoice. Send both over Peppol. The credit note unwinds the mistake; the new invoice states what is actually due. The recipient ends up with a self-consistent set of documents rather than an edited one.
How the send works
Sending a credit note is the same operation as sending an invoice, on a different document type. You pick the finalised Stripe credit note, Peppost looks the recipient up in the Peppol directory to confirm they are reachable, and only then is a credit spent — one per send, at the same rate as an invoice on the pricing page.
Only finalised Stripe credit notes can be sent; drafts are excluded, because their numbers and totals are not yet authoritative. Refunds of the credit follow the same rule as for invoices: automatic if the send fails before the document leaves the access point, none once it has been delivered. The FAQ states it plainly.
The workflow, start to finish
- Decide the shape: a credit note alone, or a credit note plus a corrected invoice.
- Raise the Stripe credit note against the original invoice, and finalise it. If a corrected invoice is needed, raise and finalise that too.
- In Peppost, send the credit note over Peppol; confirm the recipient lookup and dispatch. Send the new invoice the same way if you raised one.
- Watch each document reach delivered on the dashboard.
The credit note stays in Stripe as your record, like the invoice it corrects. How to send a Stripe invoice over Peppol covers each delivery state in detail, and the sending guide has the click-path.