Symptoms

What this usually looks like

EndpointID missingXML exists but cannot routePartner says resend but nothing changes
Likely cause

What is usually actually broken

The exported document does not contain a resolvable participant identifier, or the ERP never mapped the counterparty to a Peppol-ready endpoint.

Next steps

Do these before you resend

  1. Check the source partner record before editing the XML.
  2. Confirm the exact scheme-plus-value pair the recipient expects.
  3. Regenerate the invoice after the endpoint identifier is stored correctly.

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.

Direct help

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.

FAQ

What people ask right before they get blocked

Can the XML still look valid without EndpointID?

Yes. The file can still look like a clean XML export while missing the routing data Peppol needs.

Should I paste the identifier into the XML by hand?

No. Fix the partner or export mapping in the source system so every regenerated invoice contains the right endpoint.

Operator guides

Go one level deeper before you resend

Belgium Peppol routing checklist before you contact support

A short checklist that filters out the most common Belgian routing mistakes in minutes.

Read the guide
Fixing missing Peppol profile fields before delivery fails

A practical guide for missing CustomizationID, profile markers, and other export-level metadata that leave XML looking valid but unusable in Peppol workflows.

Read the guide
Related issues

Similar failure patterns worth checking

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.

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

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

Open issue page