SOAP API: facturen ontvangen

Facturen ophalen via de legacy SOAP API: GetInboxDocuments, GetInboxDocument, statusbeheer en PDF-download.

Met de legacy SOAP API haal je ontvangen documenten op via polling. Je controleert periodiek of er nieuwe documenten in je inbox staan, downloadt ze en werkt de status bij. Dit artikel beschrijft de volledige ontvangststroom.

Let op: Dit is de legacy SOAP API. Voor nieuwe integraties raden we de REST API aan. De REST API biedt webhooks, zodat je niet hoeft te pollen.

Ontvangststroom in vijf stappen
Stap 1: nieuwe documenten ophalen

Roep GetInboxDocuments aan met het filter CreatedOn.From om alleen nieuwe documenten op te halen. Sla na elke aanroep de hoogste CreatedOn-waarde op en gebruik die als startpunt voor de volgende check.

<GetInboxDocuments>
  <Filter>
    <CreatedOn>
      <From>2026-03-01T00:00:00</From>
    </CreatedOn>
  </Filter>
</GetInboxDocuments>
Stap 2: filteren op documenttype

De response bevat metadata van alle documenten in de inbox. Filter op Template/MasterId om alleen het juiste documenttype te selecteren. Voor standaard facturen gebruik je het MasterTemplateId:

GLDT9223370666504283001RA000000006DTP2000001

Gebruik altijd het MasterTemplateId en niet een versiespecifiek ID, want dat verandert niet bij template-updates.

Stap 3: volledig document ophalen

Haal per document de volledige payload op met GetInboxDocument, aan de hand van de ExternalId uit de metadatalijst:

<GetInboxDocument>
  <ExternalId>het-external-id-uit-stap-1</ExternalId>
</GetInboxDocument>
Stap 4: PDF downloaden

Gebruik GetDocumentPdf om de PDF-versie van het document op te halen. De PDF wordt geretourneerd als base64-encoded string.

Let op: als de PDF nog wordt gegenereerd, retourneert de API foutcode ERRDMN8000003. Wacht in dat geval een paar seconden en probeer het opnieuw.

Stap 5: status bijwerken

Werk de documentstatus bij met SetInboxDocumentStatus. Dit is belangrijk voor de verwerkingsflow en voor de zichtbaarheid van de status in het platform.

Beschikbare statuscodes

De inbox kent de volgende statuscodes. Gebruik altijd de code (niet de naam) bij het filteren en bijwerken.

CodeStatusToelichting05OpgeslagenAutomatisch toegekend bij ontvangst10OntvangenStandaard beginstatus20GeopendOntvanger heeft het document bekeken30GedownloadAutomatisch gezet bij download35Ter goedkeuringDocument is in een goedkeuringsworkflow geplaatst40GoedgekeurdFactuur is geaccordeerd50AfgekeurdFactuur is afgewezen60Betaalbaar gesteldDocument is klaar voor betaling70BetaaldFactuur is voldaan
Documentfilters

Bij het ophalen van documenten kun je diverse filters gebruiken om de resultaten te beperken:

FilterGebruikExternalIdSpecifiek document ophalen op uniek IDCreatedOnDatumrange voor nieuwe documentenModifiedOnDatumrange voor statuswijzigingen detecterenSender / ReceiverFilteren op naam of routing-IDTemplate/MasterIdFilteren op documenttypeStatusFilteren op statuscode
Outbox-documenten

Naast inboxdocumenten kun je ook je eigen verstuurde documenten opvragen. Gebruik hiervoor GetOutboxDocuments en GetOutboxDocument. De werking is vergelijkbaar met de inbox-endpoints, maar dan voor documenten die je zelf hebt verstuurd.

Draft-documenten

Voor documenten die nog niet zijn verstuurd (drafts) gebruik je GetDocuments en GetDocument. Deze endpoints werken met een DocumentId in plaats van een ExternalId. Drafts hebben hun eigen statuscodes:

CodeStatus10Aangemaakt20Opstellen40Goedgekeurd50Afgewezen
Tips voor polling

Interval: poll niet vaker dan eens per minuut. Voor de meeste integraties is eens per 5 tot 15 minuten voldoende.

Incrementeel ophalen: sla altijd de hoogste CreatedOn-waarde op en gebruik die als From-filter bij de volgende aanroep. Zo voorkom je dat je dezelfde documenten herhaaldelijk ophaalt.

Statuswijzigingen detecteren: gebruik het ModifiedOn-filter als je wilt detecteren wanneer de status van bestaande documenten is gewijzigd, bijvoorbeeld na goedkeuring of betaling.

Veelgestelde vragen
Hoe vaak moet ik de inbox pollen voor nieuwe documenten?

Poll niet vaker dan eens per minuut. Voor de meeste integraties is een interval van 5 tot 15 minuten voldoende. Gebruik altijd het CreatedOn.From-filter met de hoogste waarde uit de vorige aanroep, zodat je alleen nieuwe documenten ophaalt en geen duplicaten verwerkt.

Wat als de PDF nog niet beschikbaar is bij het ophalen?

Als de PDF nog wordt gegenereerd, retourneert GetDocumentPdf foutcode ERRDMN8000003. Wacht in dat geval een paar seconden en probeer het opnieuw. De PDF-generatie verloopt asynchroon en is doorgaans binnen enkele seconden afgerond.

Hoe detecteer ik statuswijzigingen van bestaande documenten?

Gebruik het ModifiedOn-filter in plaats van CreatedOn als je wilt detecteren wanneer de status van bestaande documenten is gewijzigd. Hiermee vind je documenten die recent zijn bijgewerkt, bijvoorbeeld na goedkeuring of betaling, ongeacht wanneer ze oorspronkelijk zijn ontvangen.


Met de REST API hoef je niet te pollen: webhooks sturen automatisch een notificatie zodra er een nieuw document binnenkomt. Bekijk psb.econnect.eu voor de moderne aanpak.

Overstappen naar de REST API

Gerelateerd