Een automatisch bestelvoorstel is nog geen veilige inkooporder. Het voorstel kan een oude contractprijs gebruiken, een lopende bestelling dubbel tellen of zonder de juiste budgethouder in een workflow belanden. De fout wordt duur zodra iemand op Definitief maken of Verstrekken klikt.
Deze route is voor de inkoper, controller en proceseigenaar die AFAS Profit wil laten werken van aanvraag en voorraadsignaal naar een inkooporder met menselijke goedkeuring. Je richt de brondata in, maakt het procuratieschema, test een beperkte batch en houdt elke twijfel zichtbaar in een uitzonderingsqueue.
Ik heb de AFAS-documentatie, n8n-prijzen en externe richtlijnen gecontroleerd op 6 oktober 2026. Waar AFAS een keuze laat tussen een inkoopaanvraag, bestelvoorstel of directe inkooporder, benoem ik wat die keuze doet met je goedkeuring en je write naar Profit.
Een AFAS-inkooporderworkflow is een vaste keten waarin een aanvraag of bestelvoorstel eerst wordt verrijkt met leverancier, voorraad, prijs en bestemming, daarna langs de bevoegde beoordelaars gaat en pas na akkoord actief wordt of aan de leverancier wordt verstrekt. De workflow bewaart wie besliste, op basis waarvan, met welke versie van de order.
Een AFAS-orderbeslissing begint met de blokkadereden en het bijbehorende bewijs, niet met de knop Vrijgeven. Voor inkoop verschuift de bron van klantkrediet naar leverancier, voorraad en contractprijs, maar de bewijsdiscipline blijft hetzelfde. Ook de scheiding tussen brondata, staging, menselijke vrijgave en herstel bij een onzekere write hoort hier thuis, alleen vertaal ik haar naar de statuslogica van AFAS Profit.
Wat je nodig hebt voor een veilige AFAS-inkoopflow
Begin met de inrichting die de beslissing mogelijk maakt. Een workflow repareert geen ontbrekende leverancier, verkeerde eenheid of onbekend budget. Leg deze zaken klaar voordat je een taak in InSite maakt.
- AFAS Profit met Ordermanagement en InSite. Je hebt een testomgeving nodig die dezelfde boekingslay-outs, administraties, artikelgroepen en autorisaties bevat als productie. Een lege demo geeft je een vals gevoel van veiligheid.
- Een keuze tussen aanvraag en bestelvoorstel. Een inkoopaanvraag is geschikt voor interne behoefte, kosten en niet-voorraadhoudende artikelen. Een bestelvoorstel is geschikt voor voorraadaanvulling, verkooporders, productie en goedgekeurde aanvragen. Profit kan goedgekeurde aanvragen meenemen in het bestelvoorstel, maar alleen voor niet-voorraadhoudende artikelen, werksoorten en kosten.
- Een compleet artikel- en leveranciersbestand. Leg per voorraadhoudend artikel de voorkeursinkooprelatie, inkoopeenheid, minimumvoorraad, aanvullen-tot-waarde, levertijd, bestelkalender, minimumaantal en eventuele bestelstaffel vast. Leg de geldige inkoopprijs of prijslijst vast met valuta en ingangsdatum.
- Een bron voor elke beslissing. Voor voorraad is dat de actuele of economische voorraad. Voor prijs is dat de inkoopprijslijst, contractversie of leveranciersafspraak. Voor aanvraag is dat de aanvrager, kostenplaats, grootboekrekening, gewenste leverdatum en bijlage.
- Een procuratiemodel. Kies wie tot welk bedrag en voor welke grondslag mag goedkeuren. AFAS laat maximaal drie procuratiegrondslagen toe. Denk aan grootboekrekening, kostenplaats of een andere verbijzonderingsas, maar gebruik alleen wat je later werkelijk kunt onderhouden.
- Een uitzonderingsqueue. Gebruik een Profit-dossieritem, een aparte tabel of een gecontroleerde werkbak. Per uitzondering bewaar je minimaal de sleutel, reden, eigenaar, deadline, bronwaarden, voorgestelde actie, beslisser, tijdstip en eindstatus. Een gedeelde mailbox is een melding, geen queue.
- Een test- en terugvalplan. Spreek af wat er gebeurt als een workflow blijft hangen, een groep leeg is, een prijs inmiddels is veranderd of een API-call geen antwoord geeft. Zet ook vast wie de flow mag stilleggen.
- Beheerkennis. Je hebt iemand nodig die boekingslay-outs, autorisatie, procuratie en connectoren kan controleren. Voor het begroten van hulp kun je de openbare AFAS-tarieven van 2026 gebruiken: € 1.100 per consultantdag, € 1.200 voor een senior consultant en € 200 per uur voor een systemintegrator, exclusief btw en bij een consultancydag van zeven uur. Dat zijn referentieprijzen, geen offerte. De actuele tariefpagina van AFAS noemt deze bedragen, gecontroleerd op 6 oktober 2026.
De belangrijkste keuze zit tussen twee paden. Voor interne verbruiksartikelen laat je een medewerker een inkoopaanvraag insturen en keur je die aanvraag goed. Voor voorraad laat je AFAS een bestelvoorstel genereren en keur je daarna de inkooporder of de voorgestelde regels. Meng die paden niet in één onduidelijke taak. De aanvrager heeft een andere vraag dan de inkoper die een voorraadtekort moet aanvullen.
Concrete stappen: van aanvraag en bestelvoorstel naar order
Een bestelvoorstel is een berekening, geen fiat. Profit kijkt onder meer naar voorraad, in bestelling, reserveringen, minimumvoorraad en afzetvoorspelling. Het kan ook rekening houden met de voorkeursleverancier, minimumaantallen, staffels en de leverkalender. De actuele AFAS-uitleg beschrijft deze bronnen en de economische voorraad als voorraad plus in bestelling min gereserveerd. De workflow begint dus met de vraag welke gegevens de uitkomst mogen beïnvloeden.
1. Leg eerst vast welk proces je bouwt
Schrijf de route uit als een korte tabel voordat je Profit instelt.
| Situatie | Startpunt | Wie beslist | Wat gebeurt na akkoord? |
|---|---|---|---|
| Laptop, dienst of kantoorartikel voor eigen gebruik | Inkoopaanvraag | Budgethouder, leidinggevende of inkoop | Aanvraag wordt omgezet naar een order of klaargezet voor het bestelvoorstel |
| Artikel onder minimumvoorraad | Bestelvoorstel | Inkoper of bevoegde orderbeoordelaar | Inkooporder wordt aangemaakt, beoordeeld en daarna actief of verstrekt |
| Artikel nodig voor een verkooporder | Bestelvoorstel vanuit verkoop | Inkoper en eventueel ordereigenaar | Regels worden verzameld en bij de voorkeursleverancier besteld |
| Inkooporder uit een externe applicatie | Staging buiten Profit | Mens vóór de UpdateConnector | Alleen de goedgekeurde payload mag naar de beperkte write-route |
Maak voor elke route een eigen statuslijst. Gebruik niet één statusveld voor aanvraag, procuratie, order en levering. Een aanvraag kan goedgekeurd zijn terwijl de order nog niet is gemaakt. Een order kan akkoord zijn terwijl er nog niets aan de leverancier is verstrekt. Een levering kan gedeeltelijk zijn terwijl de inkooporder nog openstaat.
2. Maak voorraad, leverancier en contractprijs betrouwbaar
Open in Profit de artikel- en inkoopinstellingen en loop ieder artikel in je pilot door. Controleer minimaal:
- Artikelidentiteit. De itemcode, het itemtype en het magazijn moeten overeenkomen met de bron van je bestelvoorstel.
- Voorraadlogica. Kies of je op economische voorraad of op afzetvoorspelling aanvult. Weet welke reserveringen en lopende inkoop daarbij meetellen.
- Voorkeursleverancier. Profit gebruikt bij het genereren de in het artikel ingestelde voorkeursinkooprelatie. Voor een verkooprelatie kan een voorkeursleverancier op de itemcode voorrang krijgen.
- Inkoopeenheid. Leg vast of je bestelt per stuk, doos, rol of pallet. Zet de omrekening niet alleen in een werkinstructie.
- Minimum en staffel. Een bestelvoorstel kan hoger uitvallen dan de behoefte door een minimumaantal of bestelstaffel van de leverancier. Laat de beoordelaar dit zien.
- Prijsbron. Voeg de inkoopprijslijst, contractreferentie of leveranciersafspraak toe met geldig vanaf, geldig tot, valuta en een eigenaar. Een bedrag zonder geldigheidsperiode is geen contractprijs.
- Leverdatum. Vul een gewenste leverdatum in als die voor je proces telt. Gebruik de bestel- en leverkalender wanneer je rekening wilt houden met uiterlijke besteltijd en leverdagen.
Genereer niet meteen een order om te zien of de prijs klopt. In de selectie van het bestelvoorstel kun je Detailinfo, Voorraadinfo, Prijsinfo en Voorraadplanning openen. Controleer daar eerst de reden van de regel, de huidige virtuele voorraad, de gevonden prijs en het aantal dagen tot de leverdatum. AFAS beschrijft deze controlepunten en de invloed van minimumaantallen en bestelstaffels, gecontroleerd op 6 oktober 2026.
Houd in je eigen register een momentopname bij. Bewaar bijvoorbeeld voorraad_gecontroleerd_op, prijs_gecontroleerd_op, contractversie, inkooprelatie_id, magazijn_id en rekenregelversie. Daarmee kun je later uitleggen waarom 140 stuks is voorgesteld terwijl de voorraad inmiddels is veranderd.
3. Richt het procuratieschema in vóór je workflowtaken maakt
AFAS raadt een vaste volgorde aan. Begin bij de autorisatie van de juiste menukeuzen en tabbladen. Bepaal daarna de grondslagen en grensbedragen, activeer het schema, richt beoordelaarsgroepen in en voeg pas dan de procuratieregels toe.
Gebruik maximaal drie grondslagen. Een werkbaar begin is bijvoorbeeld:
- grondslag 1: grootboekrekening voor inkoop;
- grondslag 2: kostenplaats of afdeling;
- grondslag 3: leeg, tenzij een aantoonbare derde dimensie nodig is.
Leg de grensbedragen per administratie vast. Bijvoorbeeld € 500, € 2.500 en € 10.000, met een restcategorie boven de hoogste grens. Deze bedragen zijn een voorbeeld van een beslisontwerp, niet een universeel advies. De juiste grenzen volgen uit je mandaat, foutkosten en functiescheiding.
Gebruik beoordelaarsgroepen als de bezetting kan wisselen. Koppel een selectie op functie of organisatorische eenheid aan de groep en laat de geplande taak Autorisatiegroepen o.b.v. selectie actualiseren dagelijks draaien. Een groep zonder gebruikers blokkeert de statusovergang. Richt ook een vangnetregel zonder grondslagen in. Daarmee valt een nieuwe grootboekrekening niet stilletjes buiten de procuratie.
Let op een ingrijpend AFAS-detail: na het vastleggen van procuratieregels kun je de gekozen grondslagen niet meer wijzigen. Het activeren van de grondslagen leidt tot een conversie. Plan dat buiten werktijd en controleer eerst in de testomgeving. De huidige AFAS-instructie beschrijft de maximaal drie grondslagen, restcategorie, groepsselecties en de conversie, gecontroleerd op 6 oktober 2026.
4. Bouw de workflow voor inkoopaanvragen
Gebruik de meegeleverde workflow Inkoopaanvraag met procuratie obv groepen als uitgangspunt wanneer medewerkers zelf een aanvraag insturen. Kopieer hem naar je eigen variant en controleer elke taak.
Richt dit in:
- Ga naar CRM / Dossier / Inrichting / Type dossieritem en open het type dossieritem voor de inkoopaanvraag.
- Kies de workflowvariant met procuratieschema en groepen.
- Zet de taak Bestelling plaatsen op de inkoopafdeling als die afdeling de leverancierbestelling moet doen. Laat deze taak niet standaard bij de aanvrager staan als dat niet je bedoeling is.
- Koppel de stap Ter beoordeling beoordelaar aan de juiste leidinggevende, budgethouder of procuratiegroep.
- Gebruik Goedkeuren inkoopaanvraag via procuratieschema samen met de conditie Procuratie afgerond (Profit). Een losse taakgoedkeuring van de workflowmanager werkt hier niet hetzelfde en kan de procuratiestatus laten staan.
- Richt Afkeuren inkoopaanvraag en Opnieuw insturen inkoopaanvraag in. De afwijzing moet bij de aanvrager terugkomen met een reden, niet verdwijnen uit de werkbak.
- Kies of akkoord direct een order maakt en verstrekt, of de aanvraag eerst klaargezet wordt voor de inkoper.
- Zet aanpassen tijdens beoordelen alleen aan als je hebt bepaald welke velden de beoordelaar mag veranderen. Voor vrije aanvragen zijn de instelling in het beoordelingsprofiel en de instelling op de workflowtaak allebei nodig.
De veilige standaard voor een eerste proef is: goedkeuren, daarna klaarzetten voor het bestelvoorstel, en verstrekken pas na de aparte ordercontrole. Direct aanmaken en e-mailen kan technisch, maar dan moet de aanvraagworkflow zelf al alle prijs-, leverancier- en leverdatumvelden afdwingen. De AFAS-workflowbeschrijving maakt het onderscheid tussen direct omzetten, goedkeuren voor latere afhandeling en afkeuren expliciet, gecontroleerd op 6 oktober 2026.
5. Richt bestelvoorstel en inkooporderworkflow voor voorraad in
Ga in Profit naar Ordermanagement / Inkoopproces / Bestelvoorstel. Kies voor de proef één magazijn en één artikelgroep. Selecteer alleen de bronnen die je werkelijk wilt testen:
- Voorraadaanvulling voor artikelen die onder hun ingestelde voorraadniveau komen;
- Bestelvoorstel verkoop voor regels uit verkooporders of voorcalculatie;
- Inkoopaanvragen voor goedgekeurde interne aanvragen;
- Bestel- en leverkalender als leverdagen en besteltijd de uitkomst beïnvloeden.
Klik op F5. Selecteren en controleer per regel de leverancier, hoeveelheid, voorraadinfo, prijsinfo, detailinfo en voorraadplanning. Verwijder een regel uit de proef als de bron niet verklaarbaar is. Wijzig de leverancier of hoeveelheid alleen met een reden die in de queue of het orderdossier terechtkomt.
Let op verdichting. Profit kan regels samenbrengen, maar splitst ook weer op onder meer inkooprelatie, administratie, valuta, magazijn, afleveradres, contract en referentie. Vink Verzamelen meerdere magazijnen niet gedachteloos aan. AFAS waarschuwt dat deze instelling alle magazijnen kan samenvoegen, ook als ze verschillende fysieke afleveradressen hebben. Dat is een logistieke fout, geen klein presentatieverschil.
Open daarna het inkooprelatieprofiel en vink Beoordelen inkooporder via workflow aan voor de leveranciers waarop de workflow moet gelden. Koppel in Ordermanagement / Beheer / Instellingen / Beoordelen inkoop de workflow. Voeg in je weergave het veld Status beoordeling toe, zodat je onderscheid ziet tussen concept, ter beoordeling, afgekeurd en akkoord.
De instelling Inkooporder direct definitief maken verdient extra aandacht. Bij geautomatiseerd toegevoegde orders, zoals uit het bestelvoorstel, kan AFAS de order direct de status Definitief geven zodat de workflow hem beoordeelt. Dat betekent niet dat een leverancier al gemaild moet zijn. Test in je omgeving dat definitief, akkoord, actief en verstrekken werkelijk vier verschillende momenten blijven. AFAS beschrijft de orderworkflow, de statussen en de drie manieren waarop een order definitief kan worden gemaakt, gecontroleerd op 6 oktober 2026.
6. Maak menselijke vrijgave de enige poort naar actief en verstrekken
De beoordelaar ziet in één scherm:
- ordernummer, administratie, inkooprelatie en magazijn;
- itemcode, aantal, eenheid, prijs, valuta en btw-code;
- voorraad vóór de berekening, lopende inkoop, reservering en verwachte ontvangst;
- contract- of prijslijstversie en geldigheidsdatum;
- gewenste leverdatum en afwijkingen van de bestelkalender;
- de bron van de regel, de aanvrager en de kostenplaats;
- de voorgestelde actie en de reden van iedere uitzondering.
Laat de beoordelaar de exacte waarden goedkeuren, niet alleen een totaalsom. In de standaardworkflow zijn Goedkeuren inkooporder, Afkeuren inkooporder en Inkooporder verstrekken verschillende acties. Bij goedkeuren gaat de order naar Actief of Deellevering. AFAS kan het rapport van de inkooporder als PDF aan het dossier toevoegen. Verstrekken via e-mail of XML is een volgende stap. De actuele beschrijving van de workflow met procuratie op basis van groepen waarschuwt ook dat de speciale procuratieactie niet door een workflowmanager moet worden vervangen, gecontroleerd op 6 oktober 2026.
Een aanvraag die al via procuratie is goedgekeurd hoeft in de orderworkflow niet automatisch nogmaals te worden goedgekeurd. Profit vergelijkt dan onder meer itemcode, regelbedrag, valuta, btw-code, leverancier, project, verbijzonderingen, aantal en prijs per eenheid. Zodra één van die waarden verandert, behandel je het als een nieuw besluit. Dat is een sterke statuspoort. Gebruik hem bewust en test hem met een prijswijziging en een andere leverancier.
7. Beperk een externe write tot een goedgekeurde payload
Als een externe applicatie of eigen service de inkooporder maakt, geef je die niet dezelfde vrijheid als een inkoper in Profit. Richt een aparte App connector en systeemgebruiker in. Gebruik een leesroute voor de benodigde GetConnectoren en een afzonderlijke release-route voor de UpdateConnector FbPurch.
Maak de release-route server-side zo klein mogelijk:
- De bronrun maakt een stagingrecord met een unieke
request_id. - De rekenlaag vult leverancier, item, magazijn, hoeveelheid, prijs, valuta, leverdatum en contractversie.
- Een mens keurt precies die payload goed.
- De release-service leest het stagingrecord opnieuw en controleert status, bevoegdheid, payload-hash en versheid.
- De service doet één insert via
FbPurchen schrijft geen delete-pad voor de agent. - Een GetConnector leest de order terug en vergelijkt de opgeslagen waarden.
- Alleen na een geslaagde vergelijking gaat de order naar verstrekt of de volgende operationele stap.
De AFAS-documentatie noemt voor FbPurch INSERT, UPDATE en DELETE. Die mogelijkheden zijn nuttig voor beheerde processen, maar ze horen niet als vrije gereedschapskeuze bij een agent. De connectorpagina noemt de acties en de REST-route voor regels, gecontroleerd op 6 oktober 2026.
Maak een vrij veld op de orderkop voor EXT_REQ_ID als je inrichting dat toelaat en neem het op in de GetConnector. De lokale vrijgavetabel blijft de bron voor status en pogingsteller. De AFAS-pagina beschrijft geen algemene idempotency-sleutel voor FbPurch. Daarom is een time-out nooit een signaal om blind opnieuw te posten.
8. Draai eerst een proefbatch en meet de hele beslissing
Kies voor je eerste batch een vaste set regels met een normale situatie en de randgevallen die je later in productie verwacht. Neem bijvoorbeeld voorraadtekort, lopende inkoop, minimumaantal, verlopen prijs, ontbrekende leverancier, verschillende magazijnen, afwijzing en gewijzigde payload op. Gebruik echte structuren uit je testomgeving, maar laat de batch in een testadministratie lopen.
Meet minimaal:
- Matchpercentage: het aantal regels waarvan leverancier, item, eenheid, hoeveelheid en prijs overeenkomen met de gecontroleerde bron, gedeeld door het aantal beoordeelde regels.
- Goedkeuringsduur: de tijd tussen
ready_for_approval_atenapproved_at. Rapporteer mediaan en langste geval, want een gemiddelde verbergt een vastgelopen groep. - Uitzonderingsratio: het aantal voorstellen dat naar de queue gaat, gedeeld door het totale aantal voorstellen. Noteer ook de reden, zodat een hoge ratio door ontbrekende prijzen niet wordt verward met een lage datakwaliteit in de voorraad.
- Onzekere writes: het aantal writes zonder zekere response, het aantal gevonden duplicaten en het aantal handmatig gereconcilieerde orders.
Kies vóór de batch je stopregels. Bijvoorbeeld: geen order wordt verstrekt als de leverancier niet overeenkomt met de bron, de contractprijs verlopen is, een beoordelaarsgroep leeg is, de payload na goedkeuring verandert of een write onbekend eindigt. De grens is dan operationeel duidelijk, ook als je nog geen productiedoel voor het matchpercentage hebt.
9. Herstel een onzekere write zonder dubbele bestelling
Een time-out na het aanmaken van een inkooporder is geen gewone foutmelding. AFAS kan de order al hebben opgeslagen terwijl jouw service geen antwoord zag. Gebruik dit herstelpad:
- Zet de lokale status op
unknown, bewaar request, payload, tijdstip en laatste responsefragment en stop automatische retries. - Zoek in dezelfde administratie naar
EXT_REQ_ID. Als je dat vrije veld niet hebt, zoek je op leverancier, item, aantal, bedrag, leverdatum en een beperkt tijdvenster. - Vind je precies één order met dezelfde payload, koppel die aan de
request_iden zet de status opreconciled. - Vind je meerdere kandidaten, dan gaat de order naar de uitzonderingsqueue. Een mens bepaalt welke order bij de aanvraag hoort.
- Vind je niets, dan beoordeelt een bevoegde persoon of dezelfde payload opnieuw mag worden aangeboden. Gebruik dezelfde
request_iden verhoog de pogingsteller. - Lees na een geslaagde insert de kop en alle regels terug. Controleer leverancier, item, hoeveelheid, prijs, valuta, magazijn en status.
Een retry is dus een besluit, geen programmeerreflex. Dat ene onderscheid voorkomt de dubbele inkooporder die pas bij de leverancier of de ontvangst zichtbaar wordt.
Valkuilen die je AFAS-workflow stil of onveilig maken
Je behandelt een bestelvoorstel als goedkeuring
Een voorstel zegt dat Profit een aantal verwacht te moeten inkopen. Het zegt niet dat de prijs klopt, dat de leverancier nog actief is of dat iemand het bedrag mag toezeggen. Mitigatie: bewaar de voorstelwaarden en voeg de menselijke orderbeoordeling toe.
Je keurt de aanvraag goed en verandert daarna de order
Een prijs, leverancier, aantal, valuta, kostenplaats of btw-code die na de aanvraag verandert, maakt de order inhoudelijk anders. Mitigatie: laat de orderworkflow de gelijkheidsvelden controleren. Bij een afwijking gaat de order terug naar procuratie.
Je zet één lege groep in een procuratieschema
AFAS kan een workflowtaak conditioneel overslaan als er geen beoordelaar is. Een procuratiegroep die wel verwacht wordt maar leeg is, kan juist blijven hangen. Mitigatie: maak groepen niet-leeg, plan de dagelijkse actualisatie en test vertrek, vervanging en nieuwe medewerkers.
De workflowmanager keurt de procuratietaak af
Bij de speciale actie Goedkeuren via procuratieschema werkt de status vanuit de procuratie. Een workflowmanager die de taak zelf afhandelt, kan de status van de procuratiehouder laten staan. Mitigatie: gebruik de AFAS-speciale actie samen met Procuratie afgerond (Profit) en test de volledige statusovergang.
Je verzamelt alle magazijnen op één order
De optie voor meerdere magazijnen kan fysieke afleveradressen samenvoegen. Mitigatie: controleer per regel magazijn, afleveradres en contract voordat je de order aanmaakt. Gebruik voor de proef één magazijn.
Je laat een oude contractprijs door de proefbatch glippen
Een prijs kan geldig lijken omdat hij in Profit bestaat, terwijl de einddatum of leveranciersrelatie is veranderd. Mitigatie: toon prijsbron, valuta en geldigheid op de goedkeuringskaart. Ontbreekt één veld, dan gaat de regel naar de queue.
Je maakt een write-account voor de hele keten
Een brede connector maakt een promptfout tot een mutatie in je ERP. Mitigatie: splits lezen, staging, goedkeuren, schrijven en teruglezen. Laat de release-service alleen een gevalideerde FbPurch-payload aanbieden en maak delete niet beschikbaar in de agentroute.
Je retryt een onzekere write automatisch
Een HTTP-fout vertelt niet altijd of AFAS de order al heeft verwerkt. Mitigatie: markeer unknown, zoek eerst op de eigen requestreferentie en laat alleen een bevoegde persoon een nieuwe write vrijgeven.
Je bewaart het bewijs alleen in een logbestand
Een audit trail met leveranciers, prijzen en medewerkers bevat persoonsgegevens en financiële informatie. De Autoriteit Persoonsgegevens schrijft dat organisaties een gedetailleerde, actuele autorisatiematrix moeten hebben en toegang tot systemen moeten loggen. Die pagina is bijgewerkt op 3 oktober 2024. De richtlijn koppelt logging aan doel, proportionaliteit, subsidiariteit en beveiliging van de log zelf. Mitigatie: bewaar een leesbaar dossier bij de order, beperk toegang en stel een bewaartermijn vast.
NIST beschrijft logmanagement als zowel infrastructuur als een robuust proces. SP 800-92 is gepubliceerd op 13 september 2006 en de webpagina is bijgewerkt op 12 oktober 2021. Gebruik die basis om vast te leggen welke gebeurtenissen je logt, wie ze mag lezen en hoe je de log controleert. Een lijst met API-responses zonder eigenaar is geen audit trail.
Beslis-kader: native AFAS, workflow, n8n of maatwerk
Kies eerst waar de menselijke beslissing hoort. Als AFAS de enige bron is en je aantallen klein blijven, is native inrichting meestal het verstandigst. Als meerdere mensen moeten beoordelen, voeg je de AFAS-workflow en InSite toe. Als data uit een voorraadbron, webwinkel of contractopslag samenkomt, heb je staging nodig. Maatwerk is pas logisch als die staging zelf een bedrijfskritische release-service wordt.
Kies native AFAS met handmatige controle wanneer je één administratie, een beperkt aantal leveranciers en weinig uitzonderingen hebt. De inkoper werkt in het bestelvoorstel, controleert prijs en voorraad en maakt de order definitief volgens de boekingslay-out. Een aparte automatiseringslaag zou dan vooral een tweede werkbak toevoegen.
Kies AFAS Workflow en InSite wanneer je aanvraag meerdere beoordelaars, vervangers, budgethouders of een dossier nodig heeft. Dit is de juiste route voor interne aanvragen en voor inkooporders die geheel uit Profit-data ontstaan. Houd verstrekken als aparte stap na akkoord.
Kies AFAS plus n8n wanneer je meerdere systemen moet lezen, deadlines wilt bewaken en een queue met meldingen nodig hebt. De actuele n8n Cloud-prijzen zijn € 20 per maand bij jaarlijkse betaling voor Starter met 2.500 workflowuitvoeringen en € 50 voor Pro met 10.000 uitvoeringen. n8n rekent volledige workflowuitvoeringen, niet losse stappen. De plannen bewaren hun uitvoeringsgeschiedenis beperkt, dus zet je formele auditrecord buiten n8n. De actuele prijspagina bevestigt de limieten en rekeneenheid, gecontroleerd op 6 oktober 2026.
Kies maatwerk rond AFAS wanneer je meerdere administraties, complexe contractregels, externe voorraad, eigen request-id’s, replay en een gezamenlijke auditlaag nodig hebt. Bouw dan eerst de statusmachine en de reconciliatie. De taalmodel- of workflowlaag komt pas daarna. Voor veel MKB-processen is een eigen release-service te zwaar; dat is geen mislukking maar een goede uitkomst van het besliskader.
Gebruik deze drie vragen als snelle route door het kader:
Waar ontstaat het voorstel?
De keuzehulp en het geschreven kader geven dezelfde uitkomsten. Native blijft native. Meerdere rollen leiden naar Workflow en InSite. Externe bronnen met onzeker herstel leiden naar staging met n8n of naar maatwerk, afhankelijk van de write-risico’s.
Uitgewerkt voorbeeld: bestelvoorstel met prijswijziging tijdens goedkeuring
Dit is een synthetisch rekenvoorbeeld, geen klantcase. Een technische groothandel gebruikt AFAS Profit met één administratie en magazijn MAG-01. Artikel KRAAN-400 heeft een minimumvoorraad van 60, een aanvulwaarde van 180, een verpakkingseenheid van 20 en voorkeursleverancier SUP-047.
Op 6 oktober 2026 maakt de inkoper een bestelvoorstel. Profit toont:
- 38 stuks voorraad;
- 12 stuks gereserveerd voor verkooporders;
- 20 stuks in een lopende inkooporder;
- € 18,40 per stuk volgens prijslijst
SUP-047-2026-Q4; - een minimumaantal van 120 stuks;
- een gewenste leverdatum van 16 oktober 2026.
De economische voorraad is 38 + 20 - 12 = 46. Dat ligt onder de minimumvoorraad van 60. Om aan te vullen tot 180 is 134 stuks nodig. Afronden op 20 maakt 140 stuks. De minimumafname verandert niets, want 140 is al hoger dan 120. De waarde van de order wordt 140 × € 18,40 = € 2.576 exclusief btw.
De stagingregistratie krijgt:
{
"request_id": "AFAS-PO-2026-1006-KRAAN-400",
"administratie": "001",
"magazijn": "MAG-01",
"inkooprelatie": "SUP-047",
"itemcode": "KRAAN-400",
"aantal": 140,
"eenheid": "stuks",
"prijs": 18.40,
"valuta": "EUR",
"prijsbron": "SUP-047-2026-Q4",
"voorraad_gecontroleerd_op": "2026-10-06T08:15:00+02:00",
"status": "awaiting_approval"
}
De inkoper keurt de payload nog niet goed. Om 08:42 stuurt de leverancier een nieuwe prijslijst. De prijs wordt € 19,10 en de minimumafname wordt 160 stuks. De stagingrecord blijft bevroren. De release-service of inkoper merkt dat de prijsbron en minimumafname niet meer overeenkomen en zet de order op needs_review.
De nieuwe rekensom voor 160 stuks is € 3.056 exclusief btw. De beoordelaar ziet beide versies en beslist of de order nog steeds nodig is, of de leverancier klopt en of het bedrag binnen het procuratiegrensbedrag valt. Als de order onder de restcategorie valt, gaat hij naar de aangewezen groep. Een inkoper mag het voorstel niet zelf aanpassen en daarna zijn eigen afwijking goedkeuren.
Stel dat de order via de native AFAS-workflow loopt. Dan kan Profit de order als definitief ter beoordeling zetten. De menselijke goedkeuring maakt hem actief. Het verstrekken via e-mail of XML gebeurt pas daarna. De interne AFAS-order is dus al aangemaakt vóór de menselijke vrijgave, maar de commerciële toezegging aan de leverancier is dat niet.
Stel nu dat een externe release-service de order maakt. De mens keurt de nieuwe payload van 160 stuks goed. De service schrijft één keer via FbPurch en krijgt geen antwoord door een time-out. De status wordt unknown. De service zoekt in dezelfde administratie naar AFAS-PO-2026-1006-KRAAN-400 in EXT_REQ_ID. Vindt hij exact één order met leverancier SUP-047, item KRAAN-400, 160 stuks en € 19,10, dan koppelt hij de order en markeert hij reconciled. Vindt hij twee orders of geen betrouwbare referentie, dan stopt hij en krijgt een mens de uitzondering.
De pilot is geslaagd als je drie dingen kunt aanwijzen: de oorspronkelijke berekening, de nieuwe berekening na de prijswijziging en één eindstatus zonder dubbele order. Het doel is niet een lege queue. Het doel is dat iedere regel die de queue verlaat begrijpelijk en bevoegd is.
Vergelijkingstabel: welke inrichting past bij jouw proces?
De bedragen en productdetails hieronder zijn gecontroleerd op 6 oktober 2026. AFAS-tarieven en n8n-prijzen zijn exclusief btw waar de leverancier dat zo publiceert. Bouw, datamigratie, testwerk en beheer staan los van de softwareprijs.
| Route | Concrete producten | Prijs of budgetanker | Past bij | Breekpunt |
|---|---|---|---|---|
| Native | AFAS Profit, Ordermanagement, boekingslay-out | Bestaande AFAS-licentie; geen losse workflowprijs in deze vergelijking | Eén administratie, weinig uitzonderingen, één inkoper | Geen aparte queue of replaylaag |
| Workflow | AFAS Profit Workflow, InSite en procuratieschema | AFAS-consultant € 1.100 per dag, senior € 1.200 per dag in 2026 | Meerdere beoordelaars, vervangers en dossierwerk | Externe brondata en onzekere writes blijven buiten beeld |
| Staging | AFAS plus n8n Cloud Starter of Pro | € 20 per maand bij 2.500 uitvoeringen of € 50 bij 10.000, jaarlijks gefactureerd | Meerdere bronnen, meldingen, deadlines en een gecontroleerde queue | Auditretentie, rechten en write-herstel moet je zelf ontwerpen |
| Maatwerk | Eigen stagingdatabase, release-service, GetConnector en FbPurch | Geen vaste productprijs; AFAS noemt € 200 per uur voor een systemintegrator als referentie | Meerdere administraties, complexe contracten en replay | Hogere startinspanning en blijvend onderhoud |
Een kant-en-klare AFAS-workflow is de beste keuze als je proces al in Profit past. n8n is een praktische tussenlaag als je bronnen en signalen wilt verbinden, maar de mens in AFAS laat vrijgeven. Maatwerk is pas verdiend wanneer een onzekere write, meerdere entiteiten of een eigen auditlaag een bedrijfskritisch probleem is.
Meet na de pilot niet alleen hoeveel orders actief worden. Kijk naar matchpercentage, goedkeuringsduur, uitzonderingsratio, afwijzingen en onzekere writes. Een stijgende uitzonderingsratio kan in het begin goed nieuws zijn: je ziet dan problemen die een directe write eerder verborgen hield.
Een bestelvoorstel is waardevol omdat het werk uit handen neemt voordat iemand een order typt. De menselijke vrijgave blijft waardevol omdat voorraad, prijs en bevoegdheid op het beslismoment kunnen veranderen. Richt je AFAS-flow zo in dat die twee waarheden naast elkaar blijven bestaan. Dan is automatisering geen onzichtbare hand die bestelt, maar een controleerbare route waarin iedere order een eigenaar, een reden en een herstelpad heeft.
Veelgestelde vragen
Van bestelvoorstel naar vrijgave
Ik ontwerp de aanvraag, procuratie, staging en herstelroute rond jouw AFAS-omgeving en bouw de gecontroleerde vrijgave end-to-end, zodat een order pas verdergaat wanneer de juiste persoon dezelfde waarden heeft gezien.
Dit artikel is geproduceerd samen met het Agent Team. Meer over de redactie.
