Skip to content

Credit Notes

Issue credit notes to correct or cancel previously sent invoices on the Peppol network.

When to Issue a Credit Note

Credit notes are used to partially or fully reverse a previously sent invoice. Common scenarios include:

  • Full cancellation — the entire invoice was sent in error
  • Partial correction — wrong quantity, price, or VAT rate on some lines
  • Returns — goods returned by the buyer
  • Post-delivery discount — agreed discount after invoice was sent

Sending a Credit Note

Use peppol.creditNotes.send() with the same structure as an invoice. The key difference: you must include an invoiceReference pointing to the original invoice number.

Required Fields

  • invoiceReference — the number of the original invoice being credited
  • number — a unique credit note number (e.g. CN-2026-001)
  • from, to, lines — same as invoice
The invoiceReference field is mandatory for credit notes. Omitting it will result in a validation error — Peppol BIS 3.0 requires every credit note to reference the invoice it corrects.
Credit notes follow the same status lifecycle as invoices. Track delivery with Document Status and receive updates via Webhooks (creditnote.sent, creditnote.received).
import { Peppol } from "@getpeppr/sdk";

const peppol = new Peppol({ apiKey: "sk_live_..." });

// A credit note MUST reference the original invoice
const creditNote = await peppol.creditNotes.send({
  number: "CN-2026-001",
  invoiceReference: "INV-2026-042",  // required

  from: { name: "Stark Industries BVBA", peppolId: "0208:BE0476748862", country: "BE" },
  to:   { name: "Wayne Enterprises NV",  peppolId: "0208:BE0123456789", street: "Avenue Louise 54", city: "Brussels", postalCode: "1050", country: "BE" },

  lines: [
    { description: "Arc Reactor Maintenance Q1 — cancelled", quantity: 1, unitPrice: 50_000, vatRate: 21 },
  ],

  paymentTerms: "Refund within 14 days",
  paymentIban: "BE68539007547034",
});

console.log(`Credit note sent: ${creditNote.id}`);