Order wijzigen (Order Change)

Een bestaande order wijzigen via Order Change: endpoint, flow en webhooktopics.

Moet een order worden aangepast nadat deze is verstuurd? Met een Order Change kan de koper een bestaande order wijzigen, bijvoorbeeld om hoeveelheden aan te passen, orderregels toe te voegen of artikelen te vervangen. Order Changes zijn onderdeel van het Peppol Advanced Ordering-profiel.

Hoe werkt een Order Change?

Een Order Change is in feite een volledig nieuw UBL Order-document dat verwijst naar de oorspronkelijke order. Het vervangt de eerdere order volledig. De leverancier ontvangt het gewijzigde document en kan hierop reageren met een Order Response (accepteren, afwijzen of onder voorwaarden accepteren).

De flow ziet er als volgt uit:

  1. Koper stuurt een Order Change met een verwijzing naar de oorspronkelijke order
  2. Leverancier ontvangt de wijziging via de OrderChangeReceived-webhook
  3. Leverancier downloadt de gewijzigde order en vergelijkt met het origineel
  4. Leverancier stuurt een Order Response terug (AB, AP, CA of RE)
Endpoint (koper)

De koper verstuurt een Order Change door een nieuw UBL Order-document te uploaden via het reguliere endpoint:

POST /api/v1/{partyId}/purchaseOrder/send

Het document bevat een verwijzing naar de oorspronkelijke order in het OrderReference-element van het UBL-bestand. De PSB herkent automatisch dat het om een wijziging gaat.

Ontvangen als leverancier

Stel een webhook in op het topic OrderChangeReceived:

{
  "action": "https://jouw-endpoint.nl/order-changes",
  "topics": ["OrderChangeReceived"],
  "secret": "jouw-geheime-sleutel"
}

Download vervolgens het gewijzigde document via:

GET /api/v1/{partyId}/salesOrder/{documentId}/download

Tip: Vergelijk het ontvangen document met de oorspronkelijke order om te bepalen wat er is gewijzigd. De PSB biedt geen diff-functie; je systeem moet de wijzigingen zelf detecteren.

Webhooktopics
TopicRichtingWanneerOrderChangeSentKoperWijziging is succesvol afgeleverdOrderChangeReceivedLeverancierWijziging is ontvangenOrderResponseReceivedKoperLeverancier heeft gereageerd op de wijziging
Reageren op een Order Change

Als leverancier reageer je op een Order Change via het Order Response endpoint, precies zoals bij een reguliere order. De beschikbare statuscodes zijn dezelfde: AB (ontvangen), AP (geaccepteerd), CA (onder voorwaarden geaccepteerd) en RE (afgewezen).

Veelgestelde vragen
Hoe herkent de PSB dat mijn bericht een Order Change is en geen eerste order?

Je stuurt het gewijzigde UBL Order via hetzelfde endpoint als een nieuwe order: POST /api/v1/{partyId}/purchaseOrder/send. In het UBL-document zet je de verwijzing naar de oorspronkelijke order in het OrderReference-element. De PSB herkent daarmee dat het om een wijziging gaat.

Vervangt een Order Change de eerdere order volledig?

Ja. Een Order Change is een volledig nieuw UBL Order-document dat naar de oorspronkelijke order verwijst en de vorige versie vervangt. De leverancier downloadt het document en moet zelf het verschil met het eerdere document bepalen; de PSB biedt geen diff-functie.

Welk integratiepatroon volgt de leverancier na `OrderChangeReceived`?

Stel een webhook in op OrderChangeReceived, download via GET /api/v1/{partyId}/salesOrder/{documentId}/download en vergelijk met de vorige order. Reageer daarna met een Order Response (AB, AP, CA of RE). Bij de koper zie je voortgang via onder meer OrderChangeSent en OrderResponseReceived.


Bekijk de volledige API-specificatie op psb.econnect.eu voor de exacte UBL-structuur van een Order Change.

Bekijk de API-documentatie

Gerelateerd