Submit UBL invoices with one endpoint, track delivery via webhooks, and send via Peppol or KSeF with transparent volume pricing.
After creating your account, contact support to enable the Peppol API for your company.
Send one base64-encoded UBL XML invoice per request via POST /v1/peppol/invoice.
Get a direct response with submissionId and status set to sending or failed.
Receive lifecycle updates through webhook callbacks as the invoice moves through the network.
Start from Swagger UI or raw OpenAPI JSON and ship your first integration quickly.
Explore request and response schemas and test directly from your browser.
https://api.budgetinvoice.com/docs/peppolImport the raw schema into Postman, Insomnia, or your code generator.
https://api.budgetinvoice.com/docs/peppol/openapi.jsonAuthenticated endpoint for one UBL invoice per call.
POST https://api.budgetinvoice.com/v1/peppol/invoicecurl --request POST \
--url 'https://api.budgetinvoice.com/v1/peppol/invoice' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"xml": "BASE64_ENCODED_UBL_XML",
"targetNetwork": "auto"
}'Use your API key in the Authorization header. The API returns immediate status and an optional error message.
After an accepted submission, your configured webhook receives status transitions such as sending, delivered, or failed.
Use HTTPS endpoints and log non-2xx responses for reliable retries.
{
"submissionId": "bd9f47f3-7bc4-4760-a1dc-8c33df6496f3",
"filename": "invoice-2026-0001.xml",
"status": "delivered",
"targetNetwork": "peppol",
"recipient": {
"scheme": "iso6523-actorid-upis",
"id": "0208:123456789"
},
"updatedAt": "2026-02-28T09:42:11.202Z"
}No separate API surcharge. Pay per submitted invoice.
Per invoice excl. VAT
Use the OpenAPI spec, test with the provided samples, and monitor asynchronous delivery via webhooks.
Send your API key as a Bearer token in the Authorization header. Requests without a valid key return an authorization error.
The endpoint accepts one base64-encoded UBL XML document per request. ZIP files are not accepted on this endpoint.
Callbacks are sent when a submission status changes. Typical values are sending, delivered, and failed.
Yes. Use targetNetwork with values auto, peppol, or ksef. If omitted, auto is used.
Use the OpenAPI spec, test with the provided samples, and monitor asynchronous delivery via webhooks.