Planned Q1/2027

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.

Peppol dispatch over AS4 is planned for Q1/2027. Until then the API delivers the finished Peppol BIS 3.0 document; certificates, SMP lookup and AS4 transport stay with your access point.

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

Your existing access point

Until our gateway ships (planned Q1/2027), the API produces Peppol BIS 3.0 compliant documents that you send through your existing access point. The format is a public standard — it is not tied to us.

Business and Enterprise Plan

The Peppol Gateway is not available yet — planned for Q1/2027. On release it becomes part of the Business plan; it is not included in the Free and Starter plans.