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.
What is usually actually broken
The invoice left Odoo, but the target participant resolution or delivery handoff failed downstream.
Do these before you resend
- Verify the recipient identifier outside the ERP.
- Compare the Odoo company binding with the recipient's live publication.
- Use the analyzer to decide whether the issue is routing or provider-side.
What people ask right before they get blocked
Usually not. If Odoo shows sent status, the more common problem is participant resolution, publication mismatch, or downstream provider state.
Not before confirming the participant identity and provider state. Blind retries can create noise without fixing the route.
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 fast decision guide for operators who need to know whether the next step is a resend, a partner-record fix, or a provider ticket.
Read the guideSimilar failure patterns worth checking
Multi-company setups, duplicates, and restored databases can leave Odoo pointing at the wrong Belgian participant even when the invoice itself looks fine.
Open issue pageA 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.
Open issue pagePassing XML validation is not enough. Routing, registration, and provider state can still block delivery. This page explains the gap.
Open issue page