Feature - Order API

Order API for Peppol purchase orders and responses

Send and receive purchase orders over Peppol, and run the rest of the ordering flow through the same REST API: order responses, changes, cancellations, order agreements, catalogues and despatch advice. Webhooks report every delivery back to your system.

Ordering flow

Order to despatch

Orders, responses, changes and cancellations

Specifications

Peppol BIS specifications

Order Only, Ordering, Advanced Ordering, Order Agreement

Events

Signed webhooks

Received, delivered, delayed and failed

Availability

99.8% per month

Contractual, with service credits

The Peppol ordering flow in one API

Buyer and supplier each connect through their own Access Point. Your system posts and fetches the messages through Qvalia’s API, and Qvalia handles validation, recipient lookup and delivery on the Peppol network.

Peppol ordering flow between buyer and supplier through QvaliaThe supplier sends a catalogue. The buyer sends an order and the supplier answers with an order response. The buyer can send an order change, which the supplier confirms with a new order response. The supplier then sends a despatch advice and an invoice. Every message passes Qvalia, which validates it, looks up the recipient and delivers it over Peppol.BuyerProcurement or ERP systemSupplierERP or order managementPeppol networkQvalia validates and deliversCatalogueBIS CatalogueOrderBIS OrderingOrder responseBIS OrderingOrder changeBIS Advanced OrderingOrder responseBIS Advanced OrderingDespatch adviceBIS Despatch AdviceInvoiceBIS BillingSpend Analytics 48BuyerProcurement or ERP systemSpend Analytics 48SupplierERP or order management
Peppol ordering flow between buyer and supplier through QvaliaThe supplier sends a catalogue. The buyer sends an order and the supplier answers with an order response. The buyer can send an order change, which the supplier confirms with a new order response. The supplier then sends a despatch advice and an invoice. Every message passes Qvalia, which validates it, looks up the recipient and delivers it over Peppol.BuyerSupplierQvaliaCatalogueBIS CatalogueOrderBIS OrderingOrder responseBIS OrderingOrder changeBIS Advanced OrderingOrder responseBIS Advanced OrderingDespatch adviceBIS Despatch AdviceInvoiceBIS BillingSpend Analytics 48BuyerSpend Analytics 48Supplier

Receive an order and answer it

As a supplier, subscribe to the new document webhook, fetch unread orders and reply with an order response. As a buyer, post orders to the outgoing endpoint and follow the responses on the incoming one.

  • Sandbox at api-test.qvalia.com, production at api.qvalia.com
  • JSON by default, or UBL XML with the Content-Type and Accept headers
  • An Idempotency-Key on every POST makes retries safe

●  ●  ●

Sandbox: fetch unread orders, then respond

# Fetch unread incoming orders (marks them as read) curl “https://api-test.qvalia.com/transaction/$ACCOUNT_REG_NO/orders/incoming/readorders?limit=10” \ -H “Authorization: $QVALIA_API_KEY” \ -H “Accept: application/json” # Reply with an order response curl -X POST \ “https://api-test.qvalia.com/transaction/$ACCOUNT_REG_NO/orderresponses/outgoing” \ -H “Authorization: $QVALIA_API_KEY” \ -H “Content-Type: application/json” \ -H “Idempotency-Key: $(uuidgen)” \ -d @order-response.json
# Fetch unread incoming orders (marks them as read)
curl "https://api-test.qvalia.com/transaction/$ACCOUNT_REG_NO/orders/incoming/readorders?limit=10" \
  -H "Authorization: $QVALIA_API_KEY" \
  -H "Accept: application/json"

# Reply with an order response
curl -X POST \
  "https://api-test.qvalia.com/transaction/$ACCOUNT_REG_NO/orderresponses/outgoing" \
  -H "Authorization: $QVALIA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d @order-response.json

Ordering messages and endpoints

Every path starts with /transaction/{accountRegNo}. Each message type has outgoing and incoming endpoints, a read endpoint for unread messages and a status endpoint.

MessageSent byEndpointPeppol BIS
OrderBuyer/ordersOrder Only, Ordering, Advanced Ordering
Order responseSupplier/orderresponsesOrdering, Advanced Ordering
Order changeBuyer/order-changesAdvanced Ordering
Order cancellationBuyer/order-cancellationsAdvanced Ordering
Order agreementSupplier/orderagreementsOrder Agreement
CatalogueSupplier/cataloguesCatalogue
Catalogue responseBuyer/catalogueresponsesCatalogue with response
Despatch adviceSupplier/despatch-advicesDespatch Advice

Which messages your account uses depends on the service and plan. Request and response schemas for each message are in the Order API reference. Invoices for delivered orders go through the Invoicing API. To check before sending that the recipient is registered for a message type, for example Order or OrderResponse, use the recipient lookup.

Choose your starting point

Suppliers

E-order management

Receive and answer Peppol orders in Qvalia’s web application, and turn them into invoices, before you build an integration.

Procurement platforms

Embedded Peppol

Send and receive orders for your own customers. The Partner API creates their accounts and Peppol IDs, and the Order API carries the messages.

E-commerce

Punchout

Connect your catalog to the buyer’s procurement system, so the shopping cart comes back as a structured order.

Order API FAQ

What is an order API?

An order API lets your system send and receive purchase orders, and the messages around them, in a structured format. Qvalia’s Order API carries Peppol BIS ordering messages as JSON or UBL XML and delivers them over the Peppol network.

Which ordering messages does the API support?

Orders, order responses, order changes, order cancellations, order agreements, catalogues with catalogue responses, and despatch advice. Each has outgoing and incoming endpoints.

What is the difference between Peppol BIS Ordering and Advanced Ordering?

Ordering covers the order and the order response. Advanced Ordering adds order changes and cancellations, so the buyer can amend or cancel an order after it is sent. Read What is Peppol BIS Ordering? and What is Peppol BIS Advanced Ordering?

Can I receive Peppol orders without an integration?

Yes. All Connect plans include receiving Peppol orders in Qvalia’s web application. API and sandbox access are included from the Connect Medium plan.

How do I know an order was delivered?

Subscribe to webhooks for delivery and error events, or read the status endpoint for orders. Any delivered event can be fetched again for 30 days by its event ID.

Can an order become an invoice?

Yes. In the Connect web application, order-to-invoice automation is included from the Medium plan. In your own integration, use the order data to create the invoice and send it through the Invoicing API.

Is there a sandbox?

Yes. The sandbox at api-test.qvalia.com uses its own API key, so you can test ordering flows without affecting live orders.

All platform features