Coming Q3 2026Business+

Peppol Gateway

Send e-invoices directly via the Peppol network to authorities and businesses across Europe. Including delivery confirmation and status tracking.

In Planning

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.

40+
Countries
300k+
Participants
AS4
Protocol
MDN
Confirmation

Send Invoice

bash
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

bash
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

json
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

ParameterTypeRequiredDescription
invoiceIdstring-ID of a previously created invoice. Alternative: xml + format
xmlstring-XML invoice as string (if no invoiceId)
formatstring-Format of the XML invoice (when xml is provided)
recipient.peppolIdstringPeppol Participant ID of the recipient
recipient.namestring-Name of the recipient (for verification)

Peppol Participant IDs

Peppol IDs consist of a schema prefix and an identifier. Commonly used schemas:

SchemaNameExampleCountry
0204Leitweg-ID0204:991-12345-67DE
0088EAN/GLN0088:5790000123456EU
9930DE:VAT9930:DE123456789DE
0184DUNS0184:123456789INT
0190OFT (NL)0190:NL12345678NL
0007SIRET (FR)0007:12345678901234FR

Check Delivery Status

GET /api/v1/peppol/transmissions/{transmissionId}

json
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 transmission
sentHanded over to Peppol network
receivedRecipient AP has received message
deliveredDelivery confirmation (MDN) received
failedTransmission failed

Peppol Webhooks

Receive automatic notifications about delivery status:

peppol.sent

Invoice handed over to Peppol network

peppol.delivered

Delivery confirmation (MDN) received

peppol.failed

Transmission 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.