SOAP API: facturen verzenden met SendDocument

Facturen en documenten verzenden via het SendDocument SOAP endpoint: parameters, routering en statusopvolging.

Met het SendDocument-endpoint van de legacy SOAP API verstuur je facturen en andere documenten via het eConnect-platform. Het platform bepaalt automatisch de beste route: via het eConnect-platform zelf, via Peppol, of als fallback per e-mail.

Let op: Dit is de legacy SOAP API. Voor nieuwe integraties raden we de REST API aan.

Hoe SendDocument werkt

Bij het aanroepen van SendDocument geef je het brondocument mee samen met de verzender- en ontvangergegevens. Het platform zoekt vervolgens de ontvanger op in drie stappen:

  1. eConnect-platform: is de ontvanger ook een platformgebruiker? Dan wordt het document direct afgeleverd in de inbox.
  2. Peppol: is de ontvanger vindbaar op het Peppol-netwerk? Dan wordt het document via Peppol gerouteerd.
  3. E-mail (fallback): als geen van beide mogelijk is en er een e-mailadres is meegegeven, wordt het document per e-mail verstuurd.
Verplichte parameters
ParameterBeschrijvingVia/ReferenceIdIdentificatie van de verzender (je eigen EConnectPartyId, XCNL-nummer)To/ReferenceIdIdentificatie van de ontvanger (EConnectPartyId of Peppol-identifier zoals 0106:KVK-nummer)To/EmailAddressE-mailadres van de ontvanger (gebruikt als fallback wanneer platform- en Peppol-routering niet mogelijk zijn)SubjectOnderwerp van het documentPayloadHet document zelf, als UBL-XML. Let op: stuur de XML zonder XML-prolog (<?xml ...?>)TemplateIdHet template-ID dat het documenttype aangeeft
Voorbeeld-aanroep
<SendDocument>
  <Document>
    <Via>
      <ReferenceId>XCNL-123456</ReferenceId>
    </Via>
    <To>
      <ReferenceId>0106:12345678</ReferenceId>
      <EmailAddress>[email protected]</EmailAddress>
    </To>
    <Subject>Factuur 2026-001</Subject>
    <Payload><!-- UBL-XML zonder prolog --></Payload>
    <TemplateId>GLDT9223370666504283001RA000000006DTP2000001</TemplateId>
  </Document>
</SendDocument>

Het TemplateId GLDT9223370666504283001RA000000006DTP2000001 is het MasterTemplateId voor een standaard factuur. Gebruik altijd het MasterTemplateId (niet een versiecode), omdat dit stabiel blijft over templateversies.

Response en ExternalId

Na een succesvolle aanroep retourneert de API een ExternalId. Dit is het unieke ID van het verstuurde document in het eConnect-platform. Als de response geen ExternalId bevat, is het document niet verstuurd. Controleer in dat geval de foutmelding in de response.

Bewaar de ExternalId altijd: je hebt dit nodig om later de status van het document op te vragen.

DeliveryMethod

De API geeft in de response ook de DeliveryMethod terug, zodat je weet via welk kanaal het document is afgeleverd:

WaardeBetekenisToInboxAfgeleverd in de inbox van de ontvanger op het eConnect-platformToPeppolVerzonden via het Peppol-netwerkToEmailVerzonden per e-mailOutboxOnlyAlleen opgeslagen in je eigen outbox (niet afgeleverd)NoneGeen aflevering mogelijk
Status opvolgen

Na het verzenden kun je de status van je document volgen met twee endpoints:

EndpointFunctieGetOutboxDocumentsLijst van verstuurde documenten ophalen. Filter op ModifiedOn om alleen recent gewijzigde documenten te zien.GetOutboxDocumentEen specifiek document opvragen op basis van de ExternalId.GetOutboxDocumentStatusAlleen de status opvragen, zonder het volledige document.
Tips

UBL-XML zonder prolog: de Payload moet UBL-XML bevatten zonder de <?xml version="1.0" encoding="UTF-8"?> declaratie. Als je de prolog meestuurt, wordt het document mogelijk niet correct verwerkt.

Gebruik MasterTemplateId: filter altijd op Template/MasterId in plaats van op een specifiek template-ID. Het MasterTemplateId verandert niet bij versie-updates van het template.

Foutafhandeling: controleer de response op foutcodes. De foutcodeseries 400 (validatie) en 200 (functioneel) komen het meest voor bij verzendfouten. Zie de authenticatie-pagina voor het volledige overzicht van foutcodeseries.

Veelgestelde vragen
Via welk kanaal wordt mijn factuur afgeleverd?

Het platform bepaalt automatisch de beste route in drie stappen: eerst wordt gecontroleerd of de ontvanger een platformgebruiker is (inbox), daarna of de ontvanger vindbaar is op Peppol, en als laatste wordt e-mail als fallback gebruikt. De DeliveryMethod in de response toont welk kanaal is geselecteerd.

Waarom moet ik de XML-prolog weglaten uit de Payload?

De SOAP API verwacht de UBL-XML zonder de <?xml version="1.0" encoding="UTF-8"?> declaratie. Als je de prolog meestuurt, wordt het document mogelijk niet correct verwerkt door de XML-parser. Verwijder de prolog uit je XML voordat je het in het Payload-element plaatst.

Hoe weet ik of mijn document succesvol is verstuurd?

Controleer of de response een ExternalId bevat. Als de ExternalId aanwezig is, is het document succesvol aangeboden aan het platform. Ontbreekt de ExternalId, dan is het document niet verstuurd en bevat de response een foutmelding. Bewaar de ExternalId altijd, want je hebt dit nodig om later de status op te vragen.


De REST API biedt bij het verzenden extra mogelijkheden zoals webhooks voor statusnotificaties en automatische retry bij fouten. Bekijk psb.econnect.eu voor de moderne aanpak.

Migreer naar de REST API

Gerelateerd