Wat gebeurt er technisch?
- De documentservice ontvangt statements en aiContent als gescheiden objecten.
- De server maakt een HTML-document en SHA-256-hash.
- approvalStatus begint op pending en humanReviewRequired blijft true.
Bouwstappen met uitleg
Maak de documentbody uit gecontroleerde statements en gevalideerde aiContent.
- Waarom?
- De cijferbron en tekstbron blijven zo traceerbaar van elkaar gescheiden.
- Wat moet dit opleveren?
- Een vaste DocumentRequest-structuur.
Zet approvalStatus op pending.
- Waarom?
- Een gegenereerd concept is nog niet beoordeeld door een financieel deskundige.
- Wat moet dit opleveren?
- Een response met pending en humanReviewRequired true.
Bewaar documentId, downloadUrl, sha256 en createdAt.
- Waarom?
- Deze velden maken audit, versiecontrole en integriteitscontrole mogelijk.
- Wat moet dit opleveren?
- Een documentmetadatarecord.
Open het HTML-document en controleer cijfers tegen het datawerkblad.
- Waarom?
- De laatste stap blijft menselijke vergelijking met de bron.
- Wat moet dit opleveren?
- Een zichtbaar conceptlabel en overeenkomende bedragen.
Wat gaat er mis als je dit overslaat?
Vrij gegenereerde documenten kunnen bedragen, volgorde, labels of verplichte waarschuwingen veranderen.
PowerLab-endpoint
Dit endpoint bootst het relevante deel van Exact Online, de AI-provider of de documentservice na. De /api/v1-routes gebruiken de Division-parameter en Exact-achtige paginering, maar PowerLab is geen volledige Exact-emulator.
https://powerlab.rmeijer.eu/api/documents/annual-report
Kies in de HTTP Request-node de opgeslagen Header Auth-credential PowerLab API. De sleutel hoeft je broertje niet te zien of in de workflow te plakken.
Voorbeeldbody
{
"administration": {
"division": 101001,
"name": "Noordzee Handel BV"
},
"aiContent": {
"accountingNotes": [],
"managementSummary": "Oefenconcept.",
"warnings": []
},
"approvalStatus": "pending",
"currency": "EUR",
"financialYear": 2025,
"statements": {
"balanceSheet": {
"assets": 1000000,
"equity": 600000,
"liabilities": 400000
},
"profitAndLoss": {
"expenses": 1170000,
"result": 130000,
"revenue": 1300000
}
}
}
Varianten om zelf te proberen
De bouwstappen hierboven zijn één mogelijke route, geen verplichte oplossing. Als jouw workflow hetzelfde resultaat veilig bereikt, is dat prima.
- Genereer concepten voor twee verschillende normale klanten.
- Genereer hetzelfde jaar opnieuw en bepaal zelf of je versieert of duplicate voorkomt.
- Controleer de cijfers handmatig via /data.
Voeg sourceRunKey en sourceHash aan je documentmetadata toe zodat je later kunt bewijzen uit welke run en bronset het concept kwam.
Kun je uitleggen waarom?
Beantwoord deze vragen in je eigen woorden voordat je de oefening afrondt. Het doel is niet alleen de juiste nodes plaatsen, maar de ontwerpkeuzes kunnen verdedigen.
- Waarom scheid je statements en aiContent?
- Wat bewijst een hash wel en niet?
- Wie mag approvalStatus later op approved zetten?
Klaar wanneer
De workflow levert een downloadbaar concept met metadata, hash en verplichte menselijke-reviewstatus.