Bonnetjes scannen mislukt? Zes veelvoorkomende oorzaken en concrete fixes

De OCR (Optical Character Recognition) in Okidoky werkt lokaal in je browser via Tesseract.js. Dat is goed voor je privacy — je bonnetje verlaat je apparaat niet — maar het betekent ook dat de herkenningskwaliteit afhangt van de foto die je maakt. Bij zo'n negen van de tien bonnetjes lukt het in één keer. Bij de resterende is er bijna altijd een specifieke oorzaak. Hieronder de zes die we het vaakst tegenkomen.

1. Foto te donker (of juist overbelicht)

Dit is verreweg de meest voorkomende oorzaak. Een bonnetje op een donker keukenblad, een hangende lamp die schaduw werpt, of een fel balkonlicht dat reflecteert — allemaal maken de tekst moeilijk leesbaar voor de OCR-engine.

Fix: neem de foto op een egaal verlicht oppervlak. Een witte tafel bij daglicht is ideaal. Vermijd je schaduw ÍN het beeld. Als je mobiel een flash heeft, zet die UIT — flash op thermopapier geeft meer problemen dan hij oplost. Een tweede kans: maak de foto opnieuw vanaf een iets andere hoek, zodat reflecties weg zijn.

2. Bonnetje gekreukeld, gevouwen of gescheurd

Een bonnetje dat een dagje in je broekzak heeft gezeten, is vaak vervormd. De OCR kan per regel werken, maar als de scheur dwars door een cijfer loopt, raakt het totaal-veld zijn context kwijt.

Fix: leg het bonnetje ZO plat mogelijk vóór je de foto neemt. Een dichtgeklapt boek erop leggen voor een paar seconden doet wonderen. Bij een scheur: probeer de twee helften tegen elkaar te leggen op een donkere achtergrond, zodat de scheur minder opvalt. Als het bonnetje heel kreukelig blijft, werkt soms beter: maak een foto van alléén het totaal-gedeelte onderaan, en vul winkelnaam + datum handmatig in.

3. Thermopapier is vervaagd

Dit is een structureel probleem, geen foto-probleem. Bonnetjes op thermopapier (dat grijze, gladde papier dat veel kassasystemen gebruiken) worden na enkele maanden onleesbaar — vooral bij warmte, zonlicht of in contact met plastic hoezen. Tesseract.js kan geen tekst lezen die er letterlijk niet meer staat.

Fix: als het bonnetje nog in jouw archief hoort, scan het direct na ontvangst. Thermopapier verbleekt binnen 6-12 maanden merkbaar. Als het al vervaagd is: handmatig invoeren is helaas de enige route. Voor de toekomst: maak een foto aan de kassa zodra je een bonnetje krijgt waarvan je weet dat je het later nodig hebt (garantie, aftrek, verzekering).

4. Meerdere bonnetjes tegelijk op één foto

We zien dit vaak: iemand legt drie bonnetjes naast elkaar en maakt één foto. OCR herkent dan misschien tekst, maar de koppeling "welke regel hoort bij welke kassabon" wordt een gok. Het resultaat is vaak een mix waarbij het totaal-bedrag van bon A bij winkel B terechtkomt.

Fix: één bonnetje per foto, altijd. Bij meerdere kleine bonnetjes neem je liever zeven losse foto's dan één overzichtsfoto. De Okidoky-scan duurt per foto slechts enkele seconden; het "besparen" door er meerdere tegelijk te doen levert meestal juist extra correctie-werk op.

5. Tekst te klein of met te hoge resolutie

Bij lange bonnetjes (bijvoorbeeld van een grote boodschappenronde) zijn sommige mensen geneigd om heel dichtbij te gaan staan en in te zoomen. Dat geeft een mooi hoge resolutie, maar soms is de tekst DAN zó scherp dat subtiele pixel-ruis de letters juist VERstoort.

Fix: maak de foto vanaf circa 30 cm afstand. De meeste smartphone-camera's doen hun beste werk op die afstand. Wil je toch een heel lang bonnetje vastleggen? Maak twee foto's: één van de bovenhelft, één van de onderhelft met overlap. Scan ze los en combineer het resultaat handmatig (datum is één keer genoeg, totaal uit de onderhelft).

6. Buitenlandse karakters of ongewone layouts

Duitse umlauten (ä, ü), Franse accenten (é, à) of exotische valuta-symbolen kunnen Tesseract soms struikelen. Ook kassabons uit bepaalde landen hanteren heel andere layouts: totaal bovenaan, BTW in het midden, winkelnaam onderaan. OCR werkt minder goed als de layout afwijkt van het "Nederlands kassabon"-patroon dat de engine kent.

Fix: de tekst komt meestal wél door; alleen de AUTO-categorisering loopt stuk. Controleer na de scan het bedrag (dat klopt bijna altijd) en de datum (idem). Winkelnaam en categorie vul je desnoods handmatig in. Voor vakantie-bonnetjes: even wennen is normaal, de OCR wordt niet domweg slecht — de layout is gewoon niet wat het model verwacht.

Wanneer je beter handmatig invoert

Bij twee situaties is scannen tijdverlies:

  1. Heel klein bonnetje onder de €5 — de tijd die je kwijt bent aan correctie is meer dan de waarde van het bedrag voor je inzicht.
  2. Je kent het bedrag toch al uit je hoofd — als je net bij de bakker €3,40 hebt betaald, tik dan '3,40 — bakkerij — boodschappen'. Sneller dan camera openen, foto maken, verifiëren.

Okidoky is niet een app die wil dat je elke euro scant. Het is een app die je wil helpen overzicht te houden. Soms is de snelste weg naar dat overzicht een getik in plaats van een foto.

Waarom scannen überhaupt?

Voor hoeveelheid en snelheid: als je 15 bonnetjes van een weekendmarkt hebt, is scannen + handmatige correctie op 2 alsnog sneller dan 15× typen. Voor ZZP'ers is de tijdsbesparing aanzienlijk omdat de bewaarplicht digitaal makkelijker is dan met schoenendozen.

Maar vooral: de scan-functie is een middel, geen doel. Als hij voor een bepaald bonnetje niet werkt, is er niks "mis" met Okidoky of met jou — het is gewoon een foto die de OCR niet kan lezen. Tikken en door. De 85 andere bonnetjes van deze maand staan al keurig geregistreerd.

Hulp nodig bij een specifiek geval? Stuur een screenshot naar info@okidoky.nl met wat je ziet gebeuren. Zeven van de tien keer komen we er samen uit met één extra vraag.