Factuurstatus terugkoppelen aan de afzender via Peppol BIS Invoice Response 3.0.
Met een Invoice Response (ook wel statusbericht genoemd) koppel je als ontvanger de verwerkingsstatus van een factuur terug aan de afzender. Denk aan een bevestiging dat de factuur is ontvangen, goedgekeurd voor betaling, of juist afgekeurd. Dit artikel beschrijft hoe je via de PSB API een Invoice Response verstuurt conform de Peppol BIS Invoice Response 3.0-standaard.
Zonder statusberichten moet een leverancier maar hopen dat zijn factuur goed is aangekomen en verwerkt wordt. Met Invoice Responses maak je het factuurproces transparant: de afzender weet exact in welk stadium de factuur zich bevindt, en kan bij een afwijzing direct actie ondernemen.
De Peppol BIS Invoice Response 3.0-standaard definieert zes statuscodes:
De statussen volgen een logische volgorde: AB, IP, UQ, AP, PD. De status RE kan op elk moment worden verstuurd als de factuur wordt afgewezen.
Bij een statuswijziging kun je een Reason code en een Action code meesturen om de reden en de gewenste actie te verduidelijken.
Verstuur een Invoice Response via het PurchaseInvoice-endpoint:
POST /api/v1/{partyId}/purchaseInvoice/{documentId}/response HTTP/1.1
Host: psb.econnect.eu
Authorization: Bearer {access_token}
Content-Type: application/json
{
"status": "AP",
"clarificationCode": "NON",
"actionCode": "NOA",
"note": "Factuur goedgekeurd voor betaling."
}
De PSB genereert automatisch een Peppol BIS Invoice Response 3.0-bericht en stuurt dit via het Peppol-netwerk naar het Access Point van de afzender.
Om Invoice Responses te kunnen versturen moet je organisatie geregistreerd zijn als Peppol-ontvanger met de juiste SMP-capabilities. Controleer dit via:
GET /api/v1/peppol/config HTTP/1.1
Host: psb.econnect.eu
Authorization: Bearer {access_token}
De capability invoiceResponse moet de state on hebben. Als dat niet het geval is, activeer deze via:
PUT /api/v1/peppol/config HTTP/1.1
Host: psb.econnect.eu
Authorization: Bearer {access_token}
Content-Type: application/json
{
"invoiceResponse": {
"state": "on"
}
}
Een veelvoorkomende flow bij het verwerken van een inkoopfactuur:
InvoiceReceivedJe hoeft niet elke tussenstatus te versturen. Het is gebruikelijk om minimaal AB (ontvangstbevestiging) en AP of RE (eindoordeel) te sturen.
Na het verzenden van een Invoice Response ontvang je een webhook-event InvoiceResponseSent als bevestiging dat het bericht succesvol is afgeleverd bij de afzender.
Je post JSON naar POST /api/v1/{partyId}/purchaseInvoice/{documentId}/response met onder andere status (bijvoorbeeld AB, AP, RE), clarificationCode en actionCode, plus een optionele note. De PSB bouwt daar een Peppol BIS Invoice Response 3.0-bericht van en levert dat via Peppol af bij de afzender.
Je organisatie moet in de SMP staan met de capability voor Invoice Response. Controleer GET /api/v1/peppol/config en zet indien nodig invoiceResponse.state op on via PUT /api/v1/peppol/config. Zonder actieve capability kan het Access Point van de tegenpartij je response niet correct afleveren.
Nee, dat hoeft niet verplicht. Een gangbare aanpak is minimaal een ontvangstbevestiging (AB) en een eindoordeel (AP, PD of RE). Bij een afwijzing (RE) zijn Reason- en Action codes relevant om de afzender te laten weten wat er mis is en welke vervolgstap wordt verwacht.
De volledige specificatie van de Peppol BIS Invoice Response 3.0 vind je op docs.peppol.eu. De PSB-endpoints en response-modellen staan op psb.econnect.eu.
Bekijk de response-endpoints