Deze serie begon met hoe het Model Context Protocol, de open standaard die Anthropic in 2024 publiceerde, overeenkomt met een vracht-API, daarna brak de vracht-MCP-servers af die in 2026 werden geleverd, en behandelde vervolgens hoe je er een beveiligt. Alle 3 eerdere delen stoppen op hetzelfde punt: de agent heeft een vracht geboekt. Dit deel gaat over wat er daarna gebeurt, en het is het deel waar ondernemingen daadwerkelijk moeite mee hebben. Een boeking die nooit in het systeem van registratie terechtkomt, is geen boeking die uw financiële afdeling vertrouwt. De echte integratievraag is dus niet "kan de agent boeken", maar "kan de agent die boeking terugschrijven naar SAP, Oracle of NetSuite zonder het grootboek te breken".

Ik schrijf dit vanuit de marktplaatszijde, waar we boekingen via een API blootstellen en kijken hoe klanten ze in hun backoffice integreren. De boekingsaanroep is het makkelijke deel. Het terugschrijven is waar de ingenieurstijd naartoe gaat.

Waarom write-back de zware helft is

Het boeken van een lading is één enkele, bevredigende actie. Het verifiëren ervan is een lange reeks van minstens 4 afzonderlijke verplichtingen. De zending moet verschijnen als een record dat iemand op de financiële afdeling herkent. De kosten ervan moeten op het juiste account worden geboekt. De status ervan moet bij elke beweging van de vrachtwagen worden bijgewerkt. Wanneer de factuur van de vervoerder arriveert, moet het eindbedrag worden verrekend met de oorspronkelijke schatting. Elk van deze stappen is een aparte invoer in een systeem dat werd ontworpen lang voordat iemand zich een AI-agent voorstelde die de pen vasthoudt.

Logistics worker with a tablet in a warehouse

Gaat dit mis, dan is de schade stil maar reëel. Een dubbele vrachtorder leidt tot opgeblazen toerekeningen. Een boeking die nooit synchroniseert, zorgt ervoor dat een zending wordt vervoerd zonder dat er kosten aan verbonden zijn. Een status die stopt met updaten, stuurt een dispatcher terug naar handmatige check-calls, wat precies het werk is dat de agent had moeten wegnemen. De agent ziet er indrukwekkend uit in de demo en creëert een achterstand in reconciliatie in productie.

De referentiestroom, end-to-end

Ontdaan van merknamen volgt elke werkende opstelling hetzelfde pad. De agent draait binnen een assistent zoals Claude of Copilot. Hij/zij roept de marktplaats MCP aan om een offerte te maken en vervolgens te boeken. De boekingsaanroep retourneert een boekingsnummer en een gestructureerde kostenpost. De agent, of een dunne service daarachter, schrijft dat resultaat vervolgens weg in het ERP als een vrachtrecord, en vanaf dat moment is het ERP de bron van waarheid terwijl de marktplaats het van updates voorziet.

  • **Offerte en boeking** via de marktplaats MCP. Het boekingsantwoord bevat een stabiele boekings-ID en een kostenoverzicht, niet alleen een totaalbedrag.
  • Maak het vrachtrecord aan in het ERP, gemarkeerd met die boekings-id, zodat de koppeling behouden blijft.
  • **Synchroonstatus** naarmate de zending vordert, idealiter via gebeurtenissen in plaats van een pollinglus die de API belast.
  • Regel de kosten wanneer de factuur van de vervoerder binnenkomt, en vergelijk het definitieve bedrag met de oorspronkelijke schatting.

De boekings-ID is de ruggengraat van de hele workflow. Het is de waarde waarmee elke latere stap het record kan vinden waartoe het behoort, en het is de waarde die een herhaling veilig in plaats van gevaarlijk maakt.

Een vrachtboekingsorder toewijzen aan het ERP-objectmodel

De 3 systemen die de meeste vrachtteams gebruiken, voeren dezelfde boeking op deze manieren in, zodat de mapping de plek is waar integratieplannen slagen of falen. De kruistabel hieronder is degene die we aan klanten geven wanneer ze vragen welk veld waar naartoe gaat.

**Marktplaatsveld**SAP TMNetSuite / Oracle
Boekings-IDVrachtorder nummerSle
Geciteerde kostenGeschatte kosten op vrachtorderGeschatte Landingskosten
Factuur van vervoerderVrachtafrekeningsdocumentWerkelijke Landingskosten via Ontvangstboekhouding
StatusmijlpalenVrachtorderevenementenOntvangst en afhandelingsstatus van artikelen

Kosten komen zelden als één getal, dus de uitsplitsing hoort er ook bij. Transport en brandstof zijn bekend bij het boeken en verschijnen als de geschatte vrachtkosten. Extra kosten zoals wachttijd of een vrachtafhandelaarsvergoeding verschijnen meestal alleen op de vrachtbrief, dus die komen terecht in het vrachtafwikkelingsdocument bij de afwikkeling, in plaats van in de oorspronkelijke vrachtorder.

SAP Transportation Management

SAP TM modelleert de reis als een vrachtorder, en het geld als een apart vrachtafwikkelingsdocument. Die splitsing is nuttig, omdat het je in staat stelt het operationele record te creëren bij boeking en de financiële kant later te verwerken wanneer de factuur wordt afgehandeld. Een agent die in SAP TM werkt, moet de vrachtorder aanmaken op het moment van boeking en de afwikkeling overlaten aan de factuur van de vervoerder, in plaats van een definitieve kostprijs op te leggen aan een record waar die nog niet is.

Oracle en NetSuite

Oracle en NetSuite steunen op de inkoop- en ontvangstcyclus, waarbij vracht de neiging heeft op te duiken als ingecalculeerde kosten, verspreid over de goederen die het vervoerde. Hier is de taak van de agent om de boeking en de bijbehorende kosten te koppelen aan de juiste inkooporder of ontvangst van goederen, zodat de vrachtkosten de voorraad volgen in plaats van als een losstaande kostenpost te blijven zweven. De schatting wordt geboekt bij de boeking, de werkelijke kosten worden bijgewerkt bij de afrekening, en de ingecalculeerde kosten worden vanaf daar opnieuw berekend.

De les die uit alle drie getrokken kan worden, is respecteer het model waarin je schrijft. Een marktplaatsboeking is aan onze kant één object. Aan de ERP-kant wordt dit twee records, een operationele en een financiële, en de netste integraties houden die twee aan elkaar gescheiden.

Idempotentie: de valkuil die dubbel boekt

Netwerken vallen tijdens een gesprek uit. Een agent probeert het opnieuw. Zonder bescherming creëert die poging een tweede vrachtorder voor een zending waar er al één van is, en nu zijn uw reserveringen onjuist op een manier die niemand tot het einde van de maand opmerkt. Idempotentie is de oplossing, en het is niet meer optioneel zodra er geld bij betrokken is.

Het patroon is eenvoudig. Elke schrijfbewerking die een record aanmaakt of afhandelt, bevat een 'idempotency key', en de boeking-id is de meest voor de hand liggende. De ERP-gerichte service controleert of er al een record bestaat voor die sleutel voordat deze schrijft. Indien dit het geval is, werkt de service het record bij in plaats van het in te voegen, of retourneert simpelweg het bestaande record. Een herpoging wordt dan een veilige no-op in plaats van een duplicaat. Wanneer we een boeking via onze MCP beschikbaar stellen, retourneren we om precies deze reden een stabiele id, zodat de backoffice een betrouwbaar anker heeft om idempotente schrijfbewerkingen rond op te bouwen. Het patroon is om te controleren op een bestaand record met de boeking-id als sleutel voordat er geschreven wordt: indien het bestaat, werk het bij, anders maak de vrachtorder aan. De eerste uitvoering creëert, elke herpoging na een time-out werkt hetzelfde record bij, en een onstabiel netwerk kost niets ergers dan een redundante zoekopdracht.

Identiteit over de grens

Een agent die autonoom handelt, is geen persoon en het ERP wil weten wie wat heeft gewijzigd. De nette aanpak is een specifieke service-identiteit voor de integratie, beperkt tot de weinige acties die deze daadwerkelijk uitvoert, in plaats van een agent die de brede machtigingen van een menselijke gebruiker leent. Een serviceaccount die vrachtorders kan aanmaken en afrekeningen kan boeken, en niets anders, houdt het risico klein en het auditspoor eerlijk. Dit is hetzelfde beperkte, minimale machtigingsdenken van de beveiligingsonderdeel van deze reeks, overgebracht naar de ERP-kant van de verbinding.

Wat een marktplaats MCP zou moeten blootstellen om 'write-back' schoon te maken

Een single-carrier server kan vaag zijn over zijn boekingsobject, omdat er maar één vorm te leren is. Een marketplace server kan dat niet, omdat de klant afstemt met vele providers naar één grootboek. 3 dingen maken het verschil.

Operations team working in an office
  • Een stabiele boekings-id die gedurende de gehele levensduur van de zending niet verandert, zodat het ERP-record gekoppeld blijft bij elke update.
  • **Een gestructureerde kostenopbouw**, niet één totaalbedrag, zodat lijnvracht, brandstof en toeslagen aan de juiste rekeningen kunnen worden gekoppeld en de afwikkelingsstap iets heeft om tegen te reconciliëren.
  • **Status als gebeurtenissen**, zodat de ERP een mijlpaal leert kennen wanneer deze plaatsvindt in plaats van te pollen voor een wijziging die uren kan duren.

Wanneer die drie aanwezig zijn, is de ERP-terugschrijving grotendeels deterministisch. Wanneer ze ontbreken, bouwt elke klant dezelfde fragiele lijm weer op, en de boeking van de agent wordt een reconciliatieprobleem in een handige vermomming.

Een referentielijst voordat u een agent aan het grootboek koppelt

  • Koppel elke ERP-schrijving aan de marketplace booking id, en maak deze id de idempotency key.
  • Maak het operationele verslag op bij het boeken en verwerk de financiële afwikkeling wanneer de factuur is bijgeschreven, niet eerder.
  • Splits de kostenopbouw opzettelijk naar rekeningen, in plaats van een totaalbedrag op één regel te zetten.
  • Probeer de status van de drive te achterhalen via gebeurtenissen waar mogelijk, en val
  • Geef de integratie zijn eigen geïsoleerde service-identiteit, nooit de brede login van een mens.
  • De geschatte kosten vergelijken met de werkelijke kosten bij afrekening, en het verschil markeren in plaats van het stilzwijgend te overschrijven.

Niets hiervan is uniek voor agenten. Het is de discipline die elke systeem-naar-systeem vrachtintegratie al nodig heeft. De agent maakt de boeking simpelweg sneller, wat betekent dat de terugkoppeling net zo betrouwbaar moet zijn om bij te blijven.

Veelgestelde vragen

Kan een AI-agent een vrachtboeking rechtstreeks in SAP of NetSuite schrijven?

Ja, via de eigen API van de ERP en een gescoopte service-identiteit, waarbij de marketplace-boekings-id wordt gebruikt als idempotentiële sleutel, zodat herhalingen geen duplicaten creëren. De agent stelt de schrijfbewerking voor, maar een dunne service moet deze uitvoeren tegen de ERP, zodat de logica testbaar blijft en de rechten beperkt blijven.

Wat gaat er het vaakst mis bij ERP-terugschrijven?

Dubbele records door onbeveiligde pogingen, en kosten die nooit worden afgerekend omdat de integratie een schatting plaatst en vergeet deze te verzoenen met de factuur van de transporteur. Beide worden opgelost door schrijfacties te verankeren aan een stabiele boekings-ID en de operationele en financiële stappen gescheiden te houden.

Waarom is het boekingsnummer zo belangrijk?

Het is de schakel tussen de marktplaats en het grootboek. Elke statusupdate, elk document en elke verrekening vindt zijn registratie via die id, en hij fungeert tevens als de idempotentie-sleutel die een herhaling veilig maakt. Een boekingsobject zonder stabiele id dwingt het backoffice te gissen, en daar ontstaan duplicaten en achtergebleven kosten.

Moeten statusupdates worden opgevraagd of geduwd?

Gepusht waar de marktplaats evenementen ondersteunt, omdat polling ofwel achterloopt op echte mijlpalen ofwel de API uitput om up-to-date te blijven. Een pragmatische integratie gebruikt evenementen voor de momenten die ertoe doen en een bescheiden polling-interval alleen als terugvaloptie.

Dit voltooit de 4-delige MCP-serie, actueel per 2026. Als je hier als eerste bent aangekomen, begin dan met de protocol primer, bekijk de verzonden servers in de afbreken en sluit het af met de Beveiligingshandleiding.