Skip to main content

Overview

How to use the invoice API to retrieve invoices or update payment statuses

Use the invoice API to control the flow of invoice from Proactis to your application. Depending on your requirements we have several options available.

cXML

Proactis invoice API uses the cXML message standard. We suggest you refer to the cXML User's Guide at cxml.org to learn more. Sample messages including annotation can be found on the sample messages page.

The definition of the cXML invoice can be found on the cXML export definition page.

Automatically push invoices to your application

The option to push documents to a specified endpoint can be configured in the communication settings. Configuration needs to be done once for each environment (UAT and PROD).

Invoices will be send using a POST request. In case the invoice contains attachments these will be send in the same request as a multipart request. The receiving application will need to be able to receive this multipart requests and be able to extract the invoice and/or attachments.

Upon receiving the invoice Proactis API requires a response. This response can be either successful or unsuccessful and the contents will be visible in the widgets. The response needs to be a valid cXML message. When no or no valid response is received, the widgets will show an error.

More information on how to configure the communication settings can be read here.

Periodically retrieve invoices from Proactis

Another option to get invoices is to have your application retrieve the invoices from the Proactis API. To retrieve invoices Proactis' API offers two endpoints, one for fetching a list of results based on filters or pagination and another for retrieving individual invoices.

info

Invoices which are retrieved from the Proactis API by a GET method will not contain attachments.

More information on the process can be read here. Or check information on filtering or pagination.

Update payment status in Proactis

Each invoices has two fields which can be updated only through the API. Each of these fields (entry number and payment date) can be updated on request and hold only one value. In case a later request updates the value this will be shown in the invoice audit log.

tip

To import payment statuses a new user with username and ID import needs to be setup.