AI fraud detection for voids and refunds on POS: catching ₫30–80M/month leaks
By Lo Team
Last updated:

AI fraud detection for voids and refunds on POS: catching ₫30–80M/month leaks
2026 benchmark: Median food cost across SEA QSR chains: 30–34% in 2026.
Why voids and refunds are the #1 internal fraud vector
In a Vietnamese F&B operation, the most common internal-fraud playbook is depressingly simple:
- Customer pays cash for a ₫200k bill
- Cashier rings it up, prints the receipt, takes the cash
- After the customer leaves, cashier voids the item or processes a "refund — order error"
- Drawer balances at end-of-shift (the void cancelled the sale)
- ₫200k cash goes into the cashier's pocket
Done 2–3 times per shift across a chain, this quietly drains 0.7–1.5% of revenue — consistently the largest internal-fraud category, ahead of inventory theft and time-clock fraud (multiple global F&B loss-prevention studies; matches what we see in Vietnamese chains too).
For a 3-outlet chain doing ₫3B/month, that's ₫21–45M per month disappearing. For 10 outlets, ₫70–150M.
And the worst part: owners typically discover it 6–18 months late, by accident, when a cashier quits or transfers and the pattern stops.
The 6 signals AI watches
An anomaly model trained on 90 days of your transactional data flags individual void/refund events that deviate from peer baselines on these signals:
- Void rate per cashier vs branch average (alert at 2σ above peer mean)
- Void timing — clusters of voids in the last 15 min of a shift, or right after customer leaves
- Void without manager approval (where policy requires it but the workflow was bypassed)
- Cash-only voids — voids on cash payments at ≥3x the rate of card/QR voids
- Same-item repeat voids — same SKU voided 5+ times by same cashier in a week
- Refund-to-original-sale time gap — refunds processed > 30 min after sale with no return
No single signal is fraud. The combination — say signals 1 + 4 + 6 firing on the same cashier 3 days in a row — has >90% precision in flagged investigations from chains we've seen.
What a real alert looks like
An owner's phone at 10:15 PM:
Loss-prevention alert — Branch 2, Tuesday Cashier: Nguyen V.A. (employee #034) Voids today: 7 (peer median: 1.5) 6/7 voids on cash payments; 5/7 in last 90 min of shift Estimated suspect amount: ₫1,640,000 Recommendation: review CCTV for 19:20, 19:55, 20:30, 20:48, 21:05 (voids ≥ ₫150k)
The owner now has timestamps to scrub on CCTV instead of watching 8 hours of footage.
Real case: 5-outlet hotpot chain
A hotpot chain (5 outlets, ₫4.8B/month) suspected fraud but couldn't prove it. Quarterly inventory variances were 2.1% of COGS but cash variances looked clean.
They enabled the void/refund anomaly module in their POS (no separate vendor, just a setting) in February.
First 30 days
- 14 cashiers flagged on at least one signal
- 3 cashiers flagged on ≥3 signals → CCTV review confirmed pattern fraud
- Estimated 90-day leakage: ₫112M (≈0.8% of revenue, matches industry benchmark)
- 3 terminations + 1 voluntary resignation after audit announcement
Months 2–6 (after intervention)
- Void rate chain-wide dropped 64%
- Cash variance turned positive (slight surplus, normal)
- Measured run-rate leak recovery: ~₫84M/month (≈80% of estimated baseline leak)
The owner's comment: "I was paying one full senior salary every month, to someone I'd fired."
What to do tomorrow, even without AI
If your POS doesn't have an anomaly module yet, you can run a manual version of the same logic:
- Export voids + refunds for the last 30 days, by cashier and by branch
- Compute per-cashier void rate = void count / total transactions
- Rank cashiers — anyone >2x the branch median, investigate
- Spot-check timing — pull CCTV for the top 3 cashiers on their highest-void days
- Tighten policy — require manager PIN for any void >₫100k
This manual loop catches the worst 60% of fraud. The remaining 40% — the careful operators who stay just under thresholds — is where AI's peer-baseline comparison earns its keep.
Why most owners delay this conversation
Loss-prevention tooling feels like distrusting your team. In practice the opposite is true: the honest 95% of staff hate working alongside the dishonest 5% because they get blamed for variances and missed bonuses.
Most owners who turn on void anomaly detection report higher team morale within 60 days, not lower. The bad actors leave quickly; the rest finally get a fair playing field.
Related reading
- AI demand forecasting for Tet and peak season in F&B
- AI fraud detection at the POS: voids, refunds, ghost orders
- AI loyalty segmentation that doubles repeat visits
Why this matters in 2026
Multi-outlet F&B operators across Vietnam and Southeast Asia are running into the same wall in 2026: aggregator commissions compress margins, food-cost drift compounds across outlets, labour cost climbs faster than ticket size, and a traditional POS only surfaces the damage at month-end when the only response left is firefighting. Operators who win in 2026 close the loop in hours, not weeks — variance flags before the next shift, demand forecasts before purchasing, daypart promos drafted automatically for slow slots, and a single morning brief instead of five dashboards. That is the bar this guide is written against, and the reason LOOP exists. The cost of a missed signal is no longer a single bad week — it is the difference between a chain that compounds outlet-level profitability and a chain that opens new outlets to mask the leaks at the old ones.
The SEA F&B operator landscape in 2026 also looks materially different from 2023. Aggregator commissions in Vietnam have settled in the 22–28% band; Thailand and the Philippines run higher, Singapore lower. Labour minimums have moved twice in eighteen months in Vietnam. E-invoice (TT78) is now non-negotiable and enforced. Loyalty has shifted from punch cards to messaging-native (Zalo OA, LINE, WhatsApp, Messenger) — and the chains that ride that shift are seeing repeat visits double inside ninety days. None of that lands as an upgrade on a legacy POS; it lands as a different operating model.
SEA benchmarks (2026)
- Median food cost across SEA QSR chains: 30–34% in 2026.
- Median labour cost across SEA F&B chains: 22–28% in 2026.
- Repeat-visit rate for loyalty-enabled cafés: 38–46% in 2026.
- Average ticket time for SEA QSR in peak: 6.8–9.2 minutes in 2026.
- Aggregator commission band in VN: 22–28% per order in 2026.
- AI demand forecast MAPE on LOOP cohorts: 14–22% per outlet in 2026.
- VAT e-invoice (TT78) compliance among LOOP outlets: 100% by 2026.
- Average POS uptime LOOP cohorts: 99.92% rolling-90-day in 2026.
Operator playbook — first 30 days on LOOP
Week 1 — Foundations. Import menu, recipes, modifiers, customers, loyalty balances and 24 months of sales via CSV. Connect aggregators (GrabFood, ShopeeFood, Be, foodpanda, Gojek). Configure e-invoice provider (MISA / Viettel / VNPT). Confirm payment rails (VietQR for VN; PromptPay / QRIS / DuitNow / PayNow / QR Ph for the rest of SEA). Train two staff per outlet on voice and text commands; the rest pick it up by observation in days 4–7.
Week 2 — Variance and forecast online. Switch demand forecasting on at daypart level. Set variance alert thresholds (default: food-cost ±3pp, labour ±2pp, void rate ±0.5pp). Let the system run a full week without intervention so the baseline calibrates. Review the morning brief each day; ignore the urge to override — by day 10 the forecast typically holds within MAPE 18% and stays there.
Week 3 — Promo and loyalty loop. Turn on daypart promo drafting for the two slowest hours per outlet. Connect Zalo OA / LINE / WhatsApp for delivery; start with a single segment (e.g. lapsed-30-day) and a single offer. Measure incremental visits, not coupon redemptions.
Week 4 — Compound. Roll the same flow to a second outlet, then a third. The operating model is the same at outlet 2 as outlet 20 — that is the point of LOOP.
KPI table — what to watch
| KPI | Target band 2026 | LOOP signal |
|---|---|---|
| Food cost % | 30–34% (QSR), 27–32% (café) | Variance alert within 6 hours of shift close |
| Labour cost % | 22–28% | Daypart staffing recommendation in morning brief |
| Repeat-visit rate (90d) | 38–46% (café), 28–36% (QSR) | Loyalty segment drafted weekly |
| Aggregator share of revenue | 18–32% | One queue across 5 aggregators; per-aggregator margin in dashboard |
| AI forecast MAPE per outlet | 14–22% | Recalibrates weekly per outlet |
| Ticket time (peak) | 6.8–9.2 min | KDS routing recommendation when over band |
| Void rate | <0.8% | Pattern-detection on staff/outlet/daypart |
Common pitfalls SEA operators hit in 2026
Treating aggregator orders as a separate business. Operators who keep five aggregator tablets running in parallel lose roughly 4–7 minutes per peak hour to context-switching alone, and miss the per-aggregator margin picture entirely. Unifying the queue (one tablet, one KDS, one accounting line per aggregator) is usually the single highest-leverage move in the first 60 days.
Letting variance live in spreadsheets. A weekly food-cost review is a 7-day reaction time on a 24-hour problem. Variance has to live in the operating layer — flagged, attributed and routed to the responsible manager within hours, not aggregated to a Friday email.
Loyalty as a punch card. A 2026 loyalty programme is a messaging channel with attribution. If the only metric is "points issued", the programme is a cost centre. If the metric is "incremental repeat visits per segment per month", it compounds.
Forecasting at the wrong resolution. Chain-level forecasts are wallpaper. Daypart-and-outlet is the smallest unit that pays back — coarser is too vague to act on, finer is noise.
How LOOP solves this
LOOP is an AI-native restaurant operating system built for SEA F&B chains. Operators run their venues by voice or text command instead of clicking through dashboards. AI forecasts demand per outlet at daypart resolution (MAPE 14–22% on LOOP cohorts), flags food-cost and labour variance within hours of the shift closing, drafts promos for slow daypart slots and pushes them to Zalo OA / LINE / WhatsApp, and delivers a three-item morning brief at 06:30 local time so the operator's first action of the day is informed. LOOP unifies GrabFood, ShopeeFood, Be, foodpanda and Gojek into one queue, supports VietQR / PromptPay / QRIS / DuitNow / PayNow / QR Ph, and ships VAT e-invoice (TT78) via MISA, Viettel and VNPT. Pairs with Peko loyalty (50% lifetime discount on LOOP for Peko customers).
Under the hood, LOOP is offline-first with a 90-second resync window so orders, payments and KDS keep firing through ISP drops; recipe-level COGS is computed at order time so every plate's contribution margin is visible before the shift ends; and the morning brief is generated from the previous day's variance, the current day's forecast and the next 14 days of bookings, weather and local events — not a static template. The result is fewer dashboards, faster decisions, and a noticeably calmer week for the operator.
Related guides
- LOOP blog — AI POS guides for SEA
- LOOP Smart POS
- Peko Rewards loyalty
- VeLoop delivery aggregator unification
- LOOP pricing
- Compare LOOP vs other POS
FAQ
How fast can a SEA F&B chain switch to LOOP?
Typical cutover for 2–10 outlets is 5–10 business days: CSV import of menu, recipes, customers, loyalty and 24 months of sales, parallel run over a weekend, then cut over Monday open. Larger chains (20+ outlets) usually phase by region over 4–6 weeks.
Does LOOP work without stable internet?
Yes — LOOP runs offline-first with a 90-second resync window. Orders, payments and KDS keep firing during ISP drops; the cloud reconciles automatically on reconnect. Aggregator orders queue locally and dispatch when the link returns.
What does LOOP cost?
Per-outlet monthly pricing with no per-device upcharge. Peko loyalty customers get 50% lifetime discount on LOOP — see /pricing for the current band.
Does LOOP support VAT e-invoice (TT78)?
Yes — LOOP integrates with MISA, Viettel and VNPT as e-invoice providers. Issuance is automatic at order close and reconciles end-of-day.
Which payment rails does LOOP support?
Native: VietQR, MoMo, ZaloPay, VNPay for Vietnam; PromptPay (TH), QRIS (ID), DuitNow (MY), PayNow (SG), QR Ph (PH). Card acquirers are wired through local PSPs per country.