What is e-invoice.be?
e-invoice.be is a recognised Peppol Access Point and SMP that operates under the Belgian Peppol Authority (BOSA). Companies in all countries can use it to send and receive electronic invoices on the Peppol network. With the API you can:- Send invoices and credit notes from JSON
- Upload UBL XML that your ERP system generates
- Create invoices from PDF files
- Receive documents from other Peppol participants
- Give Peppol e-invoicing to your own customers through the reseller programme

Who uses e-invoice.be
- Individual companies in many industries (manufacturing, services, retail)
- Public and private listed companies
- SaaS companies, through the reseller programme
- Public and government agencies
- Companies with or without an ERP system
Peppol is an international network for electronic invoicing. E-invoices that you send through Peppol comply with the European standard EN 16931 and are recognised in many countries outside Europe.
How Peppol works
The Peppol network uses a 4-corner model for the exchange of e-invoices between companies:
- Corner 1: Your company (the sender)
- Corner 2: Your Access Point (e-invoice.be)
- Corner 3: The Access Point of the receiver
- Corner 4: The company of the receiver
Get started
1
Create an account
Sign up at app.e-invoice.be.
2
Create a sandbox company
A sandbox company runs in test mode. Nothing goes to the Peppol network.
3
Check the API key
Call
GET /api/me/ with the API key of the sandbox company.4
Validate the invoice
Send the invoice JSON to
POST /api/validate/json.5
Create the document
Send the same JSON to
POST /api/documents/.6
Send the document
Call
POST /api/documents/{document_id}/send.Quickstart
Do each step with complete requests and responses
Core features
Create e-invoices
Send invoices and credit notes through Peppol from a JSON payload:Invoice
peppol_ids of your company.
Create e-invoices
Create and send an e-invoice
Validate before you send
POST /api/validate/json examines the invoice JSON and does not create a document.
Validation is not a separate mandatory call.
POST /api/documents/ rejects a payload that does not pass the same rules. Use POST /api/validate/json while you develop, because it returns all rule failures and the generated UBL.Validation during development
Validate invoices while you develop
Look up Peppol participants
Make sure that a customer can receive e-invoices before you send. This endpoint does not require an API key.Look up Peppol participants
Find and examine the Peppol IDs of your customers
Receive documents
Documents that other Peppol participants send to your company go into the inbox.Receive documents
Find received documents and download the UBL, the PDF and the attachments
Webhooks
The API sends a notification to your server for each of these events:document.receiveddocument.received.faileddocument.sentdocument.sent.failed
Webhooks
Set up webhook notifications
Developer tools
API reference
Overview of the host, the authentication, the endpoint groups, pagination and errors
SDKs
Typed clients for TypeScript, Python, Ruby, PHP and Java
peppol CLI
Validate, create and send documents from the command line
Errors and troubleshooting
Status codes, error formats and retry rules
For resellers
SaaS companies and software vendors can give Peppol e-invoicing to their customers.Reseller programme
Conditions and integration for SaaS platforms and service providers
Support
Support
Send an email to the support team
GitHub
See the open-source projects
Next Steps
Quickstart
Send a first invoice with a sandbox company
Test mode and sandbox companies
Test without traffic on the Peppol network
Go-live checklist
Change from a sandbox company to a production company
Changelog
Changes to the API and to this documentation