Free sandbox · Certified Peppol AP · Multi-country
Peppol API for e-invoicing in just two calls
A Peppol e-invoicing API that hides the BIS schemas, the access-point onboarding, and the schematron. Integrate Peppol into your software, ERP or accounting system, anywhere on the network. 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.
What is the Peppol API?
The Peppol API from e-invoice.be is an e-invoicing API for sending and receiving Peppol e-invoices over the Peppol network. Send compact JSON, we generate compliant Peppol BIS 3.0 UBL XML, route it through a certified Peppol Access Point, and deliver 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 Peppol integration covers the EU and worldwide: send your own invoices, or run Peppol on behalf of your customers.
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
SDKs & libraries
Idiomatic 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.
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
API FAQ
How long it takes, what it costs, what's covered. Code-level answers live in the docs.
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
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 60 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.