Verify transfer slips automatically, right on your payment page
Yes, you can verify transfer slips automatically. When a customer attaches a slip on the BillsOS payment page, the system reads the verification QR on the slip to extract the transaction reference (transRef) and checks it against BillsOS's ledger of bank-verified slips — so a reused or forwarded slip is flagged instantly, and it also checks the slip is structurally a genuine Thai bank slip. This layer is free on every plan. For the ironclad confirmation that money truly arrived, the Pro plan verifies the transaction against the bank network, confirms the amount matches the invoice and that the money reached the seller's own PromptPay, then marks the invoice Paid automatically when it can fully confirm the receiving account — and when the bank masks the account too heavily to confirm, it shows a "bank-verified" result you approve with one tap.
The key is to separate "the slip is genuine and not reused" from "the money has actually arrived" — they are not the same thing. Reading the slip QR proves the slip is structurally real and has not been re-submitted, but it does not by itself mean the funds reached your account. The only ironclad confirmation is the bank-network check, which is a Pro capability.
By the BillsOS team · Updated 10 Jun 2026
Looking to check a slip by hand, step by step? See the manual guide on how to verify a transfer slip. This page covers the "let software verify it automatically" side instead.
How BillsOS automatic slip verification works (two layers)
We built it in two layers because the "slip problem" is really two different problems: slips that are reused or forwarded, and slips that claim payment when no money actually landed.
Layer 1 — free on every plan: catch reused slips + check slip structure
When a customer attaches a slip on a bill’s payment page, BillsOS reads the verification QR on the slip (most Thai bank slips carry one) to extract the "transaction reference" — the transRef — and compares it against BillsOS’s ledger of bank-verified slips. If that reference was already used on another bill, the slip is reused or forwarded, and the system flags it immediately. (The ledger is built from slips confirmed against the bank, so the more bank-verified slips flow through, the sharper reuse detection gets.)
- Catches "reused slips" — a genuine slip from one transaction re-used to claim several orders
- Checks the slip is structurally a real Thai bank slip, not a random image whose QR cannot be read
- Runs on every bill automatically — no setup, no extra cost
Honest scope: this layer proves the slip is genuine and not yet seen in the system, but it does NOT confirm money reached your account — reading the QR does not connect to the real balance in your bank.
Layer 2 — Pro plan: confirm with the bank network that money actually landed
On Pro, BillsOS verifies the payment against the bank network via a licensed verification service, checking three things at once: (1) the transaction genuinely exists in the banking system, (2) the amount matches the invoice, and (3) the money reached the seller’s own PromptPay. When the receiving account can be fully confirmed, the bill is marked Paid automatically in real time; when the bank masks the account too heavily to confirm, it shows a "bank-verified" result you approve with one tap — either way, no opening your banking app to reconcile by hand.
- Confirms "money actually arrived", not just "slip is real" — closes the gap where a slip claims a payment that never happened
- Checks the amount matches the bill, catching under- and over-payments
- Auto-sets Paid when the receiving account is fully confirmed (one tap otherwise), cutting manual reconciliation
The honest ceiling: what it can and cannot guarantee
We say this plainly, because money is no place for overclaiming. No tool can "block fake slips 100%". Here is what each layer genuinely does.
| Read slip QR (free, all plans) | Bank-network check (Pro) | |
|---|---|---|
| Catches reused slips | Yes | Yes |
| Knows it is a real bank slip | Yes | Yes |
| Confirms money actually arrived | Not by itself | Yes |
| Auto-marks the invoice Paid | No | Auto when the account is fully confirmed; one tap otherwise |
In short: reading the QR alone proves the slip is genuine and not reused, but it does not prove the funds cleared into your account. If you want maximum certainty that money truly arrived before you ship goods or hand over work, the bank-network check on Pro is the most decisive answer.
Why slips get faked in the first place
Faking is easy because a slip is just an image the customer hands you to look at — not a deposit confirmation coming straight from the bank. The two most common forms are.
- Edited screenshots — the amount, name or time are altered to look paid; AI makes these even more convincing
- Reused slips — a genuine slip from a past payment, forwarded to claim a new order
BillsOS’s reused-slip layer handles the second case well, and for free. For the first case (edited images), as long as the QR still reads a genuine reference, the Pro bank-network check is the gate that decides whether the money truly arrived for the right amount.
What a seller and a buyer should do
If you are the seller
- Issue bills with an exact-amount PromptPay QR so the buyer never types the wrong figure
- Let the free reused-slip check run on every bill, and turn on Pro if you want automatic confirmation that money landed
- For high-value items or instant delivery, always wait for "money actually in" before handing over
If you are the buyer
- Scan the exact-amount PromptPay QR and pay the figure shown — no typing, fewer mistakes
- Attach the slip from your own banking app (with its verification QR), not a forwarded image
Because BillsOS already generates an exact-amount PromptPay QR matched to each bill, wrong-amount transfers are far less likely from the start — which makes both reused-slip detection and the bank-network amount check more reliable.
See also: Get paid with an exact-amount PromptPay QR · How to check a slip by hand
Start using automatic slip verification with BillsOS
Every bill issued through BillsOS comes with free reused-slip detection, and when a customer attaches a slip on the payment page the check runs automatically. To add bank-network confirmation that the exact amount landed and have invoices marked Paid automatically (one tap when the bank masks the account), upgrade to the Pro plan.
Start issuing bills + exact-amount PromptPay QR with free reused-slip detection on every plan; upgrade to Pro for automatic deposit confirmation.
References / Sources
- Primary — Bank of Thailand: PromptPay and digital payments — bot.or.th
- Secondary — Kasikornbank: slip verification (K PLUS Verified Slip) — kasikornbank.com
- Secondary — Krungthai Bank: verifying real vs fake slips by scanning the slip QR — krungthai.com
Information as reviewed on 10 Jun 2026. Plan features and capabilities may change, and QR/slip formats differ by bank.