Maker-case · tool

Uurtje-Factuurtje

Een maker-case over een kleine assistent die losse tekst omzet naar een gecontroleerde offerte- of factuurflow.

Persoonlijk project · MVP

Ik wilde een factuurflow bouwen die slim aanvoelt, maar controleerbaar blijft.

Daarom laat ik AI alleen de vrije tekst interpreteren en houd ik de kritieke logica in code. Zo ontstaat een kleine assistent die van losse input naar draft, preview en uiteindelijk een nette PDF werkt, zonder dat de kernberekeningen gaan zweven.

Bedragen en btw blijven in code
Eerst preview, dan pas PDF
0:20
CHAT DEMO0:20
CHAT DEMO

Hoofdflow: van chat tot downloadbare factuur

Start gesprek, parse, confirm, PDF downloaden.

0:20
Hoofdflow: van chat tot downloadbare factuur geselecteerd

Idee & motivatie

Waarom ik dit wilde bouwen

Ik vond het interessant om te kijken of je van rommelige, vrije tekst toch een gecontroleerde flow kunt maken voor iets dat normaal snel foutgevoelig wordt. Facturen en offertes zijn daarvoor een goed testgebied: de invoer is vaak ongestructureerd, maar de uitkomst moet wel kloppen.

De kernvraag voor mij was niet hoe slim ik AI kon maken, maar hoe ik AI kon inzetten zonder de betrouwbaarheid uit handen te geven. Daarom leest de AI alleen de tekst, terwijl totalen, btw en nummering in TypeScript blijven.

  • Kleine gerichte MVP: vrije tekst naar draft voor offerte of factuur.
  • Flow blijft bewust controleerbaar: draft, preview, akkoord, PDF.
  • Interfaces zijn klein gehouden: HTTP, CLI en een WhatsApp-flow als logische route.

Grenzen & uitgangspunten

  • Dit is geen boekhoudpakket, maar een kleine assistent rond intake, berekening en PDF-output.
  • De gebruiker blijft zelf verantwoordelijk voor juistheid, archivering en compliance.
  • Ik wilde vooral bewijzen dat AI-interpretatie en deterministische businesslogica goed samen kunnen werken.
  • Daarom heb ik betrouwbaarheid, preview en guardrails belangrijker gemaakt dan volledige automatisering.

Flow

Hoe de interactie in de praktijk werkt

Hier zit voor mij de UX-kern van het project: de flow moet niet magisch, maar begrijpelijk aanvoelen. Daarom vraagt de assistent eerst wat nog ontbreekt, laat daarna een concept zien en pas dan komt de PDF in beeld.

Jij
Offerte voor Janssen BV: schilderwerk woonkamer, 8 uur x €50 ex btw.
Draft → Preview → Confirm → PDF

Opbouw

Hoe ik de flow heb opgebouwd

Na de interactie wordt pas zichtbaar hoe simpel de kern eigenlijk is: eerst invoer normaliseren, daarna velden laten interpreteren, vervolgens de berekening in code doen en pas op het einde de branded PDF genereren.

WhatsApp/Webhook
Bericht binnenhalen en verdubbelaars filteren
Node.js / Express
API-sleutel + snelheidslimiet, voorbeeld tonen
AI concept
Zet tekst om naar velden (AI rekent niet)
Rekenlaag
Code rekent totaal/btw en nummering uit
SQLite
Factuurnummers en instellingen opslaan
PDF output
Logo/kleuren erin, download na akkoord

Technische keuzes

Keuzes die dit project betrouwbaar houden

Dit gaat minder over losse tools en meer over waarom ik bepaalde onderdelen nodig vond om de flow stabiel en geloofwaardig te houden.

TypeScript + checks

Velden controleren en bedragen/btw in code uitrekenen.

AI alleen voor tekst

Zet je bericht om naar velden; rekent niet zelf.

Express / API

API-sleutel, limiet op verzoeken en altijd eerst een voorbeeld tonen.

SQLite store

Instellingen, factuurnummers en PDF-verwijzingen bewaren.

PDFMake

Logo, kleuren en nette opmaak zonder design-handoff.

Belangrijke keuzes

Wat ik in deze flow belangrijk vond

Dit zijn de principes waar ik tijdens het bouwen steeds op terugkwam: niet meer features, maar keuzes die de flow logisch en betrouwbaar houden.

Bedragen kloppen altijd

Btw, nummering en afronding gebeuren in de code. AI leest alleen de tekst uit je bericht.

Slim lezen, niet raden

AI zet je bericht om naar velden; ontbrekende info wordt gevraagd in plaats van gegokt.

Meteen in je eigen stijl

PDF krijgt je logo en kleuren; je ziet een voorbeeld voor je ‘download’ zegt.

Geen dubbele facturen

Berichten worden herkend, zodat er geen dubbel werk of dubbele PDF ontstaat.

Snel en onderhoudbaar

Kleine modules, snelle responstijd en tests om regressies te voorkomen.

Resultaat & mijn rol

Wat er nu staat

Ik heb dit project van idee tot werkende flow uitgewerkt: van de interactie en promptlogica tot de rekenlaag, PDF-branding en technische checks die de output betrouwbaar houden.

  • Flow staat end-to-end: appje → voorbeeld → akkoord → PDF (download/link).
  • Bedragen, btw en nummering zijn in code getest; AI rekent niet.
  • Branding (logo/kleuren) en voorbeeld-scherm zitten erin.
  • Snelheidslimiet, dubbele-verzoek filters en logging maken de flow rustiger en beter te debuggen.

Wat ik hiervan leer

Wat ik hiervan meeneem

  • Laat AI lezen, laat code rekenen. Dat voorkomt rare bedragen.
  • Altijd eerst een voorbeeld tonen voordat je iets definitief maakt.
  • Dubbele verzoeken wegvangen scheelt ruis en dubbele PDFs.
  • Branding en lettertypen vroeg regelen voorkomt vertraging later.

Verder in het portfolio

Lees nog een case

Deze pagina moet onderdeel voelen van een geheel. Daarom kun je vanaf hier direct door naar de volgende maker-case of terug naar het volledige overzicht.

Alle projecten