Bouw een app voor het splitsen van de fooienpot die dagelijkse fooien verdeelt op basis van gewerkte uren, met heldere regels, afronding en een audittrail waar je team op kan vertrouwen.
Het verdelen van fooien klinkt simpel totdat je het dagelijks doet met echte mensen, echt contant geld en een klok die nooit helemaal precies is. Tegen het einde van een dienst is iedereen moe, de eetzaal sluit en niemand zit te wachten op een discussie over wie "het meest verdient".
De meeste ruzies beginnen omdat de invoer vaag is. Iemand herinnert zich 6 uur gewerkt te hebben, iemand anders zegt 7. Een ander zag een pauze overgenomen worden, werd naar de voorbereidingen gehaald of kwam laat maar draaide de drukste piek. Als de feiten niet duidelijk zijn, voelt de verdeling al snel persoonlijk.
Kleine teams vallen meestal terug op een paar handmatige methodes: contant geld eerlijk verdelen, snel rekenen in een spreadsheet of vertrouwen op geheugen en vertrouwen. Elk van die methodes bezwijkt onder druk. Contant geld negeert uren. Spreadsheets worden chaotisch als mensen halverwege de dienst aansluiten of rollen ruilen. Geheugen faalt als de avond hectisch was, en "we lossen het morgen op" gebeurt zelden.
Wat oneerlijk voelt is behoorlijk voorspelbaar. Laatkomers kunnen gestraft voelen omdat ze langzaamere uren missen, zelfs als zij de piek hadden. Openers kunnen zich genegeerd voelen omdat voorbereidend werk niet zichtbaar is bij het tellen van fooien. Rollen voegen ook wrijving toe: servers kunnen vinden dat zij de fooien hebben verdiend, terwijl barista's, runners of gastheren vinden dat het soepel draaide dankzij hen.
Een fooienpot-splitter-app wint vertrouwen als het vier dingen goed doet: vastleggen wie werkte, vastleggen hoe lang ze werkten, de teamregels consequent toepassen en de resultaten duidelijk tonen zodat niemand "op het woord van de rekensom" hoeft te vertrouwen. Als het proces snel, zichtbaar en herhaalbaar is, stopt fooien verdelen met een dagelijkse onderhandeling te zijn.
"Eerlijk" is niet één universele regel. Het betekent dat iedereen het eens is dat de regel redelijk is en dat je het in één zin uit kunt leggen. Als die zin vaag is, voel je dat bij de uitbetaling.
De meeste kleine teams kiezen één regel en houden zich eraan:
Zodra je een regel kiest, definieer wat "gewerkte uren" in jouw zaak betekenen. Tellen betaalde pauzes mee? Wat doe je met training voor opening, of sluitwerk nadat de deuren dicht zijn? Veel teams houden het simpel: als je gepland bent en verwacht wordt te zijn, telt het.
Gedeeltelijke diensten en afronding veroorzaken de meeste ruzies. Beslis van tevoren of je tot op de minuut bijhoudt of afrondt op 5, 10 of 15 minuten. Bepaal daarna hoe afronden werkt (afruilen naar het dichtstbijzijnde, altijd naar beneden, of een consistente drempel). Consistentie is belangrijker dan perfectie.
Stem ook af wanneer fooien worden geteld. "Einde van de dag" werkt voor nachtelijke cash-outs. "Einde van de week" kan beter werken als je afhankelijk bent van kaartfooien die later worden bijgeschreven.
Voorbeeld: Een café telt fooien bij sluiting elke dag, neemt openings- en sluitingstijd mee, sluit onbetaalde maaltijdpauzes uit en rondt af op 5 minuten. Iedereen begrijpt de regel en onenigheid neemt snel af.
De meeste fooienruzies gaan niet over de wiskunde. Ze gebeuren omdat mensen verschillende regels aannamen en de cijfers die onenigheid persoonlijk maken. Schrijf de regels eerst op, ook als je eerste versie op één telefoon leeft.
Begin met definiëren wat in de pot gaat. Sommige teams doen alles in een pool (contant plus kaart). Anderen doen alleen de fysieke pot terwijl servers directe fooien houden. Kies één aanpak en hanteer die een volledige week voordat je iets verandert.
Bepaal vervolgens hoe je omgaat met contant en kaart. Als je ze combineert tot één totaal, is de verdeling makkelijk, maar iemand moet nog steeds contant afhandelen. Houd je aparte pools, dan verminder je contantbeheerproblemen maar voeg je stappen toe bij het sluiten.
Als je zaak een huispercentage, tip-outs of vergoedingen hanteert, wees duidelijk over de volgorde. Bijvoorbeeld: "2% kaartverwerking wordt van kaartfooien afgetrokken voordat er wordt verdeeld" of "$10 gaat eerst naar de afwasser als tip-out". Wat je ook kiest, de volgorde verandert het resultaat.
Stel ten slotte permissies in. Bepaal wie uren kan bewerken, wie totalen kan invoeren en wie de uiteindelijke verdeling kan bevestigen.
Een helder startregels-zetje:
Als je een tool wilt die precies bij je regels past (in plaats van je team in een generieke calculator te dwingen), kan een build-as-you-chat platform zoals Koder.ai nuttig zijn om snel de schermen en logica te vormen rond hoe jouw zaak al werkt.
Een fooienpot-splitter-app voelt alleen eerlijk als iedereen de invoer vertrouwt. Het doel is de minimale data vastleggen die uitbetalingen beïnvloedt, zonder van het afsluiten papierwerk te maken.
Begin met de mensen die die dag werken. Een opgeslagen teamlijst voorkomt het opnieuw intypen van namen. Rollen zijn optioneel, maar handig als je managers van pools uitsluit of later splits wilt vergelijken op functie.
De meeste teams kunnen nauwkeurig afsluiten met een korte set velden: wie werkte, ieders uren (of start/eindtijden), totaal verzamelde fooien (contant en kaart als je de kas wilt sluiten) en een klein notitieveld voor uitzonderingen.
Uren zijn de grootste factor bij een uurgebaseerde verdeling, dus maak ze makkelijk in te voeren. Start- en eindtijden verminderen hoofdrekenen, maar alleen als je een duidelijke regel voor onbetaalde pauzes hebt.
Voor verzamelde fooien, zorg dat iedereen het eens is over wat "mee telt" voordat iemand een getal intypt. Als je fooien via meerdere kanalen accepteert (contant, kaart, QR), houd ze dan bij invoer gescheiden, zelfs als je ze samenvoegt voor uitbetaling.
Een kort notitieveld voorkomt discussies later. Voorbeeld: "Maya vertrok 1 uur eerder vanwege familie-noodgeval" of "Alex dekte terras 18:00-19:00."
Het helpt ook om vast te leggen wie het afsluiten bevestigde. Zelfs een eenvoudige "Goedgekeurd door: shiftlead" bouwt vertrouwen als invoer snel plaatsvindt.
Een uurgebaseerde verdeling is rechttoe-rechtaan: fooien volgen de tijd. Een goede fooienpot-splitter-app toont de berekening transparant, zodat niemand het gevoel heeft met een black box te maken te hebben.
De stappen zijn simpel:
Voorbeeld: je kreeg $240 aan fooien. Drie mensen werkten 5, 6 en 9 uur (totaal 20). Fooi-tarief is $240 / 20 = $12 per uur. Uitbetalingen zijn $60, $72 en $108.
In het echte leven bestaan er centen, en afronden kan een klein restbedrag opleveren. Kies één regel en houd je er elke dag aan.
Een veelgebruikte aanpak is exacte uitbetalingen berekenen, iedereen afronden op $0.01 en dan eventuele overgebleven centen op een voorspelbare manier toewijzen (bijvoorbeeld extra pennies geven aan diegenen met de grootste fractionele restwaarden). Het belangrijkste is dat het totaal uitbetaalde altijd gelijk is aan het verzamelde totaal.
Toon de berekening vóór "Bevestigen": totale fooien, totale uren, tarief per uur en ieders uren en uitbetaling. Transparantie voorkomt discussies.
Begin klein. Je eerste versie hoeft maar één vraag snel te beantwoorden: wie krijgt er vandaag wat betaald?
Houd de flow dicht bij hoe de dienst eindigt:
Als je een fooienpot-splitter-app bouwt met Koder.ai, beschrijf die schermen in gewone taal en vraag eerst om een minimaal ontwerp. Je kunt de UI verfijnen zodra de flow goed voelt.
Je hebt geen payroll-grade complexiteit nodig om te starten. Een simpele structuur is genoeg: People (naam), Shifts (persoon, datum, uren), DayTotals (datum, fooitotaal) en Payouts (persoon, datum, bedrag).
Voeg enkele vangrails toe zodat slechte data niet binnensluipt tijdens de drukte: blokkeer negatieve uren, vereis een fooi-totaal voordat resultaten worden getoond, voorkom dubbele personen op dezelfde dag, waarschuw als totale uren 0 zijn en vergrendel de dag na bevestiging (met een manager-only unlock als je dat wilt).
Test met een paar voorbeelddagen en één randgeval (zoals 0 uren of ontbrekend fooi-totaal) om zeker te zijn dat de flow voorspelbaar blijft voordat je de UI verfijnt.
Een fooienpot-splitter-app werkt alleen als mensen hem in realtime kunnen gebruiken: natte handen, luide muziek en een rij bij de balie. Streef naar minder tikken, minder keuzes en minder kans om het verkeerde in te typen.
Een sterk uitgangspunt is één enkel "Vandaag"-scherm met twee hoofdvelden: totaal fooien en ieders uren.
Voor fooien: gebruik een groot toetsenblok en toon het valutateken in het veld. Voor uren: bied enkele presets (4, 6, 8) plus een eenvoudige +/- stapper.
Label uren duidelijk en toon een klein voorbeeld zoals "6.5 = 6 uur 30 minuten." Als je minuten ondersteunt, maak het een zichtbare schakelaar ("In uren invoeren" vs "In minuten invoeren"), niet een verborgen regel.
Goede standaardwaarden besparen tijd. Vul je gebruikelijke teamlijst en typische uren vooraf in en laat mensen aanpassen.
Het resultaten-scherm moet in één oogopslag drie vragen beantwoorden: wie krijgt er betaald, hoeveel en waarom. Toon ieders uren, uitbetaling en het dagtarief per uur.
Als je geschiedenis toevoegt, houd het simpel: een datumlijst die hetzelfde overzicht opent. Als iemand een afgesloten dag moet wijzigen, vereis een korte reden zodat het record geloofwaardig blijft.
De meeste fooienverdelingen gaan mis als mensen het vertrouwen in de cijfers verliezen. Behandel elk afsluit als een bon: duidelijk, uitlegbaar en moeilijk om later stilletjes te wijzigen.
Ontbrekende uitkloktijden zijn het klassieke probleem. In plaats van iemands starttijd te herschrijven na uitbetaling, maak een zichtbare correctie mogelijk: markeer de dienst als geschat, vereis een notitie ("vergeten uit te klokken, bevestigd met shiftlead") en vergrendel het nadat het is bevestigd.
Afronding is de volgende bron van spanning. Houd berekeningen in centen, rond consequent af en behandel restpennies met een voorspelbare regel zodat totalen altijd kloppen.
Bewerk oude dagen na uitbetaling bij voorkeur niet. Als iemand aangeeft dat die $2 tekort kwam, voeg dan een correctiepost toe aan vandaag (of de volgende uitbetaling) met een reden. Dat creëert een audittrail en houdt oude rapporten stabiel.
Als je meerdere pools ondersteunt (bar-fooien vs vloer-fooien, contant vs kaart, privé-evenementpotten), maak de poolselectie expliciet zodat fooien niet per ongeluk samengevoegd worden.
Als je de app iteratief ontwikkelt terwijl je leert, kunnen Koder.ai-functies zoals snapshots en rollback je helpen je regelwijzigingen veilig te testen voordat je team erop vertrouwt.
De meeste problemen komen niet van de wiskunde, maar van kleine invoerfouten die ontstaan als iedereen moe is en snel sluit. Een check van 20 seconden voorkomt ongemakkelijke gesprekken later.
Voordat je bevestigt, scan op het volgende: iedereen die werkte staat erin (en niemand dubbel), uren zien er plausibel uit (pas op typfouten zoals 0.1 of 40), het fooi-totaal klopt met wat je telt of wat je POS aangeeft, en uitbetalingen tellen exact op tot het verzamelde totaal na afronding.
Een eenvoudige realiteitscheck helpt ook: vergelijk de hoogste en laagste uitbetaling. Als de hoogste bijna gelijk is aan iemand die half zoveel werkte, klopt er iets niet. Als iemand $0.03 krijgt, is er waarschijnlijk 0.1 uur ingevoerd.
Zodra goedgekeurd, vergrendel het record. Behandel "Bevestig" als het moment waarop je een definitieve dagelijkse samenvatting schrijft (fooien, uren, uitbetalingen, afrondingsaanpassing, goedkeurder). Die gewoonte houdt het proces betrouwbaar, zelfs als het team verandert.
Het is 18:05 en een klein café sluit. De manager wil fooien uitbetalen voordat iedereen weggaat, maar de dienst was ongelijk. Vier mensen werkten verschillende uren en één persoon kwam laat.
Tegenwoordig gewerkte uren:
Contant plus kaartfooien (na eventuele verwerkingskosten die je meerekent) komen op $387.50. Totale uren zijn 22.5, dus het fooi-tarief is $387.50 / 22.5 = $17.222... per uur.
De app berekent elke uitbetaling en rondt daarna af op centen:
Alex: 6.0 x 17.222... = $103.33
Sam: 8.0 x 17.222... = $137.78
Priya: 5.5 x 17.222... = $94.72
Jordan: 3.0 x 17.222... = $51.67
Afronden is waar teams vaak over struikelen, dus maak het zichtbaar. Een nette regel is iedereen afronden op de dichtstbijzijnde cent en eventuele resterende pennies zodanig aanpassen dat het totaal altijd overeenkomt met de pot. In dit voorbeeld tellen de afgeronde bedragen al op tot $387.50.
Op het samenvattingsscherm ziet het team de datum, totale fooien, totale uren, het tarief per uur en ieders uitbetaling. In de geschiedenis kunnen ze een vorige dag openen en de exacte invoer en resultaten zien, wat helpt bij de vraag "Waarom was mijn aandeel gisteren anders?"
Lanceren met de eenvoudigste regel die eerlijk voelt: verdeel fooien op basis van gewerkte uren. Het is makkelijk uit te leggen, makkelijk te controleren en moeilijk te betwisten. Zodra het team vertrouwen heeft in de cijfers, voeg je extra's alleen toe als dat nodig is (zoals rolgewichten). Voeg steeds één regel tegelijk toe en houd een korte notitie in de app die vertelt wat er is veranderd en wanneer.
Bepaal waar de app staat op basis van hoe je dienst eindigt. Een gedeelde tablet bij de kassa werkt goed als één persoon afsluit. Telefoons werken beter als mensen op andere plekken uitklokken. Wat je ook kiest, houd het laatste scherm snel: review, bevestig, vergrendel.
Als je snel wilt bouwen en uitrollen zonder het wiel opnieuw uit te vinden, kan Koder.ai (koder.ai) je helpen een werkende versie te maken via een chat-gebaseerde build-flow en daarna itereren naarmate je regels evolueren. Als je klaar bent, kun je de broncode exporteren en de app verder uitbreiden op je eigen voorwaarden.
Begin met één regel die iedereen in één zin kan herhalen. Voor de meeste kleine teams is verdelen op basis van gewerkte uren het makkelijkst uit te leggen en het minst om over te twisten, zolang je maar precies definieert wat in jouw zaak als "uren" telt.
Gebruik start- en eindtijden (of exacte minuten) in plaats van vage waarden als "ongeveer 6 uur" en bepaal van tevoren hoe je afrondt. Een consistente afrondingsregel en een zichtbaar notitieveld voor uitzonderingen (zoals het overnemen van een pauze) voorkomt de meeste discussies bij het sluiten.
Noteer wie er werkte, de uren per persoon (of start/eindtijden) en het totaal aan verzamelde fooien voor de dag. Voeg rollen alleen toe als je ze daadwerkelijk gebruikt voor multipliers of uitsluitingen; anders vertragen ze alleen het afwikkelen.
Kies één methode en houd je eraan: bereken tot op de minuut, of rond af op 5, 10 of 15 minuten. Het belangrijkste is dat iedereen de regel kent en dat je die elke dag op dezelfde manier toepast, vooral bij gedeeltelijke diensten.
Schrijf een duidelijke regel voor wat als werktijd telt, bijvoorbeeld "geplande tijd telt, onbetaalde maaltijdpauzes niet". Voeg daarnaast een eenvoudige manier toe om uitzonderingen te noteren zoals late aankomsten, vroeg vertrek of ruilingen zodat het dagboek overeenkomt met wat er werkelijk gebeurde.
Bepaal of je alles in één pot stopt of alleen de fysieke pot. Veel teams combineren contante en kaartfooien voor eenvoud, maar bepaal ook of kaartverwerkingskosten worden afgetrokken voordat je verdeelt.
Uurlijke verdeling werkt zo: totale fooien gedeeld door totaal gewerkte uren geeft een fooi-per-uur. Daarna krijgt elke persoon zijn/haar uren vermenigvuldigd met dat tarief. Als je op het resultaat scherm totaal fooien, totaal uren, het tarief en ieders uren toont, kan iedereen het snel verifiëren.
Bereken uitbetalingen in centen, rond iedere persoon af op de dichtstbijzijnde cent en zorg dat de eindbedragen optellen tot het verzamelde totaal. Als er 1–2 cent overblijft, gebruik dan elke keer dezelfde voorspelbare regel zodat het nooit willekeurig aanvoelt.
Vergrendel de dag na bevestiging zodat resultaten niet stilletjes later gewijzigd worden. Als je een fout moet herstellen, voeg dan een zichtbare correctie toe aan de volgende uitbetaling met een korte reden, zodat je een audittrail behoudt zonder het verleden te herschrijven.
Een aangepaste build is de moeite waard als je regels gewogen rollen, meerdere potten, een specifieke volgorde van aftrekken of machtigingen voor goedkeuring omvatten die generieke rekenmachines niet ondersteunen. Platforms zoals Koder.ai kunnen je helpen de schermen en logica rond je workflow te vormen en daarna iteratief te verbeteren.