Every receipt read.
Every reward earned.

Customers photograph a receipt. Steve extracts the merchant, date, total, and line items, checks them against your campaign rules, and stops duplicates and fakes before points are issued.

Steve
receipt-verification.jsonJSON
{  "merchant": "The Daily Market",  "purchase_date": "2026-09-04",  "total": 12.5,  "currency": "EUR",  "eligible_items": ["Sparkling water 6-pack"],  "duplicate": false,  "verdict": "approved"}

The evidence and your rules.

  • Receipt or invoice photo from a mobile app, web form, or the API
  • Optional customer identity, so fraud checks can link submissions
  • Your campaign rules: eligible products, date window, minimum spend

Fields, a verdict, and the proof.

  • Structured fields with a confidence score each, delivered by API or webhook
  • A verdict against your rules: approved, flagged for review, or blocked
  • The evidence and the reason, side by side, in a review queue your team can act on

Rules you would write on a whiteboard. Applied to every submission.

Visual and data duplicates

Perceptual image matching catches the same photo resubmitted. Identity fields catch the same purchase submitted from a different phone.

Date window and totals

Declarative rules confirm the purchase date sits inside the campaign and the line items add up to the printed total.

Eligible products

Line items are matched to the products that qualify. Anything else is extracted, but never rewarded.

Capture quality gate

Blurry, dark, or cropped photos stop before processing. The customer is asked for a better photo. You are not billed.

From capture to decision.

  1. Capture

    The customer photographs the receipt in your app or uploads it through a link.

  2. Extract and check

    Steve reads the receipt, runs fraud checks, and applies your rules.

  3. Approve or review

    Clean receipts approve automatically. Flagged ones land in a review queue with the evidence side by side.

  4. Reward

    Approved purchases post to your loyalty platform through the API or the Open Loyalty integration.

Native to Open Loyalty

Approved receipts register as transactions on the customer profile, so your existing Open Loyalty earning rules award points with no extra code.

See the integration

Industries using this today.

How does Steve handle receipts from thousands of different stores?

Extraction is not template based. Steve reads the receipt the way a person would, so new merchants and formats work without configuration.

What happens with a suspicious receipt?

It is flagged, never silently rejected. Your team sees the receipt, the matched duplicate, and the rule that fired, and decides in one click.

Let’s run it
on your evidence.

Bring a handful of real image samples and the rules you apply today. We will show you what Steve returns.

Book a demo 30 minutes. Your use case. Real possibilities.