Expense & refund fraud

AI receipt & document detector

Image models can now render receipts, invoices, tickets and ID-style documents with crisp, believable text. Check a submitted photo here — privately, so customer data never leaves your machine.

Free · no sign-up · your file never leaves your device

Drop the receipt or document photo, click to choose, or paste

JPEG · PNG · WebP · AVIF · HEIC (Safari) — checked on your device

Why fake receipts became an AI problem

Doctored receipts are an old form of expense fraud, but they used to take effort and some skill with an image editor. Text-capable image generators changed that: a single prompt can now produce a crumpled restaurant bill with a plausible menu, prices, tax line and card number, photographed on a café table. Insurance claims, refund requests, marketplace disputes and travel expense reports all accept photos of paperwork, and all have seen these.

The same applies to other documents people are asked to photograph: delivery confirmations, parking tickets, medical notes, rental agreements and screenshots of bank transfers.

What the image itself can reveal

Provenance

If the file came straight from an AI tool that signs its output — OpenAI, Adobe, Microsoft and others — it carries Content Credentials, and GPTTrace reports the generator as proof. Fraudsters usually re-save or screenshot, which removes them, so don’t expect this often; but when it is there it ends the discussion.

Missing phone metadata

A genuine photo of a receipt taken on a phone normally includes the device model, lens and a capture timestamp. Compare that time with the time printed on the receipt: a photo taken weeks after a “lunch” is a question worth asking. A file with no metadata at all is common for shared images but unusual for a photo submitted straight from a phone’s camera roll through an expense app.

Rendering traces

Generated receipts often have text that is sharp everywhere, even where the paper curls away from the camera, fonts that subtly change between lines, item names that repeat or don’t exist, and totals that don’t add up. The neural classifier adds a statistical check on the texture of the paper and the background.

A practical policy

Use detection to prioritise, not to decide. Route high-scoring submissions to a human reviewer, ask for the original file or a second photo, and verify with the merchant when the amount justifies it. Telling submitters that receipts are checked for AI generation is itself a strong deterrent.

Red flags checklist for a submitted receipt

  • Arithmetic: line items, tax and total that don’t add up, or a tax rate that doesn’t exist where the merchant is.
  • Merchant: an address, phone number or tax number that doesn’t match the business.
  • Payment: card digits or payment type that don’t match the claimant’s records.
  • Timing: a photo timestamp long after the transaction, or a receipt time outside the merchant’s opening hours.
  • Duplicates: the same receipt, or the same background table, appearing in several claims.

How accurate is it? Our measured numbers

We test GPTTrace on labelled image samples and publish the results, including where it does badly. It is tuned to keep false accusations rare, so it misses some AI content rather than flag real work.

image check: AUC 0.938 (cross-validated)

679 labelled samples (399 AI, 280 human), run 2026-10-08. At the “Likely AI” line it caught 64% of AI samples and wrongly flagged 5% of human ones.

SourceTruthSamplesResult at “Likely AI”
gemini-nano-bananaAI4040% caught
midjourney-v6AI4068% caught
midjourney-v5AI4073% caught
flux-devAI4013% caught
flux-schnellAI4048% caught
sdxlAI40100% caught
gpt-imageAI4030% caught
klingAI3997% caught
leonardo-stablecogAI4098% caught
bitmind-imagine-mixAI4080% caught
fullsize-photosHuman4010% wrongly flagged
open-images-photosHuman405% wrongly flagged
lfw-facesHuman400% wrongly flagged
caltech-objectsHuman403% wrongly flagged
coco-photosHuman400% wrongly flagged
ffhq-facesHuman400% wrongly flagged
celeba-facesHuman4018% wrongly flagged

Data sources and method: methodology & accuracy.

Frequently asked questions

Can ChatGPT really make a fake receipt?
Yes. Since image generators learned to render accurate text, people have demonstrated convincing restaurant bills, taxi receipts and shop slips, complete with creases and table backgrounds. OpenAI’s images carry Content Credentials when downloaded directly, but a screenshot or re-save removes them.
What should an expense team check besides the image?
Whether the merchant exists at that address, whether the totals, tax rate and VAT number are valid, whether the card’s last digits match, and whether the same receipt has been submitted before. Many fake receipts fail simple arithmetic or use a tax rate that does not exist in that region.
Does GPTTrace store the receipts we check?
No. Analysis runs in the browser and nothing is uploaded, which also means no customer or employee data reaches a third party.
Are scanned or photographed real receipts ever flagged?
Thermal-paper receipts photographed in poor light, or run through a scanning app that cleans and sharpens them, can look unusual to a classifier. That is why GPTTrace reports evidence rather than a verdict alone; check the camera metadata section of the result.