Recurring invoices and Peppol in Belgium

Run Belgian subscriptions and retainers on Peppol: fresh invoice numbers each cycle, re-check participant lookup drift, and use credit notes for plan changes.

Updated

  • Belgium

One job: treat each cycle as a new Peppol invoice

Subscriptions, retainers, and monthly service fees feel automatic, but Peppol does not bill “the same invoice again”. Each period is a new structured invoice: new number, current amounts, current buyer identity, and a fresh send through your Access Point.

This article covers recurring ops under Peppol. For document roles, see invoice vs credit note vs quote. For numbering discipline, see invoice numbering in Belgium.

What must be new every cycle

Field / stepRecurring ruleWhy
Invoice numberAlways a new number in sequenceSent Peppol invoices are immutable; reuse breaks auditors and AP
Issue date / periodReflect the billing periodBuyer matching and VAT timing
Amounts and VATRebuild from current planPrice changes and regime must match reality
Buyer Peppol IDResolve at send timeAccess Point or entity can change
Payment referenceKeep or rotate per your cash processOGM can stay stable if that is your rule (OGM guide)

Do not edit a delivered monthly invoice and resend it. If August was wrong, leave August and correct with a Peppol credit note, then issue a new invoice if a replacement charge remains.

Lookup drift on long-running contracts

A customer who was reachable in January can fail in July after an Access Point migration, KBO change, or withdrawn SMP. Build lookup into the recurring job, not only into onboarding.

Practical cadence:

  1. First send - full participant lookup (scheme 0208, BIS Billing).
  2. Every cycle - let the Access Point resolve again; treat “not found” as a hard stop.
  3. On failure - re-verify the enterprise number with the customer; do not burn the next invoice number on blind retries.
  4. After legal-entity change - update master data before the next scheduled send (client not on Peppol if they are temporarily unreachable).
Lookup drift

When a previously valid Peppol participant ID stops resolving (or loses BIS Billing capability) while your subscription schedule still assumes last month's routing.

Plan changes: upgrade, downgrade, cancel

ChangePeppol move
Price increase from next periodNext cycle invoice uses the new amount; no credit needed for past periods already accepted
Mid-period downgrade with refundCredit note for the delta (billing reference to the paid invoice), then continue next cycle at the new price
Full cancel after invoice sentFull or partial credit note; stop the schedule; do not void by editing XML
Wrong VAT or wrong buyer ID on a runCredit the bad invoice; fix master data; issue a correct new invoice

Automation should generate CreditNote documents with the same seriousness as invoices. Informal “pay less next month” emails leave the Peppol open item wrong.

Recurring Peppol checklist

  1. Schedule creates a new invoice each period (never clones a sent document ID).
  2. Numbering stays continuous and unique (numbering rules).
  3. Lookup / routing is checked before each send.
  4. Plan changes use referenced credit notes, not silent amount tweaks.
  5. Archive each structured original with its delivery status.
  6. Revisit VAT category if the service mix changes (VAT regimes).
Recurring invoices and Peppol in Belgium · OrdoGrid