High-intent Belgium routing confusion 0208 vs 9925 in Belgium: which Peppol ID should you use?
Belgian Peppol delivery often fails because the counterparty is stored with the wrong identifier scheme. This page explains when 0208 and 9925 diverge and what to verify first.
Check a Belgian participant now Blocked Odoo send flow Odoo says Peppol sent the invoice, but the customer never received it
If Odoo marks an invoice as sent while the customer sees nothing, you are usually dealing with routing, registration, or access-point issues rather than broken invoice content.
Diagnose Odoo delivery Odoo maintenance and trust issues What Odoo means by 'Revalidate IDs' in Peppol
The revalidation prompt usually signals stale participant metadata or a registration mismatch. This page shows what to refresh before you resend.
Refresh the right identifiers Failed partner onboarding 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.
Validate the counterparty Directory lookup confusion Partner not found in the Peppol Directory
A missing directory hit does not always mean the company is absent from the network. Learn when the directory is advisory and what else to check.
Compare directory evidence Endpoint-level routing mismatch 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.
Check endpoint structure Access-point authentication failure Odoo Peppol invalid signature for request
An invalid request signature is usually a provider credential or environment problem, especially after database copies or restores.
Triage the signature failure Validation passed but delivery failed Why a valid invoice can still fail on Peppol
Passing XML validation is not enough. Routing, registration, and provider state can still block delivery. This page explains the gap.
See the missing layer German document rejection XRechnung buyer reference missing
German XRechnung flows commonly reject invoices missing the buyer reference. Learn how to spot the issue fast and avoid another failed submission.
Check XRechnung fields Rule-code translation BR-CO-10 explained without validator jargon
If you hit BR-CO-10, the invoice totals do not reconcile. This page translates the rule into practical bookkeeping and ERP checks.
Translate BR-CO-10 Profile-field export failure Missing CustomizationID in a Peppol invoice
A Peppol invoice can contain the business data and still fail because the export is missing the profile marker tools expect to classify it correctly.
Check profile metadata Inconclusive lookup triage Peppol Directory inconclusive: what it means before you resend
An inconclusive directory result is not a green light and not a final rejection. This page explains how to handle the gray zone without wasting retries.
Review the lookup evidence VAT validation friction Belgian VAT number not found in VIES
If VIES cannot confirm the Belgian VAT number you used for an e-invoice workflow, you need to separate a real format problem from a temporary upstream gap.
Check the VAT evidence Odoo multi-company drift Odoo Peppol is using the wrong company binding
Multi-company setups, duplicates, and restored databases can leave Odoo pointing at the wrong Belgian participant even when the invoice itself looks fine.
Check the company binding Totals and rounding failure Cash rounding is breaking Peppol totals
Rounding logic that looks harmless in the ERP can still produce totals that fail e-invoice validation. This page isolates the most common pattern.
Check the totals logic Identifier-format mismatch 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.
Compare the stored identifier