Retrieve invoices via the legacy SOAP API: GetInboxDocuments, GetInboxDocument, status management and PDF download.
With the legacy SOAP API you retrieve received documents via polling. You periodically check whether there are new documents in your inbox, download them and update the status. This article describes the complete receiving flow.
Important: This is the legacy SOAP API. For new integrations we recommend the REST API. The REST API offers webhooks, so you don't need to poll.
Call GetInboxDocuments with the filter CreatedOn.From to retrieve only new documents. After each call, save the highest CreatedOn value and use it as the starting point for the next check.
<GetInboxDocuments>
<Filter>
<CreatedOn>
<From>2026-03-01T00:00:00</From>
</CreatedOn>
</Filter>
</GetInboxDocuments>
The response contains metadata of all documents in the inbox. Filter on Template/MasterId to select only the correct document type. For standard invoices, use the MasterTemplateId:
GLDT9223370666504283001RA000000006DTP2000001
Always use the MasterTemplateId and not a version-specific ID, because it does not change with template updates.
Retrieve the full payload per document using GetInboxDocument, based on the ExternalId from the metadata list:
<GetInboxDocument>
<ExternalId>het-external-id-uit-stap-1</ExternalId>
</GetInboxDocument>
Use GetDocumentPdf to retrieve the PDF version of the document. The PDF is returned as a base64-encoded string.
Note: if the PDF is still being generated, the API returns error code ERRDMN8000003. In that case, wait a few seconds and try again.
Update the document status with SetInboxDocumentStatus. This is important for the processing flow and for the visibility of the status in the platform.
The inbox uses the following status codes. Always use the code (not the name) when filtering and updating.
When retrieving documents you can use various filters to limit the results:
ExternalIdCreatedOnModifiedOnSender / ReceiverTemplate/MasterIdStatusIn addition to inbox documents, you can also retrieve your own sent documents. Use GetOutboxDocuments and GetOutboxDocument for this. The operation is similar to the inbox endpoints, but for documents you have sent yourself.
For documents that have not yet been sent (drafts), use GetDocuments and GetDocument. These endpoints work with a DocumentId instead of an ExternalId. Drafts have their own status codes:
Interval: don't poll more often than once per minute. For most integrations, once every 5 to 15 minutes is sufficient.
Incremental retrieval: always save the highest CreatedOn value and use it as the From filter in the next call. This prevents you from retrieving the same documents repeatedly.
Detecting status changes: use the ModifiedOn filter if you want to detect when the status of existing documents has changed, for example after approval or payment.
With the REST API you don't need to poll: webhooks automatically send a notification as soon as a new document arrives. Check psb.econnect.eu for the modern approach.
Switch to the REST API