Oefening 4 · Datakwaliteit

Kies en valideer een boekjaar per klant

Controleer dynamisch of financialYear bij de gekozen targetDivision bestaat en of de financiële perioden bruikbaar zijn.

Waarom dit nodig is

Niet iedere klant heeft dezelfde boekjaren. CloudWerk start bijvoorbeeld later dan andere oefenbedrijven; een generieke flow mag 2022 daar niet zomaar aannemen.

Plaats in de eindoplossing

Wat draagt deze oefening bij?

Na klantvalidatie valideer je de tweede vrije invoer: het boekjaar. Pas daarna mag je financiële brondata ophalen.

Wat gebeurt er technisch?

  • FinancialPeriods retourneert twaalf perioden met start-, einddatum en status.
  • De workflow telt open perioden en controleert of er precies twaalf perioden zijn.
  • Foutcase division 109903 bevat bewust een open periode 12.
Doen én begrijpen

Bouwstappen met uitleg

Open workflow-editor
1

Lees AvailableYears van het geselecteerde klantobject uit oefening 3.

Waarom?
Je hebt deze informatie al; gebruik hem om een onmogelijke jaar-keuze vroeg te herkennen.
Wat moet dit opleveren?
Een controle of financialYear in AvailableYears voorkomt onnodige API-calls.
2

Roep /api/v1/{targetDivision}/financial/FinancialPeriods?year={financialYear} aan.

Waarom?
Nu gebruik je bewust de doeldivision en het gekozen jaar.
Wat moet dit opleveren?
De perioden horen bij precies de gekozen klant-jaarcombinatie.
3

Controleer hoeveel perioden bestaan en welke Status = Open hebben.

Waarom?
Jaarrekeningdata moet een duidelijke periode-/afsluitstatus hebben.
Wat moet dit opleveren?
Normale historische oefenjaren hebben 12 gesloten perioden.
4

Maak beleid expliciet: gesloten jaar = automatisch door, open jaar = review of stop.

Waarom?
In werkelijkheid kan een concept soms vóór definitieve afsluiting gewenst zijn. Maak dit een bewuste keuze in plaats van een verborgen IF.
Wat moet dit opleveren?
Een veld yearStatus of reviewRequired dat de vervolgroute bepaalt.
5

Test een geldig jaar, een niet-bestaand jaar en de open-boekjaarfoutcase.

Waarom?
Zo oefen je zowel normale variatie als afwijkingen.
Wat moet dit opleveren?
Drie verschillende uitkomsten met begrijpelijke status.

Wat gaat er mis als je dit overslaat?

De AI en documentgenerator kunnen een overtuigend rapport maken op basis van een boekhouding die nog verandert.

GET

PowerLab-endpoint

Test met credential in n8n

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/v1/101001/financial/FinancialPeriods?year=2025
Authenticatie

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.

Extra endpoints en scenario’s

  • https://powerlab.rmeijer.eu/api/v1/109903/financial/FinancialPeriods?year=2025
Speel ermee

Varianten om zelf te proberen

Open vrije speeltuin

De bouwstappen hierboven zijn één mogelijke route, geen verplichte oplossing. Als jouw workflow hetzelfde resultaat veilig bereikt, is dat prima.

  • 101003/2023: geldig.
  • 101003/2022: bestaat niet.
  • 101004/2022: geldig.
  • 109903/2025: jaar bestaat maar periode 12 is open.
Vrije uitdaging

Voeg een boolean allowOpenYear toe. Als die false is blokkeer je open jaren; als die true is laat je ze alleen door met reviewRequired = true.

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. Waarom is een bestaand boekjaar nog niet automatisch geschikt voor een jaarrekening?
  2. Wanneer zou je een open jaar toch als concept toestaan?
  3. Wie moet de uitzondering goedkeuren?

Klaar wanneer

De workflow kan verschillende klanten en jaren accepteren, wijst niet-bestaande jaren af en behandelt een open jaar volgens een expliciet gekozen beleid.