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.

// 1. Submit your invoice data
POST /api/documents
// 2. Send via Peppol network
POST /api/documents/:id/send

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
Request log2 calls · 231ms
  1. 1POST/api/documents201142ms
  2. 2POST/api/documents/:id/send20289ms
Delivered to participant inbox
Read the quickstart

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.

Active
Sandbox
Switch
Production
Mode
Test mode
Output
UBL by email
Cost
€0
Get sandbox keys

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
Tenants4 of 142
  • ten-9k2m4p…acme-bvbaLive
  • ten-3p8r2t…beta-sarlLive
  • ten-7w4x6y…delta-gmbhPending
  • ten-5h2k9m…gamma-bvDraft
One organization key · N tenants
Request access

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
Request · JSON
vendor_name: "Acme NV"
customer_peppol_id:
"0208:0123456789"
invoice_id: "INV-101"
items: [...]
Response · UBL
<?xml version="1.0"?>
<Invoice xmlns="…">
<ID>INV-101</ID>
…BIS 3.0…
</Invoice>
Schema reference

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
Event streamLive
  • document.receiveddoc_3k8d9f…just now
  • document.sentdoc_2f4h6j…12s ago
  • document.sent.faileddoc_8h3j5k…1m ago
  • document.receiveddoc_9m2p4r…3m ago
HMAC-SHA256 · X-Signature header
Webhook docs

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.

mcp tools12 available
  • get_document
  • get_inbox
  • get_outbox
  • get_lookup_peppol_id
  • get_lookup_participants
  • get_stats
Claude · Cursor · VS Code
MCP server

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.

Paste this into your AI tool
https://api.e-invoice.be/api/openapi.json
OpenAPI 3.1 · always in sync with the API
  • CursorAdd to chat context
  • Claude CodeReference in your prompt
  • GitHub CopilotWorkspace reference
Also discoverable: agent.json · A2A · MCP server
View OpenAPI spec

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.

TypeScript

Node.js / TypeScript

npm: e-invoice-api

Learn more
Python

Python

PyPI: e-invoice-api

Learn more
PHP

PHP

Packagist: e-invoice/e-invoice-api

Learn more
Ruby

Ruby

RubyGems: e-invoice-api

Learn more
Java

Java

Maven: be.einvoice:einvoice-api

Learn more
MCP

Peppol MCP Server

MCP server · 12 read-only tools

Or skip the SDKs and call the REST API directly. API documentation.

Ready for production

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.

API FAQ

Before you integrate

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.

Peppol API for E-Invoicing | Free Sandbox + SDKs | e-invoice.be