Peppol Gateway
Send e-invoices directly via the Peppol network to authorities and businesses across Europe. Including delivery confirmation and status tracking.
What is Peppol?
Peppol (Pan-European Public Procurement OnLine) is a pan-European network for the secure exchange of e-invoices and other business documents.
As a certified Peppol Access Point, we handle the technical complexity of AS4 communication and certificate management for you.
Send Invoice
1curl -X POST https://service.invoice-api.xhub.io/api/v1/peppol/send \2 -H "Authorization: Bearer sk_live_abc123..." \3 -H "Content-Type: application/json" \4 -d '{5 "invoiceId": "inv_xyz789",6 "recipient": {7 "peppolId": "0204:DE123456789",8 "name": "Behörde XY"9 }10 }'Alternative: Direct with XML
1curl -X POST https://service.invoice-api.xhub.io/api/v1/peppol/send \2 -H "Authorization: Bearer sk_live_abc123..." \3 -H "Content-Type: application/json" \4 -d '{5 "xml": "<?xml version=\"1.0\"?>\n<Invoice>...</Invoice>",6 "format": "xrechnung-3.0",7 "recipient": {8 "peppolId": "0204:DE123456789"9 }10 }'Response
1{2 "transmissionId": "pep_abc123xyz",3 "status": "sent",4 "timestamp": "2025-01-15T10:30:00Z",5 "invoice": {6 "id": "inv_xyz789",7 "invoiceNumber": "RE-2025-001"8 },9 "recipient": {10 "peppolId": "0204:DE123456789",11 "name": "Behörde XY",12 "endpoint": "https://ap.example.de/as4"13 },14 "sender": {15 "peppolId": "0204:DE987654321",16 "name": "Meine Firma GmbH"17 },18 "messageId": "msg_xyz789abc",19 "protocol": "AS4"20}Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
invoiceId | string | - | ID of a previously created invoice. Alternative: xml + format |
xml | string | - | XML invoice as string (if no invoiceId) |
format | string | - | Format of the XML invoice (when xml is provided) |
recipient.peppolId | string | Peppol Participant ID of the recipient | |
recipient.name | string | - | Name of the recipient (for verification) |
Peppol Participant IDs
Peppol IDs consist of a schema prefix and an identifier. Commonly used schemas:
| Schema | Name | Example | Country |
|---|---|---|---|
0204 | Leitweg-ID | 0204:991-12345-67 | DE |
0088 | EAN/GLN | 0088:5790000123456 | EU |
9930 | DE:VAT | 9930:DE123456789 | DE |
0184 | DUNS | 0184:123456789 | INT |
0190 | OFT (NL) | 0190:NL12345678 | NL |
0007 | SIRET (FR) | 0007:12345678901234 | FR |
Check Delivery Status
GET /api/v1/peppol/transmissions/{transmissionId}
1{2 "transmissionId": "pep_abc123xyz",3 "status": "delivered",4 "timeline": [5 {6 "status": "sent",7 "timestamp": "2025-01-15T10:30:00Z",8 "message": "E-Rechnung an Peppol-Netzwerk übergeben"9 },10 {11 "status": "received",12 "timestamp": "2025-01-15T10:30:05Z",13 "message": "Access Point des Empfängers hat Nachricht empfangen"14 },15 {16 "status": "delivered",17 "timestamp": "2025-01-15T10:30:12Z",18 "message": "Empfangsbestätigung (MDN) erhalten"19 }20 ],21 "mdn": {22 "received": true,23 "timestamp": "2025-01-15T10:30:12Z",24 "disposition": "automatic-action/MDN-sent-automatically; processed"25 }26}Status Values
pendingE-invoice waiting for transmissionsentHanded over to Peppol networkreceivedRecipient AP has received messagedeliveredDelivery confirmation (MDN) receivedfailedTransmission failedPeppol Webhooks
Receive automatic notifications about delivery status:
peppol.sentInvoice handed over to Peppol network
peppol.deliveredDelivery confirmation (MDN) received
peppol.failedTransmission failed
Webhook configuration: Webhooks Documentation
Certified Access Point
Invoice-api.xhub is an officially certified Peppol Access Point. We handle certificates, SMP lookups and AS4 communication.
Business and Enterprise Plan
The Peppol Gateway is available from the Business plan. Peppol is not included in the Free and Starter plans.