Collecting customer bills for loyalty programmes or warranty claims usually means either a physical drop box, a WhatsApp chat where staff manually read and type out the details, or a link to a third-party form that customers rarely complete. All of these create delays, data entry errors, and unhappy customers who wonder if their submission ever arrived.
Socialone solves this with a fully automated bill submission workflow: the customer photographs their bill inside WhatsApp, SIA reads it, an order is created, and they get an instant confirmation — no human needed in the loop unless you want one.
Direct answer: Socialone's AI, SIA, lets businesses collect bill photos via WhatsApp, extract the invoice amount and product code automatically, create a verified order, and send the customer an instant acknowledgement — replacing manual bill collection workflows entirely.
Who is this for?
This workflow is well suited to any business that needs customers to submit proof of purchase:
- Fuel stations collecting petrol/diesel purchase receipts for loyalty points
- Retail chains running cashback or reward programmes tied to receipt amounts
- Auto service centres accepting job cards or inspection reports for warranty claims
- Pharmacies processing prescription uploads for insurance reimbursement
- FMCG brands running consumer promotions that require purchase proof
If you currently ask customers to WhatsApp a photo of their bill to a number, or fill out a Google Form with details they have to type manually, this workflow is a direct replacement.
The full journey
Here is what the customer experiences and what happens behind the scenes:
Customer side
- Customer makes a purchase at the outlet.
- They open WhatsApp and either scan a QR code at the counter or tap a link sent to them.
- A WhatsApp Flow opens inside the app — a screen or two asking for their name, phone, and a photo of the bill.
- They photograph the bill and hit Submit.
- They receive an instant acknowledgement: "We've received your bill. Our team will verify it within 24 hours."
Behind the scenes (automated)
- The bill photo is sent to GPT-4o Vision with your configured field definitions.
- The AI extracts the invoice amount, product code (e.g., PETROL-95), and date.
- Socialone checks whether this invoice number has been seen before — if it has, the submission is flagged as a duplicate and no order is created.
- If the extraction is valid, Socialone looks up the matching product in your catalogue by retailer ID and creates an order with the extracted amount.
- The order is created in Pending Verification status and assigned to your ops team.
- A WhatsApp acknowledgement is sent to the customer automatically.
Setting this up in Socialone
Step 1 — Create the form
Go to Forms → Create Form. Add:
- Name and Phone (required contact fields)
- A Photo Upload question: "Upload a photo of your purchase receipt"
On the Photo Upload question, enable AI Image Analysis.
Set a Validation Prompt first. This is what SIA checks before extracting any data — it determines whether the image is a valid receipt at all. For a fuel station, use something like:
This should be a petrol pump or fuel station receipt.
Accept if: the receipt shows a fuel grade, litres dispensed, and a total amount paid.
Reject if: this is not a fuel station receipt, the purchase date is more than 30 days ago, or the total amount is zero.
Then add the fields you need:
| Field Key | Field Label | Field Type | Required | Uniqueness |
|---|---|---|---|---|
invoice_number | Invoice or bill number (top of receipt) | text | Yes | ✅ Yes |
purchase_amount | Total amount paid (bottom of receipt) | amount | Yes | No |
product_code | Product code or fuel grade | product_code | No | No |
Set the photo source to Camera (better image quality than Gallery for receipts).
Also enable Run actions if analysis fails — this ensures you still create a ticket for manual review if the bill photo is too blurry to read.
Step 2 — Add action rules
Under the form's Actions tab, add:
- Any Submission → Create Order — configure
product_codeas the product field key andpurchase_amountas the amount field key. Enable Skip order if product not found if your catalogue covers all valid products. - Analysis fails → Create Ticket — category: Ops Review, priority: High — so your team can manually process unreadable bills.
Step 3 — Publish to WhatsApp
Open the form, go to the WhatsApp tab, and publish it as a WhatsApp Flow. Add a screen title like "Submit Your Bill" and a content block with photo instructions.
Step 4 — Create a Flow Template
In Templates, create a new template with Interactive Type → Flow. Set the button text to "Submit Bill" and link it to the form you just published. Submit for Meta approval.
Step 5 — Send it
Once approved, you can:
- Send the Flow Template as a broadcast to your customer list after a purchase event.
- Add it to a workflow triggered when a customer messages a keyword like "SUBMIT" or "LOYALTY".
- Print the WhatsApp link as a QR code at the counter — customers scan and submit on the spot.
What your team sees
Every submitted bill appears in Commerce → Orders with status Pending Verification. The order shows:
- Customer name and phone
- Extracted invoice amount
- Linked product (if matched)
- A link to the original form response, including the uploaded bill photo
Your team clicks Verify Bill to approve it or Reject Bill if it is invalid. Verified orders move to the fulfillment queue.
Why this works better than alternatives
| Manual WhatsApp collection | Google Form | Socialone bill submission | |
|---|---|---|---|
| Customer effort | High (type details into chat) | Medium (open link, fill form) | Low (open WhatsApp, photograph) |
| Data accuracy | Depends on staff reading | Depends on customer typing | AI reads the bill directly |
| Duplicate protection | Manual check | None | Automatic (uniqueness check) |
| Order creation | Manual | Manual | Automatic |
| Acknowledgement | Manual reply | Email only | Instant WhatsApp message |
| Staff time per submission | 3–5 minutes | 2–3 minutes | Near zero |
Things to watch out for
Image quality. WhatsApp compresses Gallery photos more aggressively than Camera photos. Set the photo source to Camera in the question settings, and add an instruction screen in the flow: "Please photograph your bill clearly in good lighting."
Retailer ID matching. The AI extracts what it reads from the bill. If your bill says PETROL-95 but your product has retailer_id petrol95, the product lookup will fail. Make sure your product retailer IDs match exactly what appears on the physical bill or receipt.
Duplicate detection. The uniqueness check on invoice_number prevents the same bill being submitted twice, but only for the same form. If you run multiple forms (one per outlet, for example), duplicates across forms are not automatically detected.
WhatsApp session window. The acknowledgement message is sent as a session message. If the customer has not messaged you within 24 hours, use a WhatsApp Template for the acknowledgement instead.
Getting started
If you are running a loyalty programme, warranty scheme, or any workflow that involves customers submitting proof of purchase, this is one of the fastest ways to automate it. The full setup — form, action rules, WhatsApp flow, and template — takes under an hour.
See the full configuration guides:
- AI Image Analysis on Forms — field setup, types, and validation
- Order Creation from Forms — order lifecycle and verification workflow
- WhatsApp Flow Forms — end-to-end guide to publishing and sending
