Symptoms

What this usually looks like

Wrong company sendsAfter restore Peppol behaves strangelyDifferent Belgian IDs appear across records
Likely cause

What is usually actually broken

The active company record, provider binding, or participant identity drifted after a clone, restore, or multi-company change.

Next steps

Do these before you resend

  1. Confirm which legal entity is active in Odoo at send time.
  2. Compare the bound identifier in Odoo with the participant you expect on the network.
  3. Re-authorize or refresh the binding before retrying sends.
FAQ

What people ask right before they get blocked

Can this happen without an XML validation error?

Yes. The exported XML can still look correct while the provider binding points to the wrong company context.

What usually changed before this started?

Database restores, company duplication, and environment changes are common triggers.

Operator guides

Go one level deeper before you resend

Odoo Peppol triage for Belgium

A calm, ordered checklist for Belgian Odoo users when Peppol starts failing without a clear explanation.

Read the guide
When to resend a Peppol invoice and when to escalate

A 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 guide
Related issues

Similar failure patterns worth checking

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.

Open issue page
Odoo Peppol invalid signature for request

An invalid request signature is usually a provider credential or environment problem, especially after database copies or restores.

Open issue page
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.

Open issue page