Symptoms

What this usually looks like

Sent status in OdooCustomer has no invoiceNo obvious XML validation error
Likely cause

What is usually actually broken

The invoice left Odoo, but the target participant resolution or delivery handoff failed downstream.

Next steps

Do these before you resend

  1. Verify the recipient identifier outside the ERP.
  2. Compare the Odoo company binding with the recipient's live publication.
  3. Use the analyzer to decide whether the issue is routing or provider-side.
FAQ

What people ask right before they get blocked

Does this mean my XML is broken?

Usually not. If Odoo shows sent status, the more common problem is participant resolution, publication mismatch, or downstream provider state.

Should I resend immediately?

Not before confirming the participant identity and provider state. Blind retries can create noise without fixing the route.

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 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.

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

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