Odoo says 'PEPPOL is not valid' even though the customer looks registered
This exact Odoo message usually means the ERP is validating the wrong participant identity, stale evidence, or the wrong identifier scheme rather than proving the customer is truly unavailable.
What is usually actually broken
Odoo is validating a different scheme-plus-value pair than the one the recipient expects, or its participant evidence is stale.
Do these before you resend
- Compare the exact participant identifier in Odoo against the live participant the customer expects you to use.
- Check whether the record should use 0208, 9925, or another explicit scheme.
- Regenerate the invoice only after the partner record matches the intended route.
The fastest path from this page is a prefilled diagnosis. It opens the analyzer with this exact issue pattern already loaded and immediately prepares the EUR 9 fix-pack preview when the route looks blocked or risky.
Buy the rescue kit for this exact issue
If this page matches the exact blocker, you can unlock the issue-specific rescue kit directly without running the analyzer first.
Current public evidence for this exact failure
r/Odoo · March 2026
Open sourceWhat people ask right before they get blocked
No. It proves the ERP does not trust the identifier it is using. That can still happen when the customer is registered under a different scheme or value.
Compare the full scheme-plus-value pair stored in Odoo against the exact participant the counterparty or live network evidence expects.
Go one level deeper before you resend
A calm, ordered checklist for Belgian Odoo users when Peppol starts failing without a clear explanation.
Read the guideA short checklist that filters out the most common Belgian routing mistakes in minutes.
Read the guideSimilar failure patterns worth checking
If Odoo's endpointverification flow says a customer is not on Peppol while other evidence shows they are, the mismatch is usually in the exact route Odoo is verifying rather than in the customer's existence.
Open issue pageIf Odoo marks every customer as not on Peppol all at once, treat it as an environment or provider incident first, not a data-cleanup job on every partner record.
Open issue pageThis contradiction usually means Odoo has the wrong identifier, wrong scheme, or stale participant evidence. This page breaks down the mismatch clearly.
Open issue page