Tap Receipt.
De bon in één tap.
Een web-app die de papieren kassabon vervangt. NFC-tag aan de kassa, klant tapt met de telefoon, bon staat op het scherm: zonder app, zonder account, zonder e-mailadres. Eigen product, gebouwd in twee weken.
- Type
- Eigen product · Web app
- Bewijs
- Demonstratie
- Jaar
- 2025
- Rol
- Concept, ontwerp, ontwikkeling en de NFC-koppeling
- Stack
- Next.jsNFCVercel
- Doorlooptijd
- 2 weken
Wat een klant aan de kassa doorloopt.
De kassakant van de demo zit achter een login. Dit is de route die de klant aflegt, met het scherm dat we publiek tonen.

- Stap 1
Tappen op de tag
De klant houdt de telefoon bij de NFC-tag. Op de tag staat een sessie-URL, dus de browser opent de web-app. Geen installatie, geen account.
- Stap 2
De sessie wacht
Het scherm toont dat de sessie open staat en op de kassa wacht. Tappen mag dus al voordat de betaling rond is.
- Stap 3
De bon verschijnt
Het kassasysteem sluit af en stuurt één webhook. De bon verschijnt in dezelfde sessie, in onze tests binnen twee seconden.
- Later
Terugvinden
De bon blijft aan de sessie gekoppeld, zodat hij bij garantie of retour terug te vinden is.
Van het kassascherm en het beheerdeel staan geen screenshots op deze site; die stappen staan hierboven in tekst. De bedragen en bonnen in de demo-omgeving zijn voorbeelddata.
Papieren bonnen die niemand bewaart.
Aan elke kassa gaat een bon mee die vrijwel niemand houdt, behalve wie hem nodig heeft voor garantie, retour of de administratie.
Tap Receipt is een eigen product, geen klantopdracht. Het is gebouwd om één ding te bewijzen: dat een fysieke interactie aan de kassa met alleen web-technologie is op te lossen, zonder native app in de store en zonder dat de klant iets hoeft in te vullen. De bestaande alternatieven vragen een e-mailadres of een app; allebei een drempel die aan een kassa te hoog is.
- 01Een NFC-tag aan de kassa met een unieke sessiecode.
- 02Bij betaling tapt de klant de telefoon en opent direct een web-app.
- 03Zodra het kassasysteem de transactie afsluit, verschijnt de bon in die sessie.
- 04De bon blijft gekoppeld aan de sessie en is later terug te vinden bij garantie of retour.
Waar het product gewonnen werd.
De tag draagt een sessie, niet een bon.
De tag bevat geen bon maar een sessie-URL. Daardoor kan de klant al tappen vóórdat de betaling rond is, en verschijnt de bon vanzelf zodra het kassasysteem klaar is. De volgorde aan de kassa maakt dus niet uit, en dat is precies wat een kassa nodig heeft.
Eén webhook vanuit het kassasysteem.
Het kassasysteem stuurt bij het afsluiten van een transactie één bericht. Tap Receipt zoekt de open sessie van die kassa, slaat de bon op en ververst het scherm van de klant. Sessies en bonnen staan in Postgres; er is geen queue of extra dienst nodig.
Android via Web NFC, iOS via de URL op de tag.
Web NFC werkt op Android en niet op iOS. Op een iPhone leest het systeem de tag zelf en opent het de URL die erop staat in de browser, dus dezelfde web-app komt in beeld zonder dat er iets geïnstalleerd wordt. De web-app is één codebase; alleen de eerste stap na de tap verschilt per platform.
Dat is iets anders dan een App Clip. Een App Clip is een deel van een echte app die je bouwt, ondertekent en via App Store Connect distribueert, met eigen eisen aan grootte, domeinkoppeling en review. Een NFC-tag met een URL is dat niet: die opent een webpagina. Allebei besparen ze de bezoeker een installatie uit de App Store, maar de distributie en de voorwaarden verschillen.
Wat het bewijst.
Een eigen product heeft geen opdrachtgever die een cijfer bevestigt. Wat wel meetbaar is: de tijd van tap tot bon, en de drempels die weg zijn.
Hoe die twee seconden gemeten zijn. Gemeten in eigen tests van tap tot zichtbare bon op 4G, op een Android-toestel met Web NFC. Geen productiemeting bij een keten.
Voor klanten laat dit zien wat er kan zonder native app: NFC, installeerbare web-apps en een koppeling met een bestaand systeem via één webhook. Dezelfde bouwstenen passen op toegangscontrole, check-ins of garantieregistratie.
Vijf lagen, geen app-store.
| Laag | Keuze | Waarom |
|---|---|---|
| Framework | Next.js (App Router) op Vercel | Web-app en API-routes in één project, preview per commit |
| NFC | Web NFC API, PWA | Tappen vanuit de browser op Android; installeerbaar zonder store |
| iOS | NDEF-URL op de tag, geopend in de browser | Zelfde web-app bereikbaar zonder Web NFC en zonder installatie |
| Data | Postgres | Sessies en bonnen, gekoppeld op kassa-id |
| Kassa | Webhook vanuit het POS-systeem | Eén bericht per transactie, geen wijziging aan de kassa-software |
Het belangrijkste inzicht ging niet over techniek maar over tijd: de bon moet vrijwel direct na de tap in beeld zijn, anders kijkt de klant al weg. Alles in de architectuur, van de sessie op de tag tot de webhook naar Postgres, staat in dienst van die ene seconde.
Plan een vergelijkbaar project.
Een web-app in plaats van een native app.
Een gesprek van 45 minuten: je hoort of jouw idee zonder app-store kan, wat het kost en wat er in 1–6 weken live staat. Vaste offerte binnen 48 uur.
Laatst bijgewerkt: 8 september 2026.