Developers

API and developer tools

Exchange Peppol invoices, orders, and other business documents through Qvalia’s REST APIs. Enrich transaction data. Extract structured data from PDF invoices. Test in the sandbox, then switch to production with a separate API key.

REST
Over HTTPS
JSON or XML
Based on UBL 2.1
Webhooks
Delivery events
99.8%
Monthly SLA

From API key to first request

Our onboarding team supports you through integration and testing.

export ACCOUNT_REG_NO=YOUR_ACCOUNT_REGISTRATION_NUMBER # Identifies the account in every Transaction API request

Use this value in the request path for every Transaction API call.

export QVALIA_API_KEY=YOUR_SANDBOX_API_KEY export QVALIA_BASE_URL=https://api-qa.qvalia.com
export QVALIA_API_KEY=YOUR_SANDBOX_API_KEY
export QVALIA_BASE_URL=https://api-qa.qvalia.com

Keep sandbox and production credentials separate.

curl -X POST \ ${QVALIA_BASE_URL}/transaction/${ACCOUNT_REG_NO}/invoices/outgoing \ -H Authorization:${QVALIA_API_KEY} \ -H Content-Type:application/json \ -d @invoice.json
curl -X POST \
  ${QVALIA_BASE_URL}/transaction/${ACCOUNT_REG_NO}/invoices/outgoing \
  -H Authorization:${QVALIA_API_KEY} \
  -H Content-Type:application/json \
  -d @invoice.json

The response confirms that the document was received. Validation results and delivery status follow through webhooks or document status.

export QVALIA_API_KEY=YOUR_PRODUCTION_API_KEY export QVALIA_BASE_URL=https://api.qvalia.com
export QVALIA_API_KEY=YOUR_PRODUCTION_API_KEY
export QVALIA_BASE_URL=https://api.qvalia.com

Track processing and delivery through webhooks or document status.

One account, six APIs

Invoicing API

Send and receive invoices and credit notes over Peppol, with validation before delivery.

Order API

Receive purchase orders and send order responses, for e-ordering over Peppol.

Partner API

Create and manage end-customer accounts and Peppol IDs from your own platform, with webhooks for document events.

OCR API

Extract structured data from PDF invoices for review and further processing.

Enrichment API

Classify documents and line items, and enrich transactions with structured data.

Accounting API

Generate posting suggestions from incoming invoices for faster review and posting.

More ways to connect

When an API integration is not the right fit, or you need more than document exchange.

  • SFTP
    Exchange files in XML or CSV over SFTP when an API integration is not an option.
  • ERP connectors
    Ready-made connectors for common ERP and accounting systems.
  • Peppol MCP server
    Give AI agents and MCP clients structured access to transactions, line items, delivery status and validation.
  • Punchout
    Connect a supplier catalog to the buyer’s procurement system.
  • B2B checkout
    Add a B2B payment and invoicing option to a WooCommerce store, with delivery over Peppol.

Peppol reference for developers

The rules your documents are validated against, and the code lists they use. Maintained in the Peppol documentation hub.

Testing and operations

Sandbox

Test your integration against your own systems without affecting real customers or financial flows.

Versioning

Breaking changes ship as a new API version, with at least one month’s notice.

System status

View current service availability and incident updates.

Security

Read how Qvalia works with information security, business continuity and trust.

Peppol for your business or your customers?

Peppol Access Point

You want to send and receive Peppol documents for your own business. Connect to Qvalia’s Peppol Access Point and integrate it with your ERP or through the API.

Partner solutions

Offer Peppol to your own customers with the model that fits your role. Use Embedded Peppol in your product through Qvalia’s API, or run a Hosted Access Point under your own Peppol Service Provider identity.

Questions developers ask

Find more implementation guidance in our knowledge base.

Is there a test environment?

Yes. The sandbox at api-qa.qvalia.com uses a separate API key, so you can test without affecting real customers or financial flows. Follow the Peppol API step-by-step guide in the Knowledge base.

Which formats does the API accept?

JSON by default, or XML. Both use UBL 2.1-based structures for the relevant Peppol document endpoints. Set Content-Type and Accept to application/json or application/xml. See Peppol message types for the business documents and processes supported by the network.

How do I authenticate?

With an API key in the Authorization header. You get separate keys for test and production. The Partner API uses OAuth 2.0 client credentials.

How do I know if a document was delivered?

Subscribe to webhooks, or poll the API. Qvalia sends events when a document arrives, when it is delivered and when delivery fails. For Peppol-level response messages, see Message Level Status in the Knowledge base.

Do I need to implement Peppol transport myself?

No. Qvalia operates the Access Point and handles recipient lookup, AS4 transport and delivery. You send a document to the API. Read how SMP and SML service discovery locates the receiving endpoint.

Can I integrate without writing code?

Yes. Use an ERP connector, or exchange XML or CSV files over SFTP.

Which Peppol documents can I exchange?

Peppol supports structured business documents for invoicing, ordering, catalogs, despatch and related responses. The document types available in your Qvalia setup depend on the selected service and integration. See What are the message types in Peppol? for an overview.

How does the API find the recipient’s endpoint?

Qvalia uses the recipient’s Peppol ID to locate its Service Metadata Publisher (SMP) through the Service Metadata Locator (SML). The SMP returns the document capabilities, process and transport endpoint needed for delivery. Read Peppol SMP and SML: how service discovery works.

What happens when a document fails Peppol validation?

A document with a fatal validation error must be corrected before it is sent. The error code identifies the rule set and the part of the document that needs investigation. See How Peppol validation works and Peppol validation rule codes.

How can I check a recipient’s Peppol ID and document capabilities?

Use Qvalia’s Peppol ID search to find the participant and the document capabilities published in the directory. For identifier structure and schemes, see What is Peppol ID? in the Knowledge base.