On this page
The 4-corner model in one minute
Corner 1 is you (the sender), corner 2 is your access point. Corner 3 is the recipient’s access point, corner 4 is the recipient. Routing happens between access points based on a recipient participant ID.
- You do not send to an email address; you send to a participant ID
- The recipient chooses their access point
- Profiles and validation rules must match (BIS/CIUS)
Participant IDs and endpoint discovery
A participant ID combines a scheme and a value (for example a business identifier). The scheme matters: a valid-looking number can still fail if the scheme is wrong.
In projects, “we can’t deliver invoices” is frequently an addressing issue: wrong scheme, wrong ID, or the recipient is not registered for the document type/profile you use.
Profiles: BIS vs CIUS (why “just UBL” is not enough)
PEPPOL BIS defines specific invoice rules and constraints on top of UBL. Many countries then apply CIUS rules to align with national requirements.
Treat the profile as a contract: if you generate “generic UBL”, you will likely fail schematron validation.
Validation and code lists (units, VAT categories, payment means)
Even if routing works, invoices can still be rejected for wrong code list values (e.g., unit codes), inconsistent totals, or missing business references.
Make code lists part of your user input validation and test suite.