The money landed. Your books already know.

ABA, Prassac, ACLEDA and Canadia already post every KHQR and transfer into a Telegram group. BasilBook reads those alerts as they arrive, matches each one to the sale it paid for, and moves that money from the cash drawer to the bank in your ledger — so the bank balance ties to deposits you can actually see.

Bank receipt capture is a Professional feature.

What comes across

Every payment alert, as a receipt you can match

One bot in the group your bank already uses, and deposits stop living only in a chat history.

Each payment, structured

Payer, amount, currency, time and the bank's own reference, read from the alert the moment it is posted. A re-forwarded alert carries the same reference, so it never doubles up.

One feed per account

Two ABA accounts and an ACLEDA one are three labelled feeds — “ABA — Main account” — so every receipt says which account it landed in.

Matched to the sale it paid

Auto-match pairs each receipt with a QR sale of the same amount and currency. Time and payer name raise the confidence; a sale more than two hours away is shown as distant rather than guessed. A KHR payment for a USD bill pairs through your exchange rate.

Split and partial payments

Two transfers for one table, or a transfer that covers only part of a bill, are allocated as they really happened. What is still unpaid stays visible on the sale.

Setup

One bot, one group, one test payment

You need an owner or manager role in BasilBook, and to be an admin of the Telegram group your bank posts into.

  1. 1

    Add @BasilBook_Bank_bot to the group

    The group where your bank's bot already posts payment alerts. Make it an admin — Telegram hides other bots' messages from a bot that is not.

  2. 2

    Send /chatid in the group

    After making the bot admin, not before: promoting it can upgrade the group and change its ID. The bot replies with the ID to register.

  3. 3

    Register the feed in BasilBook

    Settings → Integrations → bank receipt feeds. Name the feed after the account, detect the group, and test the connection.

  4. 4

    Make a small KHQR payment

    Within seconds it appears under Reconciliation → Bank receipts, ready to match.

Real time

No schedule to set — the bank pushes

A POS sync goes and fetches; this does not need to. Each alert arrives the moment your bank posts it, so the receipts are waiting before you open the day. If your bank or processor can call a URL, a direct webhook skips Telegram altogether. And when an alert never comes — the bot was removed, the bank had an outage — you record it by hand from the bank's SMS or app, badged so it is never mistaken for something the bank sent.

ABAPrassacACLEDACanadiaDirect webhookEntered by hand

What it does to your books

Cash on hand becomes cash at bank

A QR sale is money you have not seen yet. A matched receipt is the moment it arrives.

The deposit, posted when you confirm

A QR sale books to Cash on Hand. Confirming its receipt posts Dr Cash at Bank / Cr Cash on Hand — the money moves to the bank, and revenue is never counted twice.

Customer invoices, settled from the deposit

A transfer that pays an open invoice settles it straight from the receipt, so accounts receivable clears against money that actually arrived.

Everything else, posted where it belongs

A refund, an owner top-up, a supplier paying you back — a receipt that is not a sale posts to the account you choose, with the receipt as its record.

Questions

The things people ask first

Which banks does it read?

ABA, Prassac, ACLEDA and Canadia, each parsed from the alerts those banks really send. Another bank can come in through a direct webhook if it can call a URL, or be entered by hand in the meantime.

Does BasilBook get access to my bank account?

No. It reads only the notifications your bank already posts into a Telegram group you control. It holds no bank login and cannot move money.

Does it post to my books on its own?

No. Auto-match proposes which sale each receipt belongs to; nothing reaches the ledger until you confirm the match.

Why does auto-match only look at QR sales?

Because a bank alert is a KHQR or transfer notification. A card sale already went to the bank, and delivery platforms pay out on their own schedule. You can still settle any other non-delivery sale from a receipt by hand.

Can I see today's takings without opening BasilBook?

Yes. Send /total in the group for what was received against what was sold, and the gap — for today, yesterday, this week, this month, a date or a range. In a bank feed group it answers for that bank alone.

Is it on the free plan?

No. Bank receipt capture and matching are Professional, at $39.99 a month or $399 a year per location. The daily reconciliation session itself is free.

Capture your first bank receipt

One bot in the group your bank already uses, and every deposit has a sale to answer to.