Walkthrough: Procurement Service Bus

Step 1: Get access

To be able to use the Procurement Service Bus API you need credentials and a subscribtion key. You can ask for a key via your sales representative or via the contact page.

Step 2: Get an API user

If you have been identified as a valid sender and/or receiver you will get a userId and password. The PartyId’s for organisations used for sending and receiving are attached to this userId. The user can have several rights  assigned for a partyId and can create hooks for getting information about sending and receiving documents.

Step 3: Test the functionality

You can test the working with the SWAGGER UI


A PartyId is an identifier that is registered in the PEPPOL network. The PartyId is used for discovery of receivers and the routing of documents.

There are several type of identifiers that can be registered. Most used in the Netherlands are KvK, VAT and OIN. Examples: NL:KVK:12345678, 0106:12345678, NL:VAT:NL12345678B01, 9944:NL12345678B01 or NL:OIN:00000001003214345000.


Get information about the User and the PartyId’s registered.


With the PurchaseInvoice endpoint you can download a document that is sent to your organization or investigate the status of the document. You will need a PartyId from the organization where the document is sent to and a documentId of the document. The documentId is pushed to you through a web- or mailhook when the document arrives. By default, received documents are kept for 90 days. After the document has been downloaded by the receiver, it’s retained for 7 more days.


With the SalesInvoice endpoint you can send a document to another partyId, or investigate the status of a sent document. You will need the partyId to which the document will be sent and a valid document. By calling the QueryRecipientParty endpoint you can get advice on which partyId to use. The advice is based on the registration of the partyId and the types of documents that are registered.


A hook is a setting that defines how information is delivered back to the user. This can be done via mail or a push connection. A hook can contain information about the following topics: InvoiceReceived, InvoiceReceivedError, InvoiceSent, InvoiceSentError, InvoiceSentRetry. To learn more about hooks, go to our hooks page.

Step 4: Use the API in you environment

The SWAGGER UI is a good example how the API’s can be used. But if you use your own code you need to retrieve the bearer token with your own code to login. The other API code can be generated with swagger to code generators.

Was this article helpful?