Free sandbox · Certified Peppol AP · Multi-country
Peppol e-invoicing API in just two calls
A Peppol e-invoicing API that hides the BIS schemas, the access-point onboarding, and the schematron. Send Peppol invoices by posting JSON, receive Peppol invoices through a signed webhook. Peppol integration with your ERP, accounting system or SaaS, on every Peppol-connected country. Free sandbox, pay-per-invoice from €0.18.
JSON in, UBL out
Skip the XML hell. Send simple JSON. We handle Peppol compliance for you.
Ship fast
Same code from sandbox to production. Flip an env var to go live.
Sandbox first
Test mode emails the UBL XML to you instead of routing it through Peppol. Develop without sending real invoices.
Peppol integration in days, not months
Two REST calls cover send and receive. The API handles BIS 3.0 validation, UBL serialisation, and Peppol routing. PDF to Peppol works too.
Two calls. JSON in, UBL out.
Send the invoice as flat JSON, the API generates Peppol BIS 3.0 UBL XML and routes it through our certified Peppol Access Point. Inbound flows back as JSON.
- •PDF, JSON or UBL accepted on the way in
- •Invoices, credit notes, debit notes, self-billing
- •Per-document timeline of every state change
- 1POST/api/documents201142ms
- 2POST/api/documents/:id/send20289ms
Sandbox without sending
Test mode validates and serializes exactly like production, then emails the UBL XML to you instead of routing it through Peppol. Same code, same shapes, one env var to flip.
- Mode
- Test mode
- Output
- UBL by email
- Cost
- €0
Send on behalf of N customers, not just yourself
Manage tenants through one integration. Create accounts, mint and rotate per-tenant API keys, and register your customers on the Peppol network programmatically. Built for SaaS, ERPs, and managed-service partners.
- •Provision tenants and credentials in code
- •Per-tenant API keys with rotation and revocation
- •Register customers on Peppol on their behalf
- ten-9k2m4p…acme-bvbaLive
- ten-3p8r2t…beta-sarlLive
- ten-7w4x6y…delta-gmbhPending
- ten-5h2k9m…gamma-bvDraft
No XML, no schemas, no headache
We own the BIS 3.0 mapping and the schematron validation. You own the JSON, which uses flat fields like vendor_name and customer_peppol_id.
- •EN16931 + Peppol BIS Billing 3.0 compliance
- •Validation errors with hints, not stack traces
- •Validate JSON or UBL before you commit a doc
Inbound is a webhook, not a poll
Subscribe once, get HMAC-SHA256-signed POSTs on every send and receive event. Polling is also supported via the REST API.
- •document.received, document.sent and their .failed twins
- •X-Signature header verifies authenticity end-to-end
- •Per-webhook delivery history and a /test endpoint
- document.receiveddoc_3k8d9f…just now
- document.sentdoc_2f4h6j…12s ago
- document.sent.faileddoc_8h3j5k…1m ago
- document.receiveddoc_9m2p4r…3m ago
MCP server for AI agents
Twelve read-only tools over the Model Context Protocol. Connect Claude, Cursor or VS Code to inspect invoices, look up Peppol participants, and pull stats. Sends still go through the REST API.
- ›get_document
- ›get_inbox
- ›get_outbox
- ›get_lookup_peppol_id
- ›get_lookup_participants
- ›get_stats
Drop into Cursor or Claude Code
Point your AI coding tool at the OpenAPI spec and ship typed integration code in minutes. The same spec backs our SDKs, the MCP server, and agent-discovery files, so autonomous agents are covered too.
- CursorAdd to chat context
- Claude CodeReference in your prompt
- GitHub CopilotWorkspace reference
What is Peppol e-invoicing?
Peppol is a standardised network for exchanging electronic business documents. It uses a four-corner model: a sender submits an invoice through their Access Point, the Peppol network routes it via SML/SMP lookup, and the receiver's Access Point delivers it. All invoices follow EN16931 and UBL 2.1 (Peppol BIS 3.0). Belgium made B2B Peppol e-invoicing mandatory in January 2026. Over 30 countries are reachable on the network today.
e-invoice.be is a certified Peppol Access Point. The API lets developers send and receive Peppol invoices by posting JSON. The platform handles UBL serialisation, schematron validation, AS4 transport, and participant registration.
What is Peppol e-invoicing?
Peppol e-invoicing is how businesses send invoices as structured data across the Peppol network, instead of as PDFs in email.
Every invoice is a Peppol BIS 3.0 UBL XML document, validated against EN16931 rules and routed through certified Peppol Access Points straight into your customer's ERP or accounting system. Belgium B2B started in 2026, France phases in from 2026, Germany B2B follows in 2027, and the rest of the EU joins under ViDA by 2030. The Peppol network already reaches the UK, Australia, New Zealand, Singapore and dozens of other countries.
What is the Peppol API?
An e-invoicing API for sending and receiving Peppol invoices over the network. Send JSON, receive UBL.
The Peppol API from e-invoice.be takes compact JSON, generates compliant Peppol BIS 3.0 UBL XML, routes it through a certified Peppol Access Point, and delivers it to your customer's inbox. Inbound invoices flow back as JSON or webhook events. Built for ERP, SaaS, and managed-service integrations across every Peppol-connected country. One integration covers the EU and worldwide.
One API, 30+ countries
Every Peppol-connected country reachable through a single integration. Country-specific format profiles handled automatically.
Every format, one endpoint
Post JSON. The API validates, serialises to the right UBL/XML profile, and routes via Peppol. You never touch raw XML.
UBL 2.1
Universal Business Language, the base format for Peppol.
EN16931
European standard for e-invoice semantic data model.
Peppol BIS 3.0
Current Peppol e-invoicing specification.
XRechnung
German CIUS of EN16931 for public sector and B2B.
Factur-X / ZUGFeRD
Hybrid PDF/XML format used in France and Germany.
FatturaPA
Italian SDI e-invoicing format.
OIOUBL
Danish UBL profile for public and private invoicing.
ERP integrations
Connects to every ERP. No plug-in required.
The API is ERP-agnostic. Map your fields to our flat JSON schema and ship.
Peppol for developers
Idiomatic Peppol SDKs for Python, TypeScript, Java, PHP and Ruby
Rich types, auto-retry with backoff, auto-pagination and built-in error handling. Pick a language, copy the install line, and ship.
Or skip the SDKs and call the REST API directly. API documentation.
Ship a Peppol integration in four steps
From zero to production Peppol invoices. The same code runs in sandbox and production.
- 1
Sandbox key in 30 seconds
Create an account, grab a test API key, and start sending invoices to the sandbox immediately. No sales call.
- 2
POST your first JSON invoice
Submit invoice data as flat JSON. The API validates against BIS 3.0, serialises to UBL, and returns the document.
- 3
Receive your first webhook
Subscribe to inbound events. When a Peppol invoice arrives for your participant ID, you get a signed POST.
- 4
Switch to production
Complete KYC (24-48h wire transfer). We register your Peppol participant. Same code, same endpoints. Flip an env var.
API vs. building it yourself
We handle the Peppol infrastructure so you can focus on what makes your product different.
We handle
- Expensive Peppol license
- AS4 transport + SBDH envelope
- TLS certificates and key management
- Schematron validation (BIS 3.0, EN16931)
- Peppol participant registration
- Multi-tenant routing and isolation
- BIS version upgrades and format drift
- SMP/SML lookups and caching
You keep control of
- •Business logic and approval workflows
- •ERP field mapping
- •Customer relationships
- •Invoice numbering and sequencing
- •Reconciliation and error handling
- •Branding and white-label options
- •Data retention policies
Real Peppol, edge cases included
Two calls cover the easy case. The features below cover what actually happens in production: PDF scans that need OCR, receivers with stale SMP records, and schematron rules that fire on a country profile.
PDF to Peppol
Upload a PDF, the API extracts the data and ships a compliant UBL invoice over Peppol.
UBL validation
Validate against Peppol BIS 3.0 and EN16931 schematron rules before sending. No surprise rejections.
Peppol participant lookup
Search and verify any Peppol ID, with capability metadata, before you address an invoice to it.

Production infrastructure
- OpenAPI specFull reference, generated SDKs
- EU-hostedstatus.e-invoice.be is public
- Webhooks + MCPRealtime + AI-agent integrations
Beyond sending invoices
The same integration covers adjacent Peppol workflows.
Self-billing invoices
Issue invoices on behalf of your supplier. Supported as a first-class document type via the API.
Read moreB2G invoicing
Send compliant invoices to government entities across Belgium and the EU via Peppol.
Read morePDF to UBL conversion
Upload a PDF invoice. The API extracts structured data and produces a valid Peppol UBL document.
Read moreAPI FAQ
How long it takes, what it costs, what's covered. Code-level answers live in the docs.
Validate and inspect Peppol invoices with the Peppol Invoice Viewer.
How long does integration take?
A weekend for a tracer-bullet send-and-receive integration; one to two weeks for a production-ready ERP integration with reconciliation and error handling.
The API hides the BIS schemas, schematron, and Access Point onboarding, so most of the work is on your side: mapping ERP fields to our flat JSON and wiring up the inbound webhook.
Do I have to replace my invoicing software?
No. e-invoice.be is the compliance layer that snaps onto your existing stack. Your ERP, accounting suite, or billing system keeps producing invoices the way it always has. The Peppol formatting, validation, routing, and archiving happen below the surface.
We are infrastructure, not an invoicing app.
What does it cost?
- Pro
- from €0.25 per invoice
- Enterprise
- from €0.18 per invoice (volume-negotiated)
- Account, Peppol ID, sandbox
- free
Both sending and receiving are billed per invoice. No setup fees, no monthly minimums.
Is there a sandbox? Can I evaluate before signing anything?
Yes. Open an account, get a test API key in 30 seconds, and send invoices that get validated and serialized exactly like production but emailed back to you instead of routed over the Peppol network. The same code goes to production by flipping an env var. No sales call required.
What about receiving invoices, not just sending?
Inbound is webhook-driven. Subscribe once, receive a signed POST whenever a Peppol invoice arrives for your participant ID, and fetch the full document via the API.
Polling endpoints are also available if you can't expose a webhook endpoint.
Which countries and mandates does this cover?
Every country reachable on the Peppol network. One integration covers:
- •Belgium (B2B mandate, 2026)
- •France (mandate phasing in from 2026)
- •Germany (B2B mandate, 2027)
- •Poland, Romania, Spain and the rest of the EU under ViDA
- •UK, Australia, New Zealand, Singapore and other Peppol-connected geographies
Country-specific BIS profiles and schematron rules are handled in the mapping; you don't manage them.
Can I run Peppol on behalf of my customers?
Yes. Manage tenants through one integration: provision accounts, mint and rotate per-tenant API keys, and register your customers on the Peppol network programmatically. Built for ERPs, SaaS platforms, and managed-service partners running invoicing for many companies.
What if my ERP only emits PDFs?
Upload the PDF, the API extracts the data, validates against Peppol BIS 3.0, and ships a compliant UBL invoice. Useful when the ERP can't be persuaded to emit structured invoice data on day one.
Do I need KYC to start?
- Sandbox / lookups
- no KYC
- Send over Peppol
- KYC required (24–48h)
KYC is a one-time wire-transfer verification. It keeps spammers off the network and protects deliverability for every legitimate sender.
What is a Peppol e-invoice?
A Peppol e-invoice is a structured electronic document exchanged over the Peppol network. It follows the EN16931 European standard and uses UBL 2.1 XML (Peppol BIS 3.0). Unlike a PDF, a Peppol e-invoice is machine-readable from the start, so it can be processed automatically by any receiving system without manual data entry.
Is e-invoicing mandatory in Belgium?
Yes. Since January 2026, all Belgian B2B transactions must use structured e-invoicing via the Peppol network. This applies to every VAT-registered business in Belgium. The mandate covers domestic B2B invoices. B2G (business-to-government) e-invoicing was already mandatory before this.
What is Peppol for e-invoicing?
Peppol (Pan-European Public Procurement OnLine) is a network and set of standards for exchanging electronic business documents. For e-invoicing, it provides a four-corner model: the sender's Access Point transmits the invoice to the receiver's Access Point over a secure AS4 channel, with routing handled by SML and SMP lookups. This means any two businesses on the Peppol network can exchange invoices without bilateral integration.
Which countries use Peppol for e-invoicing?
Over 30 countries are connected to the Peppol network. This includes Belgium, the Netherlands, Germany, France, Italy, Sweden, Norway, Denmark, Finland, Ireland, Poland, Singapore, Australia, New Zealand, Japan, and the UK. The EU ViDA regulation will extend mandatory e-invoicing across the bloc by 2030. e-invoice.be reaches all Peppol-connected countries through a single API integration.
How does Peppol e-invoicing work?
Peppol uses a four-corner model:
- Corner 1: the sender (your business)
- Corner 2: the sender's Access Point (e-invoice.be)
- Corner 3: the receiver's Access Point
- Corner 4: the receiver
When you send an invoice via the API, e-invoice.be validates it against BIS 3.0, serialises it to UBL XML, looks up the receiver's Access Point via SMP, and transmits the document over a secure AS4 channel.
How do I connect to the Peppol network?
Create an account on e-invoice.be, complete the one-time KYC verification (24-48h), and we register your business as a Peppol participant. You get a Peppol ID and can start sending and receiving invoices immediately. No need to become a certified Access Point yourself. The API and SDKs handle all the protocol-level complexity.
Is the Peppol API free?
The account, Peppol ID registration, and sandbox are free. Production usage is pay-per-invoice:
- Pro
- from €0.25 per invoice
- Enterprise
- from €0.18 per invoice
Both sending and receiving are billed. No setup fees, no monthly minimums.
Can I convert PDF invoices to Peppol UBL via the API?
Yes. Upload a PDF invoice to the API, and it extracts the structured data using OCR and field recognition, validates the result against Peppol BIS 3.0, and produces a compliant UBL 2.1 XML document. You can then send it over Peppol or download the UBL for archival. You can also validate and inspect invoices using the free Peppol Invoice Viewer tool.
Which ERP systems do you integrate with?
The API is ERP-agnostic. It works with SAP, Oracle, Microsoft Dynamics 365, NetSuite, Odoo, Sage, Exact, Twinfield, Yuki, and any custom ERP that can make HTTP calls. You map your ERP fields to our flat JSON schema. No plug-ins or middleware required. SDKs are available for Python, TypeScript, Java, PHP, and Ruby.
Do you support self-billing and credit notes?
Yes. The API supports invoices, credit notes, debit notes, self-billing invoices, and self-billing credit notes as first-class document types. Each uses the same POST endpoint with a document_type field. Self-billing lets you issue invoices on behalf of your supplier, which is common in logistics, staffing, and marketplace scenarios.
What is Peppol BIS 3.0?
Peppol BIS 3.0 (Business Interoperability Specification) is the current invoicing specification on the Peppol network. It defines the UBL 2.1 XML structure, validation rules (schematron), and business rules that every Peppol invoice must follow. BIS 3.0 implements the European EN16931 standard. The e-invoice.be API handles BIS 3.0 compliance automatically: you post JSON, and the API serialises and validates to BIS 3.0.
What is the Peppol MCP server?
The Peppol MCP (Model Context Protocol) server lets AI agents and LLM-powered tools interact with the e-invoice.be API programmatically. It exposes 12 read-only tools for looking up Peppol participants, validating invoices, and querying invoice data. Install it with npx e-invoice-api-mcp@latest or connect via the streamable HTTP endpoint at api.e-invoice.be/mcp.
Scoping a Peppol integration? 15 minutes saves a week.
Bring your ERP fields, your timeline, and the BIS 3.0 edge cases you're worried about. We'll walk through the mapping, the sandbox plan, and what production looks like.

Vendor-neutral. No obligation to ship on e-invoice.be.