What is Peppol?
Peppol (Pan-European Public Procurement Online) is the
dominant e-invoicing network in Europe. It’s a set of open specifications that
define how businesses exchange electronic documents — invoices, credit notes,
purchase orders — across borders, systems, and formats. Think of it as SMTP for
invoices. Your ERP connects to a certified Access Point. The Access Point
routes your invoice to the receiver’s Access Point. Both sides speak the same
language (Peppol BIS Billing 3.0), regardless of what ERP, accounting system,
or country either party operates in. Originally an EU-funded project launched
in 2008 for public procurement, Peppol now covers B2B e-invoicing across 39+
countries with 300,000+ registered participants. As of 2026, Belgium, Germany,
and Poland mandate Peppol for B2B transactions. France, Spain, and others are
adding Peppol support alongside national systems.
How Peppol Works
The Four-Corner Model
Peppol uses a federated architecture called the four-corner
model:
Corner 1: The sender (your business or your
customer’s ERP)
Corner 2: The sender’s Access Point (certified Peppol service
provider)
Corner 3: The receiver’s Access Point
Corner 4: The receiver
The sender’s ERP generates a Peppol BIS invoice and submits
it to their Access Point. The Access Point looks up the receiver’s Peppol ID in
the network’s directory (SML/SMP), finds the receiver’s Access Point, and
delivers the invoice via the AS4 transport protocol. The receiver’s Access
Point delivers the invoice to the receiver’s system.
No direct connection between sender and receiver is needed.
No bilateral agreements. No format negotiation. As long as both sides have a
certified Access Point and a registered Peppol ID, they can exchange documents.
Access Points
An Access Point is a certified service provider that
connects your business to the Peppol network. It handles message routing,
delivery receipts, and protocol compliance.
Access Points are certified by a Peppol Authority (one per
country or region). Certification requires passing conformance tests for
message handling, security, and SLA compliance.
As a business, you choose one Access Point. As an ERP
vendor, you either become a certified Access Point yourself (significant
investment, full control) or you integrate with an existing one via their API.
Most mid-market ERP vendors choose the second option. The
Access Point handles the transport; the ERP vendor focuses on generating valid
invoices.
Peppol IDs
Every participant on the Peppol network has a unique
identifier. The format combines a scheme ID (identifying the type of
identifier) with the actual value.
Common scheme IDs:
|
Scheme |
Country |
Identifier Type |
|
0208 |
Belgium |
KBO/BCE enterprise number |
|
0106 |
Netherlands |
KvK Chamber of Commerce number |
|
9930 |
Germany |
VAT number (USt-IdNr) |
|
0007 |
International |
GLN (Global Location Number) |
|
0088 |
International |
EAN Location Code |
|
9906 |
Italy |
Codice Fiscale |
In UBL, a Peppol ID looks like this:
<cbc:EndpointID
schemeID="0208">0123456789</cbc:EndpointID>
Getting the scheme ID wrong is one of the most common
integration errors. The scheme must match the identifier type and the country.
An invoice with a Dutch KvK number but scheme ID 9930 (German VAT) will be
rejected.
SML and SMP (Service Discovery)
The Service Metadata Locator (SML) and Service Metadata
Publisher (SMP) form Peppol’s directory system. When an Access Point needs to
deliver an invoice, it queries the SML to find which SMP holds the receiver’s
metadata, then queries the SMP to get the receiver’s Access Point URL and
supported document types.
This happens automatically — you don’t interact with SML/SMP
directly unless you’re building an Access Point.
Peppol BIS Billing 3.0
Peppol BIS (Business Interoperability Specification) Billing
3.0 is the invoice format specification. It’s a CIUS (Core Invoice Usage
Specification) of EN
16931, meaning it takes the European e-invoicing standard and adds
Peppol-specific rules on top.
The underlying syntax is UBL 2.1 (Universal Business
Language). An alternative CII syntax exists but UBL is the default for most
implementations.
Every Peppol invoice must pass:
- UBL
2.1 XML schema validation
- EN
16931 business rules (BR-01 through BR-65)
- Peppol-specific
rules (PEPPOL-EN16931-R001 through R080)
- Country
CIUS rules (if applicable — e.g., XRechnung for Germany, BEvCIUS for
Belgium)
The specification identifier that goes in your invoice:
urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0
Full specification: docs.peppol.eu/poacc/billing/3.0
Why Peppol Matters
Where Peppol Is Mandatory (2026)
The mandate landscape is moving fast. Here’s where Peppol
stands as of March 2026:
|
Country |
Status |
Peppol Role |
Details |
|
Belgium |
Mandatory B2B (Jan 2026) |
Required network |
Grace period ended March 31 |
|
Germany |
Reception mandatory (Jan 2025), sending phased 2027–2028 |
XRechnung delivered via Peppol |
Largest EU market |
|
Poland |
KSeF mandatory |
Peppol supported alongside KSeF |
Dual-track system |
|
France |
Phased from Sep 2026 |
Supported via certified platforms (PDP) |
Peppol is one of several options |
|
Italy |
FatturaPA mandatory |
Peppol growing for cross-border |
SDI remains dominant domestically |
|
Netherlands |
Voluntary, widely adopted |
De facto standard |
Highest Peppol adoption in EU |
|
Norway |
B2G mandatory |
Required for public sector |
Early Peppol adopter |
|
Singapore |
Nationwide e-invoicing |
Peppol-based InvoiceNow |
Asia-Pacific expansion |
|
Australia / NZ |
B2G pilots |
Peppol-based eInvoicing |
Growing adoption |
Why ERP Vendors Need Peppol Support
If you build or maintain an ERP that serves EU businesses,
Peppol support is no longer optional in most markets. The question isn’t
whether to support it — it’s how to support it without breaking your existing
invoice pipeline.
The common pitfall: adding Peppol as an afterthought. ERP
generates a PDF or flat file, a converter turns it into UBL, and the result
gets pushed to an Access Point. This works until it doesn’t — and it stops
working exactly when your customer needs it most (month-end, audit,
cross-border transaction with edge-case VAT rules).
The structural approach: validate every invoice against all
four rule layers before it reaches the Access Point. Catch schema errors,
missing fields, wrong scheme IDs, and rounding mismatches before they become
rejections.
That’s what a pre-submission compliance gate does. It sits
between your ERP export and the Access Point, and it makes sure nothing leaves
your system that would get rejected on the other end.
Common Peppol Validation Errors
These are the errors we see most frequently in production
Peppol pipelines:
PEPPOL-EN16931-R010 — Buyer reference is missing
or invalid. Required for all Peppol invoices. Maps to BT-10 (Buyer Reference).
Many ERPs leave this blank by default.
PEPPOL-EN16931-R001 — Business process
identifier missing. The ProfileID element must contain the Peppol BIS 3.0
process identifier.
BR-CO-10 — Sum of invoice line net amounts
doesn’t match the total. Usually a rounding issue — especially common with
Belgian invoices after the 2026 rounding rule change.
BR-16 — Order reference missing when required.
Some country CIUS rules make this mandatory (Germany’s BR-DE-15 requires a
buyer reference for public sector invoices).
BR-CO-09 — VAT identifier prefix doesn’t match
the country code. The VAT number must start with the correct two-letter country
prefix.
No comments:
Post a Comment