Documentproductie · oefening 9 van 10

Conceptjaarrekening uit een vast sjabloon maken

Combineer gecontroleerde cijfers en gevalideerde AI-tekst in een vast HTML-conceptdocument.

Waarom dit nodig is

Het taalmodel hoort geen vrij document met zelfbedachte structuur en bedragen te produceren. Een vaste generator bewaakt indeling en bronwaarden.

Plaats in de eindoplossing

Wat draagt deze oefening bij?

De workflow maakt nu een document, maar de vaste generator — niet het taalmodel — bepaalt structuur, labels en bedragen. AI-tekst wordt slechts als gecontroleerde inhoud ingevoegd.

Wat gebeurt er technisch?

  • De documentgenerator ontvangt cijfers en AI-tekst als afzonderlijke velden.
  • Een template plaatst bronwaarden op vaste locaties.
  • Een hash helpt aantonen of het gegenereerde bestand later is gewijzigd.
  • approvalStatus maakt duidelijk dat generatie en goedkeuring verschillende stappen zijn.
Doen én begrijpen

Bouwstappen met uitleg

Open workflow-editor
1

Combineer statements en gevalideerde AI-content.

Waarom?
De generator moet weten welke waarden gezaghebbende broncijfers zijn en welke velden concepttekst bevatten.
Wat moet dit opleveren?
De request houdt cijfers en tekst logisch gescheiden.
2

Roep de documentgenerator aan.

Waarom?
Een vaste template geeft iedere run dezelfde indeling en voorkomt dat het model zelf hoofdstukken of tabellen verzint.
Wat moet dit opleveren?
Je ontvangt documentId, downloadUrl, hash en timestamp.
3

Vergelijk documentbedragen met brondata.

Waarom?
Ook de laatste transformatiestap kan fouten bevatten; eindcontrole voorkomt dat een correct berekende waarde verkeerd wordt weergegeven.
Wat moet dit opleveren?
Alle zichtbare bedragen sluiten exact aan.
4

Controleer conceptmarkering.

Waarom?
Een gegenereerd bestand mag niet worden aangezien voor een beoordeelde of formeel vastgestelde jaarrekening.
Wat moet dit opleveren?
Het document noemt duidelijk Concept en menselijke controle vereist.
5

Zet approvalStatus op pending.

Waarom?
Automatische generatie voltooit de voorbereiding, niet de professionele beoordeling.
Wat moet dit opleveren?
De volgende processtap is expliciet een menselijke goedkeuring.

Wat gaat er mis als je dit overslaat?

Wanneer AI zelf een vrij document schrijft, kunnen cijfers, volgorde en terminologie ongemerkt veranderen. Zonder conceptstatus kan een gebruiker een onbeoordeeld document als definitief behandelen.

POST

PowerLab-endpoint

Dit endpoint bootst het deel na dat later door Exact Online, een AI-provider of de documentservice wordt geleverd. Test het eerst los, zodat je begrijpt welke invoer en uitvoer de workflow verwerkt.

https://powerlab.rmeijer.eu/api/documents/annual-report
De sleutel wordt alleen in localStorage van deze browser gezet. In n8n gebruik je de vooraf ingestelde credential PowerLab API.

Voorbeeldbody

{
  "administration": {
    "id": "demo-bv",
    "name": "Demo Handelsbedrijf BV"
  },
  "aiContent": {
    "accountingNotes": [
      {
        "section": "Algemeen",
        "text": "Dit is synthetische oefentekst."
      }
    ],
    "managementSummary": "De onderneming sluit het boekjaar af met een positief conceptresultaat.",
    "warnings": []
  },
  "approvalStatus": "pending",
  "currency": "EUR",
  "financialYear": 2025,
  "statements": {
    "balanceSheet": {
      "assets": 75000,
      "equity": 55000,
      "liabilities": 20000
    },
    "profitAndLoss": {
      "expenses": 70000,
      "result": 25000,
      "revenue": 95000
    }
  }
}

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.

  1. Welke delen van het document mogen door AI worden geschreven en welke niet?
  2. Wat bewijst een hash wel en wat niet?
  3. Wie hoort approvalStatus uiteindelijk op approved te zetten?

Klaar wanneer

De flow levert een downloadbaar conceptdocument plus controleerbare metadata op.