
AI-generated fake receipts are a promotions problem now, not just an expense-report one
Image models now produce convincing receipts from a prompt. Expense vendors noticed first; cashback and loyalty promotions are the softer target. What still catches them.
In 2025 the expense-management vendors started publishing numbers on AI-generated receipts in submitted expense claims. The share was small but it had gone from zero to measurable in about a year, and the receipts were good enough that their reviewers were missing them. Most of the coverage stayed on expenses, where a fake receipt costs an employer a few hundred euros.
Consumer promotions are a better target for AI-generated fake receipts and got less attention. A cashback campaign pays out to anyone with a qualifying receipt, no employment relationship, no manager approving the claim, and often a review process that was designed for a world where faking a receipt meant owning a thermal printer.
What an AI-generated fake receipt looks like
Ask an image model for “a receipt from a Polish grocery store for two six-packs of sparkling water, total 23.88 PLN, dated last Tuesday” and you get one. The layout is right. The font is a plausible monospace. There is a store name, an address, a fiscal identifier, a list of items, a subtotal, tax, and a total that adds up because you told it to.
Look closer and it starts to fall apart, for now. The tax identifier does not belong to that retailer. The store number and the address disagree. The receipt number format is wrong for that till system. The tax rate breakdown is fiction. The paper texture repeats. But a reviewer processing four hundred receipts before lunch is not looking closer. They are checking that the product is there and the date is in range, and both are.
Why the usual defences are weaker here
Expense fraud has a natural cap. One employee, one set of claims, a manager who might notice. Promotion fraud scales. A generated receipt template can be varied by prompt, producing a hundred receipts with different totals and dates, each submitted from a different account. No two images match, so image-duplicate detection sees nothing. The purchases differ, so purchase-duplicate detection sees nothing either.
That is the real change. Duplicate detection has been the workhorse of promotion fraud prevention because most fraud was the same receipt again. Generated receipts are never the same receipt again.
Fake receipt detection that still works
Plenty, as it happens, because a model that can draw a receipt does not know how receipts work.
Cross-field consistency. A Polish fiscal receipt carries the retailer’s NIP tax identifier. That identifier maps to one legal entity. A receipt whose printed merchant name does not match the entity behind its NIP is wrong, and no image model knows the mapping. Similar checks exist in most countries: VAT numbers, store codes, fiscal printer serials. Rules that cross-check identifiers against a reference list catch generated receipts without any image analysis.
Format rules per retailer. Real receipts from a given chain share a structure. Receipt number format, the order of subtotal and tax lines, how the payment method is printed. Extraction returns these as fields. Rules compare them to what that retailer prints. Generated receipts get the vibe right and the specifics wrong.
Arithmetic on the tax breakdown. Models are told to make the total add up. They are rarely told to make the tax lines consistent with the items at the correct rates. Items at 5 percent and 23 percent VAT should produce a tax breakdown that matches. On generated receipts it usually does not.
Participant behaviour. Generated receipts arrive in patterns. Many submissions from new accounts in a short window. Totals that cluster just above the minimum. Purchase times that are suspiciously round. Per-participant limits and campaign-level reporting see this even when each individual receipt passes.
Capture context. A receipt photographed on a table has a background, perspective, shadows, and a slightly curved paper edge. A generated image is often flat, perfectly framed, and clean. A capture quality gate that scores framing can flag “too perfect” as readily as “too blurry”, although this one is an arms race and will not hold on its own.
What to change in the pipeline
If you run receipt-based promotions, three practical moves.
First, stop treating OCR output as the end of the pipeline. Extracted fields need rules run against them. The consistency checks above are rules, and they are cheap.
Second, build a reference list of participating retailers with their tax identifiers and receipt formats. It is a spreadsheet. It becomes the ground truth that generated receipts fail against.
Third, make sure approvals are logged with participant identity and are queryable in aggregate. The pattern of generated-receipt abuse is visible at the campaign level long before it is visible on any single receipt.
Where this goes
The models will get better at the specifics. Tax identifiers will be looked up. Formats will be copied from real examples. The consistency checks that work today will catch less next year.
What does not change is that a promotion has a standard, and the job is checking each submission against it. Reference data about retailers, arithmetic, participant history, and cross-channel identity are hard to fake because they live outside the image. The more of the verification that runs on those, and the less on how the picture looks, the longer it holds.
If you want to test your current pipeline, we can generate a set of receipts against your campaign’s rules and run them through it with you. It is a sobering half hour. Book a demo.


