By KYN AI Advisory Team — AI implementation specialists, Singapore
An employee photographs a receipt and sends it to a WhatsApp number. An agent reads the image, extracts merchant, date, amount and tax, drafts a claim against your policy, and puts it in an approval queue. A named person approves it, and only then does the claim go to payment or payroll. The employee does no form-filling. The finance team does no retyping.
What does the employee see?
The flow is short on purpose, because the sender is a busy person on a phone.
- The employee sends a photo, optionally with a note such as "client lunch, Acme".
- The agent replies within seconds with what it read: "Cold Storage, 12 Oct, SGD 48.60. Category: meals. Is this right?"
- The employee taps to confirm, or corrects a field by replying.
- The agent asks for anything missing: a purpose for entertainment, attendee names, or a project code.
- The employee receives a status: submitted, approved, paid, or returned with a reason.
That is the whole interface. No new app and no login to remember, since staff already use WhatsApp.
What happens behind the photo?
Five steps run behind that reply.
- Identify the sender. The phone number maps to a named employee on an allowlist. Unknown numbers get no answer and no data.
- Store the original. The image is saved with the sender, time and message ID. It is the audit record.
- Extract fields. The agent reads merchant, date, currency, total, tax and line items where legible.
- Check. Code verifies the date parses, the total equals the sum of lines plus tax, the receipt is not a duplicate of an earlier claim, and the amount sits within policy.
- Draft the claim. The agent proposes a category and tax code, and attaches the image.
The checks in step 4 are code, not model judgement. The model reads the receipt. Rules decide whether it passes. See hallucination checks for business agents for the method.
What policy rules can the agent apply?
Write the policy as data. Examples:
- Limits. Meals above a set amount per head need a note.
- Categories. Alcohol, fines and personal items are not claimable. The agent flags them.
- Evidence. Entertainment needs attendees and a purpose. The agent asks before submitting.
- Timing. Claims older than your cut-off are flagged.
- Duplicates. Same merchant, date and amount from the same person within a window is a flagged possible duplicate.
- Foreign currency. Record the charge in the currency and the SGD amount the card actually charged. Use the card or bank amount, not the receipt face value, so the reimbursement equals what the employee paid. See how to record foreign currency expenses in Singapore.
Each flag explains itself in one line. The approver decides.
What does the approver see?
A queue with one row per claim:
| Field | Purpose | |---|---| | Employee, date, merchant | Identity | | Amount in claim currency | The decision | | Category and tax code proposed | Check the coding | | Purpose note | Required for entertainment | | Flags | Policy, duplicate, unreadable | | Receipt image | One click away |
Approve, reject or return with a reason. Batches of clean claims clear in minutes. Flagged claims get a closer look. The approver is a named person with a recorded decision, so the audit trail shows who approved what and when.
How do GST and accounting fit in?
The agent proposes a tax code from the receipt: GST shown, supplier's registration number, and whether the document is a valid tax invoice. A bookkeeper or accountant confirms claimability for anything unusual. The split is set out in GST on bills: what an agent can code and what an accountant must confirm, and the scanning side in how to scan receipts for GST claims in Singapore.
Approved claims post to the ledger as expense lines against a payable to the employee. Payment happens in the next payment run or with payroll, released by a named person.
What can go wrong?
- Blurry or cropped receipts. The agent should say "I cannot read the total" and ask for another photo. It must not guess.
- Receipts in several languages. Test your real receipts first, particularly handwritten ones.
- Wrong sender. A forwarded photo from a colleague's phone. The allowlist blocks numbers it does not know.
- Gaming. Edited images or duplicates. Duplicate checks catch repeats. Image tampering needs a person's eye on unusual items, and spot checks help.
- Privacy. Receipts can carry personal data. Store them in your own cloud account, restrict access by role and set a retention period. For personal data duties, check the PDPC guidance.
- Message channel limits. Use WhatsApp's official business API through a provider. Do not automate a personal account.
What does it cost?
Per-item costs for short-text agent tasks in our live systems run in cents: about S$0.05 for a morning report sent on WhatsApp, S$0.01 for a reply sorted. Reading an image costs more than text, so measure it on a sample of your receipts during the review rather than assume. The saving is mostly time: no forms for staff, no retyping for finance.
What does a worked example look like?
Take a sales executive who pays for a taxi, a lunch with a client and a parking ticket in one day (illustrative). She sends three photos to the claims number on WhatsApp.
- The agent reads each photo and replies with the merchant, date and amount, and asks for the purpose of the lunch.
- She answers in one line. The agent attaches it to the claim.
- The parking ticket is below the receipt threshold in the policy, so the agent records it with a note rather than rejecting it.
- The claim reaches the approver with three lines, the images beside the fields, and a flag: lunch above the per-head limit.
- The approver accepts two lines and returns one with a comment. The employee sees the reason in the same chat.
The employee spent about a minute. The approver looked at one flag, not three receipts. Finance receives a clean register with the image attached to each line.
Test it with a real week of receipts before launch. Crumpled thermal paper, photos taken at an angle and receipts in two languages are the cases that decide whether people trust the tool.
How do you launch it to staff?
Launch with one team for one month. Brief them in ten minutes: where to send the photo, what the reply will ask, and what happens next. Share three example receipts that were accepted and three that were returned, with reasons. Keep the old process available for the first two weeks so no one is stuck. Collect questions in a single thread and update the policy text when the same question arrives twice. After the month, compare claim turnaround and the number of returned claims with the previous month, then widen the rollout to the next team.
Where KYN fits
KYN built receipts, claims and GST handling for a finance software startup, from nothing to production in six weeks on Google Cloud, and KYN's own claims run through a claims register with a named approver. Every system runs in a cloud account in the client's name. Named accounts, row-level security, every action logged with the actor, and money waits for a named person.
We spend the first 14 days collecting your claims policy, a sample of real receipts and the approvers' habits. A full build ships in under 90 days. See finance systems and integrations.
Frequently asked questions
Do staff need to install anything?
No. They use WhatsApp as they do today. The business number is the only new contact.
Can the agent reimburse employees directly?
We keep payment with a named person. The agent prepares the claim and the payment list. Release is a separate, logged decision.
What happens to receipts the agent cannot read?
It asks the sender for a clearer photo and marks the claim incomplete. If the second attempt also fails, it goes to a person with the reason attached.
Checked 30 October 2026.
Curious whether Marketing agents fits your business? Talk to KYN on WhatsApp — no forms, just a conversation.