Select an OpenPeppol-certified access point provider; your business does not connect directly to Peppol — all traffic flows through your access point's API, which handles SMP/SML routing, document wrapping (AS4), and delivery.
Register your business on the Peppol network through your access point provider; the provider registers your Peppol ID (typically ISO6523 scheme + your VAT or company number) in the Peppol SMP so buyers can discover your endpoint.
Build each invoice as a valid UBL 2.1 or CII XML document conforming to the Peppol BIS Billing 3.0 specification and the EN 16931 semantic model; validate against the official PINT or BIS Schematron rules before sending.
Submit the validated XML to your access point's outbound API (the exact endpoint and authentication method varies by provider); provide the recipient's Peppol ID so the access point can look up their endpoint in the SMP.
Monitor delivery status via your access point's status API or webhook; Peppol delivery uses AS4 messaging, and your access point will surface errors such as UNKNOWN_RECIPIENT (not registered on Peppol) or VALIDATION_ERROR.
For country-specific CIUS requirements (e.g., PINT-SG for Singapore, CIUS-REC-DE for German federal procurement, PINT-NO for Norway) generate the appropriate CIUS-flavored XML — a generic BIS 3.0 document may be rejected by receivers enforcing a national CIUS.
Known gotchas
BIS 3.0 is a specification, not a single endpoint; every access point exposes its own API — there is no universal Peppol submission URL; always use your access point provider's documented API.
Country-specific CIUS rules layer additional mandatory fields on top of BIS 3.0; a document valid against the base BIS 3.0 Schematron may still be rejected by a receiver enforcing a national CIUS — validate against both rule sets.
Peppol ID registration in the SMP is not instantaneous; newly registered IDs can take minutes to hours to propagate through the SML/SMP infrastructure — do not expect immediate deliverability after onboarding.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp