← All guides Finance

Fake receipts and expense fraud

Generated receipts now pass a glance. A checklist for finance teams, why altered totals leave a local signal, and where the check has to stop.

· 7 min read · Best AI Image Detector

Most fake receipts are real receipts with the total changed. That leaves a signal in one part of the image, which a whole-frame score averages away and a region map does not.

Why receipts are an easy target

A receipt is text on paper photographed under bad light. There is no face, no hands, no complex scene, and everyone expects the image to be slightly blurry and badly cropped. Every quality problem that would make another photograph suspicious is normal here.

The amounts are also small enough that nobody investigates individually. A finance team reviewing four hundred claims a month is looking for outliers, not running forensics on a coffee receipt. A single altered coffee receipt is not worth chasing; forty of them across a year is a salary.

The two patterns, and how they read

14 11 9 12 76 81 16 13 10

The paper, the lighting and the crop are genuine. Two adjacent tiles covering the amounts are not.

A real receipt with two line items and the total regenerated. The whole-frame score was 34.

A wholly generated receipt looks different. Every tile sits high, because no part of the picture came from a camera. That case is easier to catch and, in practice, less common than the edited one.

Telling the two apart
PatternWhole-frame scoreRegion mapWhat it means
Generated receiptHighEvery tile highThe purchase probably never happened
Edited amountLow to middlingOne or two tiles highA real purchase with the figure changed
Genuine, badly photographedMiddlingEvenly warmCompression and low light, not fraud
Genuine, good photoLowEvery tile lowNothing to see

The checks that do not involve pixels

Image analysis is one signal, and in expense fraud it is rarely the first one to fire. These cost nothing and catch more.

  • Arithmetic. Do the line items add to the subtotal, and does the tax rate apply correctly? Edited totals frequently break the maths, because the person changing them only changes one number.
  • Sequence numbers. Two receipts from the same merchant on different days with adjacent transaction numbers is a stronger signal than any score.
  • Merchant details. A phone number that does not connect, an address that does not exist, a tax number in the wrong format for the country.
  • Repeat imagery. The same paper texture, the same table, the same lighting across supposedly unrelated purchases.
  • Timing. Receipts submitted in a batch at period end, dated across several weeks, all photographed in the same session.
  • Round numbers. Amounts that sit just under an approval threshold, repeatedly.

Why finance teams should not upload receipts

A receipt carries an employee's location, timing and spending, and often a partial card number. Sending that to a third-party scoring service creates a processing relationship covering staff personal data, which needs a contract, a retention policy and a line in your privacy notice.

Scoring in the browser avoids all of it. The file is read from disk by the page and never transmitted, so there is no processor to appoint and nothing to disclose.

What to do with a flagged receipt

  1. Re-check the original

    Ask for the file from the phone that took it. Most high scores on honest receipts come from recompression after the image travelled through email or a chat app.

  2. Check the arithmetic and the merchant

    If the numbers do not add up or the merchant does not exist, you have an answer that does not depend on a model at all.

  3. Look at the pattern, not the claim

    One flagged receipt is noise. The same employee flagged four times, or a set photographed in one session, is a pattern worth escalating.

  4. Route it to a person, not a policy

    Automatic rejection on a score is unfair and, where it affects pay, legally risky. A flag should open a conversation.

Designing a policy that survives contact with staff

An expense policy that treats every flagged receipt as suspected fraud will produce more grievances than recoveries. The error rate on receipt photographs is high, and the people affected are your own employees.

Set the threshold by value rather than by score. Checking everything above a limit is proportionate and easy to explain to a works council or a union. Checking everything, then acting on a model output, is neither of those things.

Say in the policy that image checks happen, what triggers them, and that a flag results in a request for the original file rather than a rejection. Staff who know the rule in advance accept it. Staff who discover it through an accusation do not.

  • Publish the threshold so nobody is surprised by a check.
  • Route flags to a person, never to an automatic rejection.
  • Ask for the original file first, because recompression explains most high scores.
  • Escalate on patterns across a claimant, not on single receipts.

Questions people ask

Can AI detection catch a fake receipt?
It catches two things: a wholly generated receipt, which scores high across every tile, and an altered amount, which shows as one or two hot tiles inside an otherwise clean image. It will not catch a genuine receipt for a purchase that was not business related, which is a much more common form of expense fraud.
Why do genuine receipts sometimes score high?
Receipts are photographed in poor light, at an angle, on curling paper, then compressed by whatever app they travel through. Every one of those pushes a score upward. Expect a real false positive rate and build the process so a flag triggers a question rather than a rejection.
Should we check every receipt automatically?
Cheaper checks catch more. Arithmetic, sequence numbers and merchant validation run instantly and find fraud that image analysis never will. Use those as the first pass and reserve pixel checks for what they surface, or for claims above a value threshold.
Can we store the results in our expense system?
Yes, and storing the result rather than the judgement is the right approach. Export the report so the score, the region map and the date sit alongside the claim. A decision questioned a year later needs to be explainable, and the export is what makes that possible.
Can we check receipts in bulk?
Yes, up to 25 images per batch. Most teams run a whole claim at once and look for the outlier rather than reading each score. A set photographed in one session tends to score in a narrow range, so the receipt that sits well outside it is the one worth opening.