Casestudy
Geautomatiseerde facturatie en conceptfacturen per periode
Van verspreide agenda- en roosterdata naar een verzendklare conceptfactuur voor iedere docent, elke betaalperiode
Overzicht
De factuurvoorbereiding kostte onze klant elke betaalperiode bijna een volledige werkdag: uren verspreid over een agenda, een roostersheet en een boekingsplatform, allemaal handmatig naast elkaar gelegd. Wij bouwden een geplande workflow die de data verzamelt, per docent de uren berekent, het juiste contracttype toepast, de onderbouwing vastlegt en voor iedereen een e-mailconcept op maat klaarzet. De maandfacturatie is nu een kwestie van controleren en versturen — zo'n zes uur administratie minder per cyclus, zonder één handmatige urenberekening.
De uitdaging
Probleem: De facturatiedata leefde op drie plekken: een agenda, een roostersheet en een boekingsplatform zonder API. Alles handmatig naast elkaar leggen was traag en foutgevoelig — en fouten betekenden te veel of te weinig uitbetalen.
Zo werkt het
Een geplande job legt drie databronnen naast elkaar — waaronder een platform zonder API, bereikt via een ingelogde headless browser — en maakt er concepten per docent van.
Technische uitwerking
Samenvoegen van meerdere databronnen
De workflow leest afspraken uit Google Calendar en referentiedata uit Google Sheets (docenten en het seizoensrooster) en voegt alles samen tot één consistent beeld van wie wanneer heeft gewerkt.
Periodelogica & categorisering
De workflow berekent de juiste periodedata en uren, en categoriseert elke boeking op contracttype — zodat verschillende tarieven en sjablonen automatisch worden toegepast.
Filteren van nul-uren
Docenten zonder uren in de periode worden eruit gefilterd voordat er iets wordt aangemaakt, zodat er nooit lege of onjuiste facturen ontstaan.
Ingelogde headless capture
Omdat het bronplatform geen API heeft, logt een Browserless headless browser in met sessiecookies om de onderbouwende cijfers vast te leggen. Die worden gebundeld in een bestand en aan elk concept toegevoegd.
Belangrijkste functies
- Draait automatisch elke betaalperiode (gepland)
- Leest alle agenda-afspraken van de periode in
- Koppelt elke afspraak aan de juiste docent
- Berekent uren en categoriseert op contracttype
- Slaat iedereen zonder uren over
- Legt onderbouwing vast vanuit een platform zonder API
- Zet per docent een verzendklaar Gmail-concept klaar
Ook zo'n systeem nodig?
Vertel ons waar het werk vastloopt — in één gesprek hoor je wat er nodig is om dat op te lossen.
Impact
Gebruikte technologie
Wat het oplevert
- Snellere, rustigere maandafsluiting
- Minder betaalfouten en discussies
- Een helder, controleerbaar spoor per periode
- Administratietijd terug voor werk dat er echt toe doet