Integraties · Klantportaal
Care PortalKlantportaal voor onderhoudsurenpakketten, live op care.thecreativitylab.nl
De klanten van de Studio zien hun caresaldo, dienen wijzigingsverzoeken in en kopen bij; elk uur dat erbij komt of eraf gaat landt in één grootboek waar alleen aan toegevoegd wordt en dat de database zelf bewaakt.
De openbare pakkettenpaginaGeverifieerde systeemfeiten
Geteld in de codebase, augustus 2026
De cijfers hierboven zijn tellingen in de repository. Klantnamen en saldi zijn privé en blijven dat.
Het probleem
Onderhoudsuren leefden in e-mails en een spreadsheet. Niemand kon het saldo zien zonder ernaar te vragen.
- Urenpakketten die wij met de hand bijhielden, onzichtbaar aan de kant van de klant
- Wijzigingsverzoeken die per mail binnenkwamen, zonder gedeelde status
- Bijkopen waarvoor eerst een factuur heen en weer moest voordat het werk kon beginnen
- Geen spoor waar een van beide partijen naar kon wijzen
Dit is onze eigen weergave van de situatie ervoor. Het beschrijft een handmatige workflow en is daarmee het enige op deze pagina dat de repository niet kan controleren.
Het systeem
Een grootboek dat de database beschermt, een webhook die niets vertrouwt, en een portaal voor beide kanten.
Vite en React aan de voorkant, Supabase erachter: Auth, Postgres met row-level security en edge functions. Tijd wordt in minuten opgeslagen; het urengrootboek kent alleen toevoegingen, bijschrijvingen tellen op en werk schrijft af, en saldi worden op de server berekend. Een trigger weigert een afschrijving die rood zou doen staan, tenzij een beheerder dat op die regel uitdrukkelijk overrulet, en activiteiten en het auditlog worden door databasetriggers geschreven, niet door de client. Betalingen lopen via Mollie: de webhook ontvangt alleen een betaal-id, haalt de betaling opnieuw op bij Mollie, negeert alles wat niet betaald is, en schrijft uren precies één keer bij: een atomaire, idempotente SQL-functie voor bestaande klanten, en een tegen herhaling bestendige afhandeling voor gasten die de order claimt voordat er wordt bijgeschreven. In beide gevallen wordt het gefactureerde bedrag op de server opnieuw gecontroleerd tegen de prijs die de server heeft bepaald. Uitnodigingen en meldingen gaan via Resend.
- Verzoek of bijkopenEen klant dient een wijzigingsverzoek in of koopt een urenpakket.
- BetalingAfrekenen via Mollie; de terugkeer in de browser is nooit het bewijs van betaling.
- GrootboekDe webhook haalt de betaling opnieuw op, schrijft precies één keer bij, de trigger bewaakt het saldo.
- BeheerDe Studio plant het werk in en boekt de uren; de klant ziet elke regel.Overdracht aan een mens

Het resultaat
Beide kanten zien dezelfde cijfers,
en de cijfers kunnen niet uit elkaar lopen.
- Klanten zien saldo, verzoeken en een transparant urengrootboek
- Beheerders zetten klanten op, beheren uren en verzoeken; elke wijziging in de geld- en statustabellen wordt door de database zelf in een auditlog geschreven waar alleen aan toegevoegd wordt
- Betaalde uren worden bijgeschreven achter één geverifieerde webhook, op beide paden bestand tegen herhaling
- Een lanceerchecklist in de instellingen laat zien welke integraties zijn ingesteld
Meer cases
Bekijk meer cases
Live op app.roosty.nl
RoostyPersoneelsplanning voor horeca met meerdere zaken
Een weekbord dat een met de hand bijgehouden spreadsheetrooster vervangt. Sleep een dienst naar een andere dag of zaak en uren, conflicten en bezetting worden ter plekke opnieuw berekend.
Lees de case Dashboards · Automatisering
In aanbouw, nog niet openbaar
GhostIDPersoonlijke privacy-controlelaag
Een browserextensie en accountapp die laten zien wat een site echt vraagt. De commerciële laag verkoopt toegang zonder de privégegevens ooit te zien.
Lees de case Integraties
Jouw workflow
Heb je een workflow zoals deze?
Vertel ons waar de uren heen gaan. Wij brengen de workflow in kaart, zeggen eerlijk of dit AI nodig heeft of gewone automatisering, en komen terug met een duidelijke volgende stap.
Geen gladde verkoop, geen standaarddecks. Eén gesprek met de persoon die het zou bouwen.
