Your first e-invoice via the eConnect API in ten minutes. Request an API key, obtain an OAuth2 token and send your first document. Works from any language that supports HTTP and JSON.
Open the Getting started guide
Try directly in Swagger
Always start in the acceptance environment. Your test and production credentials are strictly separated, so a test connection can never accidentally send a real invoice. Only when your flow is stable do you switch to production using the same integration patterns.
Request a sandbox account and generate an API key in the platform. Store the key encrypted; you use it only to obtain tokens.
Exchange the API key at the identity endpoint for a Bearer token. Tokens have a limited validity; refresh them in your client or middleware.
POST a UBL invoice to the correct endpoint and immediately receive a document ID. The webhook confirms delivery on the Peppol network.
One line to get your token, one POST to send your first invoice. Works from any shell.
Official bindings with support for authentication, document types, webhooks and error handling.
Official .NET binding with the same API coverage as the PHP route.
Download the Swagger spec and generate a client in Python, Go, Java, TypeScript or any other language of your choice.
Start with curl for a quick proof-of-concept and then move to an SDK for production. PHP and .NET have official bindings; for other languages you generate a client from the OpenAPI spec.
View SDKs and CLI
A working submission is the beginning. For a production-stable integration, connect webhooks for real-time status updates, build error handling with retries on 5xx responses, and validate documents in advance via the Validate API so only valid files leave your own pipeline.
Set up webhooks
No, for a proof-of-concept the live Swagger UI at psb.econnect.eu works without an account. You can view requests and test the structure. For real test calls, request a sandbox account.
All common e-invoicing formats: UBL Peppol BIS Billing 3.0, NLCIUS, XRechnung, FatturaPA and more. For the full overview see document formats.
Yes, that is the recommended approach. In the sandbox you send a test invoice to your own Peppol identifier or a test receiver. The PSB confirms receipt via webhook or polling.
4xx errors indicate validation or authorization and should not be retried blindly. For 5xx errors, retry with exponential backoff. Webhooks also asynchronously inform you of what went wrong during processing. See error handling.
Yes, via the Validate API. Submit a document and you get an isValid boolean plus all assertions per validation layer. Useful for finding mapping errors before production traffic is affected. See Validate API.
Ask your question
Request a sandbox account and make your first API call within ten minutes.
Request sandbox access
Open the Getting started guide