Pick the TrxID, Amount, and Counterparty from Any bKash Screenshot
Manually typing the four fields from a bKash confirmation into a spreadsheet takes 90 seconds per receipt — this grabs them in 5 seconds, whether the screenshot is from the app or an SMS.
5-10s per screenshot · Up to 99% accuracy on printed text
What You Can Pick from a bKash Confirmation
A bKash receipt comes as an app confirmation screen or an SMS from a USSD transaction. With Custom Column Extraction, you name the fields and the AI finds them, regardless of language or layout.
A 10+ character alphanumeric code — the universal reconciliation key for Bangladeshi users. "Send me the TrxID" is the standard phrase for verifying a payment.
Formatted as Tk 1,500.00 in SMS or ৳1,500.50 in the app. The AI separates the amount from the Cash Out fee — a critical distinction.
A phone number (e.g. 01999999999) for Send Money, a merchant name for Payment, or an agent number for Cash Out. Labeled "প্রাপক" (Recipient) in Bengali mode.
Every bKash confirmation includes a timestamp in Bangladesh Standard Time (15/07/2025 11:00). The SMS format appends it at the end; the app screen places it at the top.
bKash Lives in Two Formats — Your Extraction Shouldn't Care Which
Bangladesh's largest mobile financial service operates across app screenshots and SMS receipts. The same four fields rearrange themselves between a visual confirmation screen and a plain text message — template-based tools designed for one format break on the other.
Why bKash Confusions Break Template Tools
Two entirely different receipt formats. The app produces a styled confirmation screen with icons and Bengali labels. USSD *247# produces a plain SMS. Template-based OCR tools trained on one format cannot parse the other.
Bengali and English labels mixed in the same screen. A field may read Amount on one user's phone and পরিমাণ on another's. Bengali numerals (০১২৩৪৫৬৭৮৯) may appear alongside Arabic numerals. Regex rules that depend on specific English keywords fail when labels switch language.
The Cash Out fee is a hidden derived value. When a user cashes out ৳5,000, they receive ৳4,930.50 after the agent fee. The SMS shows "Fee Tk 0.00" for some types, but for Cash Out the fee is deducted before the net amount is displayed. Developers parsing bKash SMS with regex routinely grab the wrong figure.
How Semantic Extraction Handles bKash
Format independence — app or SMS, it reads the meaning. The AI does not rely on visual layout. On an app screenshot, it finds the TrxID by scanning for the TrxID or লেনদেন আইডি label. On an SMS receipt, it reads the same code from the text. One column definition works for both formats.
Bilingual label recognition built in. Whether the label says "Amount", "পরিমাণ", or "Tk", the AI recognises it as the transaction amount. It reads Bengali script and Arabic numerals side by side. "প্রাপক" and "Recipient" are treated as semantically equivalent.
Fee-aware extraction for Cash Out transactions. The AI distinguishes the gross amount from the net received amount. "Cash Out" ৳5,000 is the gross request; the net amount after the Tk 13.95/1,000 fee lands in the "Amount" column. The AI adjusts based on the transaction type label on the screen.
"Within a few years, Bangladesh went from a cash-only economy to one of the world's most successful mobile banking stories. By 2023, bKash alone had over 60 million users. Let that sink in — 60 million people in a country where traditional bank accounts were once a luxury."
— Medium / Taka Alliance BD
From Mixed bKash Confirmations to One Clean Spreadsheet
Upload bKash Confirmations Together
You have a folder of bKash receipts from the past week: an app screenshot of a Send Money transaction to a supplier, an SMS confirmation from a Cash Out at the agent, and a Payment receipt from a utility bill. Two different formats, three different transaction types. Upload them all into one batch — JPG, PNG, or WebP screenshots. The language setting on each screenshot doesn't need to match.
Define Columns Once — TrxID, Amount, Counterparty, Date
Type the four columns you need. The AI reads each screenshot independently: it finds the TrxID as the alphanumeric transaction code, isolates the net amount (accounting for any Cash Out fee), identifies the counterparty whether it's a phone number or merchant name, and records the timestamp. A Bengali-mode screenshot with "পরিমাণ" labeling produces the same structured output as an English-mode one.
Get One Unified Table — No Sorting by Type or Format
Processing takes 5-10 seconds per screenshot. The output is one XLSX or CSV: three rows, four columns (TrxID, Amount, Counterparty, Date), one row per transaction. The Send Money app screenshot, the Cash Out SMS, and the Payment receipt all produced the same clean structure. Roughly 18x faster than opening each confirmation and copying the values by hand (~90s manual per receipt for 4 fields vs ~5s here).
What you get — across mixed bKash transaction types:
| TrxID | Amount (৳) | Counterparty | Date |
|---|---|---|---|
| AAN20A8HOI | 1,500.00 | 01999999999 | 23/06/25 |
| GH78KT901 | 4,930.50 | Priyo Agent | 09/09/25 |
| DY28XV679 | 500.00 | Desco Utility | 15/01/26 |
When It Works Best — and When to Be Cautious
Understanding the boundaries helps you get consistent results.
When It Works Best
Direct device screenshots of bKash app or SMS threads. Full-resolution screenshots achieve up to 99% accuracy. Machine-rendered text is high-contrast and clean.
Mixed transaction types in a single batch. Send Money, Cash Out, Payment, and Mobile Recharge screenshots can be uploaded together — no need to sort by type before processing.
Bulk historical reconciliation. Dozens of bKash confirmations produce a single sorted spreadsheet, ready for import into accounting software.
When to Be Cautious
Forwarded screenshots through messaging apps. WhatsApp and Messenger compress images. Forwarded bKash receipts may have reduced resolution affecting character-level accuracy, especially for long TrxID codes.
Architecture boundary: screenshot of receipt, not API access. This tool works with visual screenshots — the same receipts you forward to clients or save for records. It cannot pull data from the bKash server or parse SMS from the phone's message database.
Heavy image obscuration. If the TrxID or amount is partially covered by overlays, stickers, or editing marks, the AI may not read the complete value. Clean screenshots produce the best results.
Frequently Asked Questions
How does the AI distinguish between the sent amount and the Cash Out fee in a bKash screenshot?
In a Cash Out transaction, the screenshot shows two amounts: the amount you requested to withdraw (e.g. "Cash Out ৳5,000") and the amount you actually receive after the fee deduction. The AI reads the labels — the figure preceded by "Cash Out" or "Fee" is the charge, while the figure labeled "Amount received" or "নিট প্রাপ্তি" (net received) goes into the Amount column. The TrxID ties both to the same transaction, so you can cross-reference the fee against bKash's published rate of Tk 13.95 per thousand at Priyo agents.
Can the AI handle Bengali text mixed with English in the same bKash screenshot?
Yes. The AI reads both Bengali (পরিমাণ/Amount, প্রাপক/Recipient, লেনদেন আইডি/TrxID, তারিখ/Date, অবস্থা/Status) and English labels in the same image. It does not require the app to be set to a specific language. The TrxID, amount, and date are extracted regardless of which language the labels appear in. Bengali numerals (০১২৩৪৫৬৭৮৯) are also recognised when they appear alongside Arabic numerals on the same screen.
Can I process both bKash app screenshots and SMS confirmation screenshots in the same batch?
Yes. bKash users often have a mix: in-app confirmation screenshots from the bKash app and SMS receipts from USSD transactions dialed via *247#. The AI handles both input formats in a single batch. The app screen shows the TrxID in a labeled field, while the SMS embeds it in natural text. Define your columns once — TrxID, Amount, Counterparty, Date — and the AI finds them on either format.
What if the Cash Out fee is not explicitly shown on the screenshot?
Some bKash screenshots only display the net amount received after the fee deduction, without showing the fee amount separately. In this case, the AI extracts the net amount as the transaction value. If you need the fee amount for reconciliation, you can include a computed column in your setup — for example, define a column as "Cash Out Fee (5,000 × 1.395%)" and the AI will calculate it based on the gross amount visible on the screen.
What is a TrxID and why is it critical for Bangladeshi reconciliation?
The TrxID (Transaction ID) is a 10+ character alphanumeric code that bKash assigns to every transaction. It is the universal reference key in Bangladesh — used for payment verification, refunds, customer disputes, and accounting reconciliation. When a customer says "send me the TrxID", they mean the specific code that identifies a single transfer. Each TrxID is unique to one transaction, making it the most reliable field for deduplication and cross-referencing with bank records or order systems.
See all payment screenshot types supported by this tool, from Venmo and PayPal to bKash and M-Pesa: payment screenshots overview
Also from the Bangladesh mobile financial ecosystem: Nagad screenshot extraction · M-Pesa SMS extraction