Skip to main content

Activity: Receipt upload

Allow your customers to upload receipts, to bring shoppers back to your program.

Written by Jason Leader

Receipt upload is a paid add-on rather than part of a plan. To switch it on, speak to your Account Manager or email support@loyaltylion.com.

In this article:


Overview

The Receipt upload rule lets your customers earn points for buying your products somewhere other than your own store. They photograph the receipt, we scan and check it, and the points go on their account. You choose which retailers count, which of your products count, and how much checking a receipt gets before it is approved.


How the Receipt upload rule can help you

Customers who buy you through a stockist are invisible to you. You cannot email them, you cannot see what they bought, and they are not in your program. Receipt upload turns that cohort into named customers you can talk to.

Once they are in, the points give them a reason to buy from you directly next time, and you can keep them engaged between purchases like any other member.


Setting up the rule

  1. Go to Program, then Rules, then Create rule.

  2. Choose Upload a receipt.

  3. Under Receipt upload rule, set the Title customers see, and how many Points a successful upload earns. If you use tiers, you can set a different figure per tier.

The Receipt upload rule form, showing the title and points fields

Approved retailers

List the retailers whose receipts you will accept. We match the name we read off the receipt against your list, allowing for the mess that OCR makes of shop names.

The Approved retailers list on the rule form

Leave the list empty and receipts from any retailer are accepted.

Line item verification

Add brand names, product names or SKU prefixes here and we check the individual lines on the receipt, so a customer only earns for buying your products rather than for any receipt from an approved shop.

The Line item verification section with match terms

Your products are listed differently by different retailers. Add the abbreviations and retailer-specific SKUs you know about, or you will miss matches.

Automatic rejection rules

These are all optional. Anything that fails one of them is rejected without reaching you.

  • Submission window, under Limit how old receipts can be. How long after the purchase a customer can still submit the receipt. Receipts dated outside the window, or with no readable date, are rejected.

  • Minimum receipt total. Rejects receipts whose post-tax total is below the amount you set.

  • Limit how many times a customer can earn points from this rule. Caps how often one customer can be paid within a period you choose.

If you have set up line item verification, this field changes to Minimum brand total and checks the combined total of your items on the receipt, not the whole receipt. A customer with a large basket and one of your products is measured on that product alone.

The earning limit counts approved uploads only. A rejected receipt does not use up an attempt, so a customer whose photo came out blurry can try again.

The Automatic rejection rules section

Approval method

Manual review holds every receipt until someone on your team approves it. Whoever you list under Email addresses is emailed when a receipt is waiting.

The Approval method set to Manual review

Automatic review and approval lets us decide, using a fraud score from the scan. Set the Auto-approval level to the highest risk you are willing to accept:

  • Low-risk only (recommended): no significant fraud indicators detected.

  • Low and medium risk: some fraud signals detected, but approved anyway.

  • All risk levels: everything is approved, including receipts with strong fraud indicators.

Anything above the level you choose is rejected, not passed to your team. If you want a human to see the borderline cases, use Manual review instead.

Points review period delays the points by a number of days, so you have a window to look again and reverse a decision before a customer can spend them.

The Approval method set to Automatic review, showing the auto-approval level

Click Save in the top right when you are done.


Reviewing uploaded receipts

Click Manage receipt uploads on the rule to open the Approve receipts page, which lists every receipt sent to your store.

The Approve receipts page listing submitted receipts

Each row shows the upload number, the customer's email, the upload date, the points awarded, the fraud risk level, whether it was approved or rejected, and whether the points have gone on.

Open a receipt to see the retailer name, the date and currency read off it, and its ID. If the retailer is not on your approved list, you can add it from here.

An approved receipt, showing the retailer, date, currency and receipt ID

A rejected receipt shows why it failed and which fraud indicators were found, and you can overturn the decision from the same screen.

A rejected receipt, showing the failure reason and fraud indicators

A manual decision always beats the automatic one, whichever way it goes.


Customising the upload pages

Go to Display and click Customise on Receipt upload page. You get a preview on desktop and mobile alongside the design options.

The five pages

  • Landing page: what every customer sees before uploading.

  • Preview: lets them check the photo before sending it.

  • Loading page: shown briefly while we process the image.

  • Success page: shown when the upload is received.

  • Error page: shown when it fails.

Design

Add your logo and favicon, and set a colour scheme. Design changes apply to all five pages at once.

The Receipt upload page customisation screen

How a customer uploads a receipt

A customer clicks the Upload a receipt rule on your loyalty page, which opens the landing page. From there they can upload a file from the device they are on, or scan a QR code to carry on taking the photo on their phone.

A customer uploading a receipt from the landing page

Exporting receipt data

Go to Analytics, then Exports, to export every receipt upload in a date range.

The receipt export option under Analytics, Exports

The export has one row per line item on a receipt, and carries:

  • Upload date: when the receipt was uploaded, in UTC.

  • Receipt ID: our identifier for the receipt.

  • Approval status: approved, awaiting_manual_review, declined or void.

  • Customer ID and Customer email: who uploaded it.

  • Loyalty tier name: the tier they were in.

  • Retailer name and Retailer category: the shop we read off the receipt, and its type, such as Grocery.

  • Receipt date: the purchase date printed on the receipt.

  • Country code and Currency: where it was bought and in what currency.

  • Points earned: the points for the receipt.

  • Is receipt summary: marks the one row per receipt that carries the receipt-level figures.

  • Receipt line count: how many line items the receipt had.

  • SKU, Product description, Quantity, Line unit price and Line total: the detail for that line item.

  • Receipt tax: the total tax on the receipt.

Points earned and Receipt tax appear on the summary row only and are zero everywhere else, so you can total a column without counting a receipt twice.


Promoting receipt upload

Customers buying you through a stockist have no reason to think your loyalty program applies to them, so this rule only works as well as you advertise it. Places worth putting the message:

  • Product packaging and inserts. A line like "Bought this in-store? Upload your receipt for points" turns every unit you ship into a prompt, wherever it was sold.

  • Your newsletter. The cheapest win: a standing footer line on every send, plus a dedicated email when you launch.

  • Your website. A banner or a short page explaining it, linked from your rewards page, gives every other channel somewhere to point.

  • Social. Organic posts and Stories work as reminders, especially around new stockist listings. A short clip of the upload flow heads off most of the "how does this work" questions.

  • Paid promotion. Target regions where your wholesale distribution is strongest, and lead with the reward rather than the mechanic: "earn points on purchases anywhere" beats "upload your receipt".

  • Direct mail. Good for lapsed or high-value customers, particularly with a QR code going straight to the upload page.

  • Out of home. Posters and transit ads near clusters of stockists. Imprecise, but useful where your retail footprint is concentrated.


FAQ

Why might a receipt be rejected?

A receipt is rejected if:

  • it is a duplicate of one already submitted

  • the retailer is not on your approved list

  • the total is below your minimum

  • the total cannot be read from the image

  • the image is unclear, or does not show what we need

  • the receipt date is missing, or falls outside your submission window

  • the fraud score is above the risk level you allow

  • none of your products are on it, if you use line item verification

What fraud signals do you look for?

We check for:

  • handwritten characters

  • a photo of a screen rather than a receipt

  • an image that does not contain a receipt at all

  • a duplicate of another receipt

  • close similarity to another receipt

  • signs of digital tampering

  • signs the receipt was generated by AI

Do I have to list every retailer?

No. An empty list accepts receipts from anywhere. Only fill it in when you want to restrict which shops count.

How long do you keep receipt images?

We delete receipt images after 30 days, in line with our standard data processing policies.

Where do customers find their upload link?

We pass the upload URL to your email and SMS platforms as a customer property, so you can drop it into a campaign. On Shopify it is also in the customer metafields, so you can link to it from your storefront.

Did this answer your question?