Symptoms

What this usually looks like

Recipient exists on Peppol but delivery still failsERP stores a VAT-based Peppol IDYou see both 0208 and 9925 in different tools
Likely cause

What is usually actually broken

The recipient is published under a different Belgian identifier than the one your ERP or access point is using.

Next steps

Do these before you resend

  1. Search the recipient by company registration number first and compare it to the stored participant ID.
  2. Prefer 0208 for Belgian enterprise-number routing when your provider supports it.
  3. Re-run the diagnosis with both IDs before resending.
FAQ

What people ask right before they get blocked

Is 9925 always wrong in Belgium?

No. 9925 can still exist, but delivery workflows often behave better when the recipient is stored and resolved under the enterprise-number route using 0208.

Should I edit the XML by hand?

No. Fix the partner record in the source system first, then regenerate the invoice so the exported XML matches the intended route.

Operator guides

Go one level deeper before you resend

Belgium Peppol routing checklist before you contact support

A short checklist that filters out the most common Belgian routing mistakes in minutes.

Read the guide
Related issues

Similar failure patterns worth checking

My customer has a GLN in Odoo, but I still get 'no valid Peppol ID'

A stored GLN or alternate identifier does not guarantee Odoo will resolve the exact Peppol participant the recipient expects. This page shows where the mismatch happens.

Open issue page
Wrong endpoint scheme in a Belgian Peppol invoice

The invoice can look structurally valid and still fail because the participant scheme does not match the recipient's published routing identity.

Open issue page
No valid Peppol ID found for a Belgian customer

This usually means the customer is registered under a different identifier or not fully published. Here is how to separate a real absence from a lookup mismatch.

Open issue page