Een eenvoudige tracker voor aanbetalingen en gesplitste betalingen bij boekingen
Stel een tracker in voor aanbetalingen en gesplitste betalingen bij boekingen om aanbetalingen te innen, saldi bij te houden en herinneringen te versturen vóór afspraken.

Waarom boekingsbetalingen snel rommelig worden
Aanbetalingen maken boekingen veiliger. Klanten zijn minder geneigd om niet te verschijnen, en mensen die niet serieus zijn vallen vroeg af.
De problemen beginnen meestal direct nadat je die eerste betaling hebt ontvangen. Als je geen enkele betrouwbare plek hebt om het resterende saldo bij te houden, wordt elke boeking een klein detectieverhaal.
Als saldi in notities, DM's of een spreadsheet leven, breken drie dingen snel: cijfers lopen uit elkaar, berichten worden gemist en verschillende medewerkers werken met verschillende versies van de waarheid. De ene persoon werkt het sheet bij, een ander neemt contant geld aan bij aankomst, en niemand weet zeker wat er nog openstaat.
De praktijk voegt nog meer wrijving toe. Een klant verzet de afspraak, voegt een extra dienst toe, betaalt de rest in twee delen of vraagt om een bon. Plotseling jongleer je met deelbetalingen, terugbetalingen en nieuwe totalen, terwijl de boekingskalender er niets van aangeeft.
De pijnpunten zijn meestal hetzelfde:
- De aanbetaling is vastgelegd, maar het resterende bedrag is niet aan de afspraak gekoppeld.
- De totaalprijs verandert, maar het openstaande saldo wordt niet opnieuw berekend.
- Herinneringen worden handmatig gestuurd, dus ze zijn laat (of worden vergeten).
- Personeel kan niet zonder zoeken antwoord geven op “Hoeveel is er nog verschuldigd en wanneer?”.
Wat de meeste teams willen is eenvoudig: aanbetalingen vragen voor afspraken, één nauwkeurig saldonummer per boeking bijhouden en betaalherinneringen automatisch op het juiste moment (bijv. 48 uur van tevoren) versturen. Als iemand ter plaatse betaalt, moet het systeem dat nog steeds registreren en herinneringen stoppen.
Bepaal eerst je aanbetalings- en saldoregels
Dit voelt alleen simpel als je regels simpel zijn. Schrijf voordat je iets bouwt de beslissingen op die je wilt dat het systeem voor je neemt, zodat je niet over elke boeking hoeft te onderhandelen.
Begin met de aanbetaling. Wordt het een vast bedrag (bijv. $30) of een percentage (bijv. 20%)? Vast is makkelijker uit te leggen. Percentage voelt eerlijker wanneer prijzen variëren. Beslis dan wanneer je het afschrijft: bij het boeken, na bevestiging of na een offerte. Het meteen innen vermindert no-shows, maar het betekent ook dat je heldere terugbetalingsregels nodig hebt.
Stel daarna één standaard wanneer het resterende saldo verschuldigd is. “Bij aankomst” is het makkelijkst. “48 uur van tevoren” vermindert last-minute annuleringen. Sommige bedrijven staan “na de dienst” toe voor vertrouwde klanten, maar dat moet de uitzondering zijn, niet de regel.
Terugbetalingen en verplaatsingen moeten in één of twee zinnen uitlegbaar zijn. Bijvoorbeeld: “Aanbetalingen worden terugbetaald tot 24 uur voor de afspraak. Daarna wordt de aanbetaling behouden, maar je kunt één keer binnen 7 dagen verplaatsen.” Simpele regels voorkomen ruzies.
Bepaal ook wat “betaald” betekent in jouw bedrijf. Als je kaart, contant en bankoverschrijving accepteert, moet je elke methode duidelijk bijhouden. Bonnen zijn belangrijk voor klanten en voor je eigen administratie, dus laat dit niet vaag.
Zet dit vast voordat je bouwt:
- Type aanbetaling (vast vs percentage) en eventuele minimums
- Wanneer de aanbetaling wordt afgeschreven (boeken, bevestiging of na offerte)
- Wanneer het resterende saldo verschuldigd is (bij aankomst, X dagen van tevoren of na de dienst)
- Verplaats- en restitutiebeleid in gewone taal
- Geaccepteerde betaalmethoden en welke bon je uitreikt
Als je regels op papier staan, is bouwen grotendeels configuratie.
De eenvoudige gegevens die je moet bijhouden
Het doel is niet om alles op te slaan. Het doel is enkele feiten te bewaren die je vertrouwt als iemand vraagt: “Wat is verschuldigd, wanneer en hebben we eraan herinnerd?”
Begin bij de boeking. Elke boeking zou moeten hebben:
- Servicenaam (of type)
- Afspraakdatum en -tijd
- Klantgegevens (naam, e-mail, telefoon)
- Boekingsstatus (aangevraagd, bevestigd, voltooid, geannuleerd)
Vervolgens het betalingsschema. Als je model aanbetaling + restant is, houd het dan als twee regels. Elke regel heeft een bedrag en een vervaldatum. Houd het saai.
Registreer betalingen als aparte transacties, niet als één doorlopend totaal. Voor elke betaling sla je bedrag, tijd, methode (kaart, contant, overboeking) en de provider-ID op (bijv. een Stripe payment intent of charge ID). Als je terugbetalingen verwerkt, registreer de terugbetaalde bedragen, tijd en provider refund ID.
Herinneringen moet je bijhouden als berichten met uitkomsten: welke template is gebruikt, geplande verzendtijd, werkelijke verzendtijd en afleverstatus (verzonden, mislukt, gebounced). Dan kun je makkelijk beantwoorden “Hebben we ze op de hoogte gebracht?” zonder te gokken.
Houd tenslotte een audit trail bij: wie de boeking, planning of status heeft aangepast en wanneer. Dat redt je als een klant discussieert over wat er is afgesproken.
Als je in AppMaster (appmaster.io) bouwt, passen dit netjes in een paar tabellen in de Data Designer, met logica in de Business Process Editor zodat saldi en herinneringen elke keer volgens dezelfde regels werken.
Stel duidelijke boekings- en betalingsstatussen in
Betalingen blijven beheersbaar als iedereen snel één vraag kan beantwoorden: wat gebeurt er nu?
Gebruik twee afzonderlijke concepten:
- Boekingsstatus (de levenscyclus van de afspraak)
- Betalingsstatus (de levenscyclus van het geld)
Dat voorkomt verwarrende combinaties zoals “Voltooid” gemixt met “Betaald”.
Een praktisch setje betalingsstatussen ziet er zo uit:
- Unpaid: nog geen geld ontvangen.
- Deposit paid: aanbetaling ontvangen, restant nog open.
- Part-paid: meer dan de aanbetaling is betaald, maar nog niet volledig.
- Paid: het verschuldigde totaal is volledig betaald.
- Refunded / Part-refunded: geld is teruggegeven (als je terugbetalingen ondersteunt).
Houd Completed en Canceled als boekingsuitkomsten, niet als betalingsuitkomsten. Een boeking kan Completed + Paid zijn, of Canceled + Refunded, afhankelijk van je regels.
Definieer triggers die de status verplaatsen zodat personeel niet hoeft te onthouden wat ze moeten klikken. Bijvoorbeeld: een succesvolle betaling werkt de betalingsstatus automatisch bij; verplaatsen herberekent vervaldata en herinneringen.
Als je meer dan twee betalingen toestaat, maak dan geen “Tweede betaling”, “Derde betaling”, enzovoort. Sla elke betaling als eigen record op en bereken het resterende saldo uit de som. De status wordt dan een samenvatting.
Op schermen en in berichten, koppel de status aan één duidelijk getal: “$120 betaald, $80 te betalen vóór 12 mei.” Dat voorkomt heen en weer geschrijf.
Stap-voor-stap: bouw de aanbetaling- en deelbetalingsflow
De beste workflow voor boekingsbetalingen voelt saai. Dat is de bedoeling. Duidelijke cijfers, duidelijke status en een paar getimede berichten die het werk doen.
Behandel elke boeking als een eenvoudige tijdlijn: aangemaakt, aanbetaling verschuldigd/betaald, restant verschuldigd/betaald, voltooid (of geannuleerd). Elke stap heeft een tijdstempel en hoe het gebeurde (online, contant, kaart, overboeking).
Een eenvoudige flow:
- Maak de boeking aan en bereken direct de aanbetaling en het resterende saldo. Sla op welke aanbetalingsregel je hebt toegepast (vast of percentage).
- Neem de aanbetaling, sla de transactie op en bevestig de boeking. Als de aanbetaling faalt, houd de boeking onbevestigd zodat je je agenda niet blokkeert.
- Stel de vervaldatum van het saldo in op basis van de afspraakdatum en plan herinneringen relatief aan die datum (bijv. 7 dagen ervoor en 24 uur ervoor).
- Wanneer de klant de rest betaalt, registreer de betaling, zet het saldo op nul en markeer de boeking als betaald (en na de afspraak voltooid).
- Als de boeking verhuist of geannuleerd wordt, werk eerst de afspraaktijd bij en verschuif dan vervaldata en herinneringen automatisch. Verwerk terugbetalingen volgens je geschreven beleid.
Voorbeeld: een klant boekt voor 20 maart. Aanbetaling $20, restant $40. Zodra de $20 binnen is, is de boeking bevestigd. Het systeem plant een herinnering op 13 maart en 19 maart. Wanneer de $40 binnenkomt, wordt de boeking als betaald gemarkeerd en stoppen de herinneringen.
Als je AppMaster gebruikt, kan de Data Designer boekingen, betalingsschema's en transacties bevatten, terwijl de Business Process Editor berekeningen, statuswijzigingen en geplande herinneringstaken afhandelt zonder code te schrijven.
Automatiseer herinneringen zonder mensen te irriteren
Geautomatiseerde betalingsmeldingen hoeven niet meer berichten te betekenen. Het moet het juiste bericht op het juiste moment zijn, en het moet stoppen zodra de klant betaalt.
Timing die doorgaans werkt:
- 7 dagen van tevoren: vriendelijke waarschuwing (handig bij boekingen ver vooruit)
- 48 uur van tevoren: praktische herinnering (werkt voor de meeste afspraken)
- Ochtend van de afspraak: alleen als no-shows vaak voorkomen of details vaak worden gemist
Houd herinneringen beknopt, maar vermeld altijd:
- Bedrag dat verschuldigd is en waar het voor is (het resterende saldo, niet de aanbetaling)
- Vervaldatum/tijd en wat er gebeurt als het gemist wordt
- Boekingsgegevens (datum, tijd, locatie of online info)
- Eén duidelijke betaalmethode
De snelste manier om klanten te frustreren is herinneringen sturen nadat ze al hebben betaald of geannuleerd. Maak dit niet onderhandelbaar: herinneringen worden alleen gestuurd wanneer de boeking actief is en het resterende saldo groter is dan 0. Zodra een betaling is vastgelegd, moeten toekomstige herinneringen worden geannuleerd.
Als je escalatie nodig hebt, houd het menselijk. Het eerste bericht gaat ervan uit dat ze het gemist hebben. Het laatste bericht is streng, specifiek en tijdgebonden.
Veelgemaakte fouten en hoe je ze voorkomt
De meeste problemen worden niet door betalingen zelf veroorzaakt. Ze komen door onduidelijke regels, rommelige statusupdates en herinneringen die niet overeenkomen met de realiteit.
De meest voorkomende valkuilen
- Dubbel afrekenen of dubbele betalingen: Mensen tikken twee keer, betalen per overboeking nadat ze met kaart betaalden, of een partner betaalt ook. Sla elke betaling als eigen record op en bereken het saldo uit bevestigde betalingen. Als je provider het ondersteunt, gebruik idempotency keys.
- Vage aanbetalingsvoorwaarden: “Niet-restitueerbaar” leidt vaak tot ruzie. Schrijf de exacte regel in eenvoudige woorden en toon die in bevestigingen en bonnetjes.
- Handmatige status als enige bron van waarheid: Als personeel telkens moet onthouden om statussen om te zetten na elke betaling, loopt het mis. Leid “Deposit paid” en “Balance due” af uit betalingsrecords en vervaldata.
- Tijdzone- en zomer-/wintertijdfouten: “24 uur van tevoren” kan op het verkeerde moment afgaan als je alleen lokale datum/tijd opslaat. Sla de afspraktijd met een duidelijke tijdzone op (of sla UTC plus de tijdzone van de klant op) en bereken herinneringstijden daarvan.
- Chaos bij verplaatsingen: Als een afspraak verschuift, moeten oude herinneringen worden geannuleerd of genegeerd. Koppel herinneringen aan de huidige afspraktijd zodat alleen de laatst ingestelde tijd notificaties kan triggeren.
Realiteitscheck: als iemand verplaatst van 10:00 naar 15:00, wil je één herinnering 24 uur vóór 15:00, niet twee herinneringen en een verwarde klant.
Snel checklist voordat je live gaat
Voordat echte klanten je systeem gebruiken, voer een “boek, betaal, herinner” test uit met 3–5 nepboekingen. Gebruik verschillende data (morgen, volgende week, volgende maand) zodat timingbugs naar voren komen.
Elke boeking moet duidelijk de aanbetaling, de vervaldatum van de aanbetaling (als je die gebruikt) en de vervaldatum van het restant tonen. Als dat onduidelijk is, gaat personeel gokken en krijgen klanten tegenstrijdige berichten.
Pre-launch controles die de meeste problemen vangen:
- Aanbetalingsstatus komt overeen met echte betalingen (en draait terug als er wordt terugbetaald)
- Openstaand saldo is correct (totaal minus alle ontvangen betalingen)
- Herinneringsschema is gebaseerd op de afspraktijd, niet op het moment van boeken
- Annuleringen stoppen alles (geen herinneringen, geen “onbetaald” queues)
- Randgevallen werken (boekingen dezelfde dag, verplaatsingen en “nu volledig betalen”)
Een scenario om te valideren: maak een $200 boeking met $50 aanbetaling vandaag en $150 twee dagen voor de afspraak. Markeer de aanbetaling als betaald en voeg dan $30 extra betaling toe. Het openstaande saldo moet $120 tonen en de volgende herinnering moet nog steeds op de afspraktijd gericht zijn.
Voorbeeldscenario: één boeking van aanbetaling tot eindbetaling
Een salon biedt een kleurtje van 90 minuten aan voor $200. De regel is simpel: 30% aanbetaling bij boeken ($60) en het resterende saldo is 48 uur vóór de afspraak verschuldigd.
Wanneer de klant boekt voor vrijdag om 15:00, maakt het systeem een boeking en een betalingsplan met twee onderdelen: Aanbetaling (nu verschuldigd) en Restant (verschuldigd woensdag om 15:00). De aanbetaling wordt direct betaald, dus de boeking is bevestigd. Het restant is nog open.
Op dinsdagochtend verplaatst de klant naar zaterdag om 13:00. De aanbetaling blijft betaald, maar de vervaldatum van het restant verschuift naar donderdag om 13:00 (48 uur vóór de nieuwe tijd). Personeel hoeft niets te herberekenen.
Herinneringen passen zich na de verplaatsing automatisch aan. In plaats van een “restant morgen verschuldigd” bericht op basis van de oude vrijdagtijd, wordt het schema opnieuw opgebouwd rond de nieuwe afspraktijd. Op zaterdagochtend ziet personeel de actuele waarheid, niet een verwarrende geschiedenis.
Maak het makkelijk om dagelijk mee te werken
Dit werkt alleen als personeel het binnen enkele seconden kan controleren. Het dagelijkse doel: weten wat er vandaag gebeurt, wat betaald is en wie een duwtje nodig heeft.
Begin met één helder admin-overzicht gericht op aankomend werk. Het moet aankomende boekingen tonen (vandaag en de komende 7–14 dagen), klant en dienst, afspraktijd, betalingsstatus en het openstaande saldo met vervaldatum.
Maak updates snel. Personeel moet een betaling kunnen registreren, een notitie toevoegen en een bon kunnen uitgeven zonder door menu's te hoeven zoeken.
Klanten hebben ook duidelijkheid nodig. Toon na een aanbetaling een eenvoudige samenvatting: wat is betaald, wat staat nog open en wat is de deadline. Als gesplitste betalingen zijn toegestaan, toon elke betaling als zijn eigen regel om “ik heb al betaald”-discussies te vermijden.
Basisrapportage zou twee vragen moeten beantwoorden: “Hoeveel hebben we aan aanbetalingen geïnd?” en “Hoeveel staat nog uit?” Houd het licht en filterbaar op datumbereik, medewerker en diensttype.
Rollen moeten eenvoudig zijn:
- Personeel kan boekingen bekijken, betalingen registreren en bonnetjes uitgeven
- Managers kunnen terugbetalen, aanbetalingsregels aanpassen, vervaldatums overschrijven en fouten herstellen
Volgende stappen: zet de workflow om in een echte app
Als je aanbetalingsregels en herinneringen op papier werken, is het omzetten naar een kleine app hoe je ze consistent houdt als je groeit.
Begin met de kleinst mogelijke versie die nog steeds echt aanvoelt. Kies één dienst, één aanbetalingsregel en één herinneringsschema. Focus op het goed krijgen van de flow voordat je elk randgeval dekt.
Een solide eerste versie bevat meestal een boekingenlijst, een betalingsoverzicht dat aanbetaling en restant toont, één actie om de aanbetaling te registreren, één actie om de eindbetaling te registreren en één herinnertemplate die je hergebruikt.
Schrijf voordat klanten het zien je beleidsregels in gewone taal en test ze met een paar echte mensen. Vraag hen om terug te leggen wat er gebeurt als ze annuleren en wanneer het restant verschuldigd is. Als ze aarzelen, herschrijf het.
Als je het volledige systeem zonder code wilt bouwen, is AppMaster (appmaster.io) een praktische optie om deze workflow om te zetten in een productieklare backend, webapp en mobiele app, waarbij het databasemodel en de herinneringslogica op één plek blijven.
Als de basis stabiel is, voeg dan één voor één verbeteringen toe: verschillende aanbetalingen per dienst, een wachtlijst, betaallinks voor het restant of een extra herinnering alleen voor achterstallige saldi.
FAQ
Begin met een eenvoudige standaard: een vast bedrag voor goedkope diensten, of een percentage voor diensten met veel variatie. Vaste aanbetalingen zijn makkelijker uit te leggen en verminderen verwarring bij de checkout, terwijl percentages eerlijker aanvoelen wanneer prijzen sterk variëren. Kies één regel en pas die automatisch toe op elke boeking.
Aanbetaling bij het boeken vermindert meestal no-shows het meest omdat het directe betrokkenheid creëert. Als je dienst vaak een handmatige offerte of bevestiging nodig heeft, vraag de aanbetaling pas na bevestiging zodat klanten zich niet verrast voelen. Belangrijk is dat de timing consequent is, zodat personeel niet per geval hoeft te beslissen.
Een betrouwbare keuze is “saldo 48 uur voor de afspraak” omdat dat last-minute annuleringen vermindert en je tijd geeft om contact op te nemen. Als je de meest eenvoudige ervaring wilt, werkt “bij aankomst”, maar dan heb je vaker te maken met onbetaalde rekeningen vlak voor de dienst. Kies één standaard en wijzig die alleen voor vertrouwde klanten.
Koppel elke betalingstransactie aan een specifieke boeking en bereken het resterende saldo altijd als het totaal minus alle bevestigde betalingen. Zo voorkomt je dat personeel gokt op basis van notities of berichten en blijven de cijfers consistent, zelfs als iemand in meerdere delen betaalt. Vermijd handmatig het aanpassen van één veld zoals “betaald bedrag”.
Registreer elke betaling als een aparte transactie met bedrag, tijd, betaalmethode en eventuele provider-referentie (zoals een Stripe ID). Daarna wordt de betalingsstatus een samenvatting van wat al is vastgelegd, in plaats van iets dat personeel steeds moet bijwerken. Dit maakt ook duplicaten en terugbetalingen makkelijker af te handelen.
Maak aparte begrippen voor booking status en payment status zodat ze elkaar niet doorbreken. Bijvoorbeeld: een boeking kan bevestigd of voltooid zijn, terwijl de betaling ‘deposit paid’, ‘part-paid’ of ‘paid’ is. Dit houdt ‘wat gebeurt hierna’ duidelijk voor personeel en voorkomt verwarrende situaties zoals “voltooid maar onbetaald”.
Stuur alleen herinneringen als de boeking actief is en het resterende saldo groter is dan nul, en stop toekomstige herinneringen onmiddellijk zodra een betaling is vastgelegd. De meeste teams doen het goed met één herinnering een week van tevoren en één praktische herinnering 48 uur van tevoren, afgestemd op de afspraktijd. De snelste manier om klanten te irriteren is ze herhalen sturen nadat ze al hebben betaald of geannuleerd.
Werk eerst de nieuwe afspraakdatum bij, herbereken vervolgens de vervaldatum van het saldo en bouw de herinneringsplanning opnieuw op vanaf de nieuwe tijdstempel. Oude herinneringen moeten worden geannuleerd of genegeerd zodat de klant alleen berichten ontvangt die bij de meest recente afspraak passen. Een audit trail is hier nuttig: zo zie je wie wat en wanneer heeft aangepast.
Schrijf een korte regel die klanten kunnen begrijpen en pas die consequent toe; toon de regel in bevestigingen en bonnetjes. Een praktische standaard is: restitueerbaar tot een duidelijke deadline zoals 24 uur ervoor, daarna wordt de aanbetaling behouden, met één toegestane verplaatsing binnen een vastgesteld venster. Als de regel een alinea nodig heeft om uit te leggen, levert dat later discussie op.
Test een paar realistische scenario’s end-to-end met nepboekingen, inclusief een boeking dezelfde dag, een verplaatsing, een extra dienst en een betaling ter plaatse. Controleer dat het saldo correct bijwerkt, herinneringen getriggerd worden op basis van de afspraktijd en dat herinneringen meteen stoppen zodra er betaald is. Als je in AppMaster bouwt, kun je de tabellen in de Data Designer modelleren en de herberekening en herinneringslogica in de Business Process Editor afdwingen zodat het overal hetzelfde werkt.


