Hoe nauwkeurig leest een machine een factuur?
Een ochtend aan de uitzonderingenlijst van een factuurkoppeling: wat een zekerheidsscore van 0,95 betekent en waar fouten in de praktijk zitten.
19 september 2026 · Jeffrey · 8 min lezen
Om kwart over acht staan er elf regels op haar scherm. Gisteren kwamen er 64 inkoopfacturen binnen op de factuurmailbox van een handelsbedrijf; 53 daarvan zijn 's nachts uitgelezen, gecontroleerd en klaargezet ter goedkeuring zonder dat iemand ernaar keek. De elf die overblijven zijn de facturen waarvan het model niet zeker genoeg was, of waar een controle achteraf op stuitte. Sinds de koppeling draait is dat haar werk: niet overtypen, maar de uitzonderingen. Ze is een typische medewerker crediteurenadministratie, geen bestaand persoon. De koppeling, de facturen, de scores en de tijden hieronder zijn een rekenvoorbeeld; de lijst is wel hoe zo'n lijst er doorgaans uitziet.
Elf op 64 is ongeveer één op zes. Wie gehoord heeft dat de machine "95 procent nauwkeurig" is, verwacht iets anders. Het verschil zit in wat er geteld wordt, en dat blijkt de hele ochtend door.
Wat het cijfer zegt
Een documentmodel kan bij een veld dat het uitleest een zekerheidsscore teruggeven; niet elk veld krijgt er een, dat hangt af van model en versie. Microsoft schrijft over zijn Document Intelligence-dienst dat een score van 0,95 betekent dat de voorspelling naar schatting 19 van de 20 keer klopt. Dat is een geschatte kans per veld, geen fout per factuur. Neem voor het rekenvoorbeeld aan dat er per factuur acht velden gecontroleerd worden: leverancier, factuurnummer, factuurdatum, vervaldatum, totaal, btw, betalingskenmerk, ordernummer. Wie 64 facturen met acht velden per stuk ongezien accepteert, en aanneemt dat elke score 0,95 is en dat die score de werkelijke kans weergeeft, moet rekenen op ongeveer 26 verkeerde velden per dag: 64 keer 8 keer 0,05 is 25,6. Dat is geen voorspelling voor een echte administratie, want daar zijn de scores niet allemaal gelijk en niet per se goed geijkt. Het verklaart wel waarom niemand een documentkoppeling zo bouwt. Dezelfde documentatie zegt het zelf: waar nauwkeurigheid telt, gebruik je de score om te beslissen of een veld automatisch wordt geaccepteerd of naar een mens gaat.
Dat is de drempel. Hoe hoog hij staat is geen technische keuze maar een afspraak met degene die het werk doet; zo staat het ook op de techniekpagina: bij lage zekerheid gaat het naar een mens, en welke drempel daarvoor geldt wordt samen bepaald. In dit voorbeeld heeft zij eraan meebeslist, en daarom weet ze wat de elf betekenen: niet elf fouten, maar elf keer twijfel.
De scan die scheef lag
Nummer één is een factuur van een schildersbedrijf, op de balie ingescand en als foto gemaild. Het beeld staat een paar graden gedraaid en de onderste regel is grijs van het kopieerapparaat. Het model las het factuurnummer met 0,61 zekerheid en het totaal met 0,72, allebei onder de drempel. Ze kijkt: het nummer klopt, het totaal ook. Twee velden bevestigd, factuur door. Anderhalve minuut.
Het is de meest voorkomende reden op de lijst en de minst interessante. OmniDocBench, een benchmark die 981 pagina's van negen documentsoorten door pijplijntools en beeldtaalmodellen haalde, meet de fout in de tekstherkenning als genormaliseerde editafstand: 0 is foutloos, 1 is niets bruikbaars herkend. De pijplijntool MinerU haalt op Engelse tekst 0,061 (tabel 2 in het artikel). Op de pagina's die de onderzoekers als wazige scan aanmerken loopt het uiteen: MinerU staat daar op 0,15, de pijplijntool Nougat op 0,934, het beeldtaalmodel Qwen2-VL-72B op 0,082 (tabel 4). Dat zijn wetenschappelijke artikelen, boeken en kranten, geen Nederlandse facturen, dus de cijfers zijn niet over te nemen. Het patroon wel: de fout is niet gelijk verdeeld over de documenten, hij zit in de slechte beelden, en hoeveel het scheelt hangt van de tool af. In dit voorbeeld komen de slechte beelden van één leverancier met een kopieerapparaat.
Het totaal dat niet optelt
Nummer vier had wél hoge scores. Elk veld boven de 0,9, en toch op de lijst, omdat een controle na het uitlezen niet slaagde: subtotaal plus btw is niet het totaal. Ze opent de PDF. Onderaan staat een regel "kredietbeperkingstoeslag 2%", die alleen geldt bij te late betaling, en het model heeft het bedrag inclusief die toeslag als totaal genomen. Het model was zeker en had ongelijk.
Dat hoort bij het cijfer. Een score van 0,9 sluit een fout niet uit; over veel vergelijkbare velden betekent hij, als hij goed geijkt is, ongeveer negen goede uitkomsten per tien. Wat de tiende tegenhoudt is geen hogere score maar een tweede controle die niets van het model hoeft te weten: tellen de bedragen op, bestaat het factuurnummer al, komt het totaal overeen met de inkooporder. Op de pagina over facturen inboeken staat zo'n keten in volgorde; zij ziet er de uitkomst van. Ze zet het totaal op het bedrag zonder toeslag en noteert de leverancier, want dit komt terug.
De leverancier die niemand kende
Nummer zes: een leverancier die nog niet in het boekhoudpakket staat. Naam, IBAN en KvK-nummer zijn goed gelezen, met hoge zekerheid, maar de koppeling vindt er geen crediteur bij. Dit is geen leesfout en geen twijfel; het is een regel. In deze koppeling wordt een nieuwe crediteur niet automatisch aangemaakt en een gewijzigd rekeningnummer niet automatisch overgenomen, omdat een vals rekeningnummer op een echt ogende factuur de gangbare vorm van factuurfraude is. Ze belt de collega die de bestelling deed, maakt de crediteur aan en geeft de factuur vrij.
Dit deel van de lijst wordt niet kleiner met een beter model. Elke leverancier is één keer nieuw.
De creditnota
Nummer negen is een creditnota. Het model las het totaal als positief bedrag met een score van 0,97, en had daar reden toe: het minteken staat niet op de factuur, het woord "creditnota" staat alleen in de kop. Gelezen is het goed. Begrepen is het niet. In dit voorbeeld heeft de administratie ervoor gekozen creditnota's altijd door een mens te laten beoordelen, en daarom staat hij op de lijst, niet vanwege een score. Zij zoekt de oorspronkelijke factuur erbij, boekt het bedrag negatief en gaat naar nummer tien.
De elf van die ochtend
| reden | aantal | wat ze deed |
|---|---|---|
| veld onder de drempel (scan, foto) | 5 | bevestigd of gecorrigeerd, gemiddeld twee minuten |
| bedragen tellen niet op | 2 | PDF gelezen, totaal aangepast |
| verschil met inkooporder boven de tolerantie | 2 | naar de inkoper |
| leverancier onbekend | 1 | crediteur aangemaakt na telefoontje |
| creditnota | 1 | negatief geboekt op de oorspronkelijke factuur |
Om tien over negen is de lijst leeg, op de twee facturen na die bij de inkoper liggen. Wat opvalt is de verdeling: vijf van de elf gaan over leesbaarheid, en die zijn het snelst. De andere zes kwamen door controles en afspraken op de lijst, niet door een lage veldscore. Als "nauwkeurigheid" alleen de score is, mist het cijfer meer dan de helft van wat haar werk is.
Wat er niet op de lijst staat
De vraag die de lijst niet beantwoordt, is hoeveel van de 53 doorgelaten facturen fout zijn. De score zegt daar iets over, maar niet genoeg, want een zekere fout haalt de drempel. De controles achteraf vangen de fouten die de bedragen raken, maar een verkeerde factuurdatum telt gewoon op. Wat overblijft is meten. Zij doet dat op de laatste vrijdag van de maand: twintig doorgelaten facturen, willekeurig gekozen, naast de PDF, acht velden per factuur nakijken, en twee dingen tellen: het aantal verkeerde velden en het aantal facturen met minstens één fout. Bij drie minuten per factuur is dat een uur; de omvang en de frequentie zijn een keuze, geen norm. Het levert het cijfer op dat de leverancier van het model niet kan geven, omdat het van haar documenten afhangt.
Halverwege de middag komt een van de twee facturen van de inkoper terug: het prijsverschil was meerwerk, akkoord. Ze geeft hem vrij. De andere blijft liggen tot de leverancier belt.
Wie een taalmodel meer vraagt dan een veld, een samenvatting of een afleiding, krijgt een ander soort fout, en dat is een reden om dat bij facturen zo min mogelijk te doen. De hallucinatieranglijst van Vectara laat modellen ruim 7.700 Engelstalige artikelen samenvatten met de opdracht alleen te gebruiken wat in de tekst staat, en laat een eigen beoordelingsmodel nakijken of de samenvatting strookt met de bron. Op de stand van 11 mei 2026 loopt het aandeel samenvattingen met iets dat niet in de bron staat voor de opgenomen modellen uiteen van 1,8 tot 24,2 procent; de beoordeling is zelf ook modelwerk, dus het zijn schattingen. Een veld uit een factuur is eenduidig tegen de factuur te controleren; een samenvatting veel moeilijker. Daarom beperkt een factuurkoppeling het model liefst tot velden die na te kijken zijn.
Aan het eind van de dag telt ze de redenen bij de weekstaat op. Niet omdat iemand erom vraagt, maar omdat die telling is wat de lijst korter maakt: één leverancier vragen om een PDF in plaats van een scan haalt meer weg dan een nieuwer model. Wat zo'n koppeling stap voor stap controleert, en waar de mens erin zit, staat bij facturen inboeken.
- Microsoft Learn: Interpret and improve model accuracy and confidence scores (Azure Document Intelligence)
- Microsoft Learn: Invoice data extraction (Azure Document Intelligence)
- OmniDocBench: Benchmarking Diverse PDF Document Parsing with Comprehensive Annotations (arXiv 2412.07626)
- Vectara Hallucination Leaderboard
Begin met één proces
Vertel welk werk bij u het vaakst wordt overgetypt. Blijkt automatiseren daar geen goed idee, dan hoort u dat in het eerste gesprek – vóór er een factuur is.
Kennismaking is gratis en vrijblijvend. Wilt u het onderbouwd? Dan is de Automation Check €295 – verrekend als u binnen 30 dagen laat bouwen.