
Sales, purchases, expenses, dues (বাকি খাতা), cash book, stock, monthly closing, partner splits — one append-only ledger that works offline and syncs when signal returns.
How it works
Ring up a sale, add a purchase, note an expense. Instant local write. Dashboard updates immediately from the derived ledger.
PowerSync uploads the queued transactions to your Postgres backend. Validated server-side against tenant + shop scope, then streamed back to every device you own.
Daily report, cash book, stock + margin, partner distribution, monthly closing — every number computed from immutable transactions, never edited in place.
Why Takvaro
TallyKhata, HishabPati, Baki Khata, Baki.bd — none ship named roles, per-shop scoping, partner-profit visibility, or personal/business separation. Takvaro does.
Every sale, purchase, expense is immutable. Corrections are reversing entries. One source of truth — no more disagreeing Net Profit rows in the sheet.
Log a sale with zero signal. Local SQLite is the source of truth on-device; PowerSync uploads when connectivity returns.
No interest (সুদ), no late fees on dues. Partner splits compute on real COGS-based profit with integer basis-point shares.
One business, many shops. Owner, Admin, Employee, Partner — each sees only what their role allows. Employees never even receive purchase rows.
What's inside
Multi-line transactions with discounts, VAT, delivery. Expenses split into Rent / Utility / Salary / Conveyance / Others + custom categories.
Track receivable and payable per party. Record payments against dues. Reversal flow for mistaken entries — never destructive.
Live cash balance derived from opening + cash-in − cash-out − expenses + received. Per-day opening/closing that reconciles to the ledger.
Purchased vs sold, current stock, weighted-average cost, stock value, revenue, per-product margin %. Oversold rows flagged red.
Per-day Sales / COGS / Gross / Expense / Net with month picker + custom range. Bento dashboard with 4 charts: sales trend, profit vs expense, top products, cash flow.
Integer basis-point shares (2500 = 25%). Per-partner amount on real profit, no float drift, no ambiguity in the split.
Business → shops → per-shop memberships. A user can be Owner of one shop and Employee of another. Capability matrix editable by super-admin.
Close a month, freeze back-dated writes, auto-close past months. June opening always equals May closing. Reopen when needed (gated capability).
Hind Siliguri bundled offline, tabular numerals for money columns, full localization toggle. Bengali market first, English second.
Money math you can trust
Every taka is stored as an integer number of poisha (1 taka = 100 poisha). Quantities are scaled integers too. No 9770.055787 ghosts on your balance sheet — the class of bug that made the source Excel report two different Net Profits is structurally impossible here.
{
"type": "sale",
"qty_scaled": 694, // 0.694 kg × 1000
"unit_price_poisha": 8500, // ৳85.00/kg
"line_total_poisha": 5899, // = 85 × 0.694 → ৳58.99
"reverses_txn_id": null,
"device_id": "phone-a",
"txn_date": "2026-07-03"
}Stock, dues, COGS, profit, partner split — all derived from rows like this. Nothing is edited in place; corrections write a reversing entry.
No interest, no late-fee mechanic on dues, no hidden auto-charges. Partner profit is split on real COGS-based profitby prior agreement, using integer basis-point shares so the math is exact and transparent. Your customers' records are an আমানত — daily off-site backups and restore drills, not marketing copy.
Every request over TLS 1.3. Postgres Row-Level Security enforces tenant + shop scoping — a stray query cannot leak.
PowerSync buckets per role. Employees never receive purchase rows; partners get only the server aggregate. Profit is structurally hidden.
Short-lived RS256 access tokens, rotating refresh with reuse-detection, jti denylist for instant revoke. Rate-limited login flood.
Owner on tablet. Employee on old Android. Partner on their own phone getting only the aggregate. Every device pulls its own role-scoped slice and stays in sync — offline writes queue safely and merge as independent appends when connectivity returns.
Questions
Yes. Every screen reads and writes to a local SQLite database first — nothing waits on the network. PowerSync maintains a persistent upload queue and streams changes back when connectivity returns. Log a full day of sales with the SIM off; it will all sync when you come back online.
Structurally. Each role gets its own PowerSync bucket. Employees receive sales, dues, expenses, cash, products, parties — but never purchase rows. Because cost data never reaches their device, profit is not just hidden in the UI, it is genuinely absent from the local database. Partners get only the server-aggregated summary and their own split.
Yes. Your Takvaro account maps to a business; each shop is a membership under it. Switch shops from the top bar; every screen is scoped to the active shop. Cross-shop routing is enforced by Row-Level Security on the backend — a stray query cannot leak another shop's data.
On your device (local SQLite) and on Shakvaro's managed Postgres, encrypted in transit over TLS 1.3. Access is scoped by tenant and shop; only accounts you invite can see a shop's data. Daily backups with periodic restore drills. You can delete your account and its records any time from Settings → Delete account.
No, by design. Dues are recorded as they are; there is no configuration for interest or late fees. Partner profit is split on real COGS-based profit with integer basis-point shares by prior agreement. This keeps the product cleanly halal.
Android 8.0 (API 26) and above. Bilingual Bangla and English, with Hind Siliguri bundled offline so Bengali renders cleanly on any device. iOS is on the roadmap.

Android · v1.1.0 · বাংলা / EN · By Shakvaro
Takvaro launches soon on Google Play. Reach out and we'll let you know.