PEPPOL-EN16931-R020 / R010: electronic address MUST be provided
The official rule
Seller electronic address MUST be provided (R020). Buyer electronic address MUST be provided (R010).
Rule pages: PEPPOL-EN16931-R020 PEPPOL-EN16931-R010 PEPPOL-EN16931-CL008
What it means
cbc:EndpointID is the party's address on the Peppol network: it says where the invoice is delivered and who sent it. In EN 16931 alone it can be absent, which is why software that generates "EN 16931 invoices" often leaves it out; Peppol requires it for both parties. PEPPOL-EN16931-CL008 is the sibling error: the element exists, but its schemeID is not on the official list.
Common causes
- the invoice was generated as plain EN 16931 or by a PDF-to-UBL converter;
- the customer record in your software has no enterprise or VAT number;
- the element is present but in the wrong place: it must be the first element inside
cac:Party; - the scheme is a name instead of a code, such as
BE:ENorBE:VAT(CL008).
Example
Wrong:
<cac:Party> <cac:PostalAddress>…</cac:PostalAddress>
Right:
<cac:Party> <cbc:EndpointID schemeID="0208">0123456749</cbc:EndpointID> <cac:PostalAddress>…</cac:PostalAddress>
How to fix it
- For a Belgian company use the enterprise number with
schemeID="0208": Peppol service providers describe it as the primary Belgian identifier. - The alternative is the VAT number with
schemeID="9925", writtenBE0123456749, if the party is registered under it. - Check that the buyer is actually registered under that identifier, in the Peppol Directory or through your provider. A valid XML can still be undeliverable.
- Add the element for both parties, as the first child of
cac:Party.
Automatic repair does not add this: which identifier a company is registered under is a fact about that company, not something the invoice can tell us.
Check your invoice against the Peppol rules
Paste the UBL XML: you get every error at once (UBL schema, EN 16931, Peppol BIS 3.0), with the fix for each one. Free, 3 checks a day, no account. The file is not stored.
Frequently asked questions
0208 or 9925: which one should I use?
Use the one the recipient is registered under. Providers treat 0208 as the default in Belgium; 0208 and 9925 are separate registrations even for the same company.
The validator passes, but the invoice does not arrive. Why?
A validator only reads the document. Delivery also needs the recipient to be registered on Peppol for this document type, which only your access point or the Peppol lookup can tell.
Where exactly does the element go?
Inside cac:AccountingSupplierParty/cac:Party and cac:AccountingCustomerParty/cac:Party, before every other child of cac:Party. UBL is strict about order.
Other Peppol errors
- PEPPOL-COMMON-R043: Belgian enterprise number MUST be stated in the correct format
- PEPPOL-EN16931-R003: buyer reference or purchase order reference missing
- PEPPOL-EN16931-R001 / R004 / R007: the two identifiers at the top of the invoice
- BR-CO-15, BR-CO-10, PEPPOL-EN16931-R120: the amounts do not add up