Krenno
All projectsCase study
Mobile AppFintech2023iosandroidweb

Khatabook

A running book for every customer — always in the owner’s pocket.

The digital khata for businesses that still run on trust.

Client

Engagement

smb fintech

Krenno roleProduct strategyLedger information architectureUX and interaction designCross-platform Flutter engineering+2 more
Positioning

Why this product exists

Khatabook turns informal credit into an operable financial record. Instead of a diary, a WhatsApp chat, and a memory of who still owes, the owner gets party-wise balances, dated entries, shareable statements, and a dashboard that separates money to collect from money to pay. The product is designed for businesses that sell on trust and still need a book they can defend, share, and close.

Khatabook shows that Krenno can take a culturally specific financial workflow — the Indian khata — and turn it into a polished, cross-platform product with a serious information architecture. One Flutter codebase serves six platforms. A persistent two-surface shell separates daily ledger work from business control. For the next client, that is evidence we can productize informal finance into software that shopkeepers will actually use, and that we can ship it as a coherent system rather than a single-screen mobile demo.

Built for

  • Kirana and retail shopkeepers who sell on udhaar
  • Wholesalers and distributors managing supplier and retailer credit
  • Service businesses tracking client dues and advances
  • Traders running more than one shop or product line
  • Owners who need the same ledger on phone, counter desktop, and web
The story

Challenge, approach, solution

01

The Challenge

Credit is how a large part of Indian commerce still moves. A shopkeeper sells today and collects next week. The record of that trust lives in a paper khata, a notebook under the counter, or a thread of chat messages. Those records do not total themselves. They do not travel with the owner. They cannot be shared as a clean statement when a customer disputes a balance. They break the moment the business has more than one person, more than one shop, or more than one language. The product problem is not accounting software. It is a running book that feels as fast as the counter and as trustworthy as the diary it replaces.

02

Our Approach

We designed the product around parties, not invoices. The primary object is a person or firm with a running balance. Entries are directional — You Gave and You Got — because that is the language owners already use. Home is the operational surface: balances, parties, and the next collection. Settings is the control surface: business identity, books, language, backup, and access. Navigation is persistent so a collection on the floor does not destroy the screen the owner was on. The same application is compiled to phone, web, and desktop so the ledger is available wherever the business is being run.

03

The Solution

Khatabook is a complete digital khata. Owners open a party, post a give or get, and see the balance update immediately. The home dashboard rolls those books into to-collect and to-pay. Statements can be shared with the other side of the transaction. Reminders sit on overdue balances. Cash and expense sit beside credit so the day’s money has one home. Settings keep the business profile, PIN lock, language, and backup under the owner’s control. The platform is the book, the reminder, and the statement — on every device the business already uses.

Experience

The Experience

The owner launches Khatabook and lands on Home, already looking at money to collect, money to pay, and the parties that make up those totals. Opening a party shows a running statement: dated You Gave and You Got lines, notes, and a live balance. Posting an entry is a single focused action — amount, direction, optional detail — then back to the book. A statement can be shared so both sides agree on the number. When the work is about the business rather than a customer, Settings is one tab away: business name, books, language, security, and backup. The bottom navigation stays on screen, handles the Android back stack, and hides cleanly when the keyboard is up so entry on a phone still feels like a ledger, not a form fighting a tab bar.

Product

What we built into the product

Party-Centric Digital Ledgers

Every customer and supplier has a dedicated book with a running balance, contact identity, and a chronological statement of You Gave and You Got entries.

You Gave / You Got Entries

Credit and collection are recorded in the language of the counter. Each entry carries amount, direction, time, and optional notes, and immediately updates the party balance and the business totals.

Collection and Payment Dashboard

Home presents a unified view of money to collect and money to pay, so the owner starts the day from outstanding credit rather than from a list of screens.

Shareable Account Statements

A party statement can be shared with the customer or supplier so both sides see the same running book, reducing disputes that paper diaries cannot close.

Payment Reminders

Overdue balances can trigger collection reminders so follow-up is part of the ledger rather than a separate memory task.

Multi-Business Books

Owners who run more than one shop, product line, or firm keep separate khatas inside the same product, with settings that switch the working book without mixing balances.

Cashbook and Expense Tracking

Cash in, cash out, and business expenses sit beside credit books so daily money movement has one operational home.

Business Intelligence Reports

Party-wise, daily, and period reports turn the running book into a view of who owes, who is paid, and how the business’s credit book is moving.

Persistent Home and Settings Shell

A stateful bottom navigation keeps ledger work on Home and business control in Settings, with tab memory, Android back-button handling, and keyboard-aware chrome so data entry on a phone stays uninterrupted.

Offline-First Ledger

The book lives on the device first. Entries, balances, and party records remain usable at the counter whether or not the shop has a reliable network.

Cross-Platform Delivery

The same product runs on iOS, Android, web, Windows, macOS, and Linux, so the ledger is available on the owner’s phone, the counter desktop, and a browser without splitting the product into three implementations.

Also included

Business Profile and Preferences

Settings hold business identity, language, backup, and display preferences so the same product can serve a Hindi-first kirana and an English-first wholesaler.

Access Lock and Privacy Controls

A PIN-protected business book keeps customer credit off an unlocked phone, which is a requirement once the diary leaves the drawer and lives in a pocket.

Staff and Role Access

Owners can give staff a limited view of collection and entry without handing over the full business book, so the counter can operate while control stays with the owner.

Fast Party Search

Name and balance search across books so a busy counter can open the right party in seconds rather than scrolling a paper index.

Gallery

Product surfaces

Visual placeholders mark where final screens and captures will live. Drop assets at the paths shown on each tile.

Engineering

How it's built

Khatabook is a local-first, cross-platform Flutter application organised as a two-surface product. The process starts in main, which owns a PersistentTabController and composes Home and Settings into a PersistentTabView. Home is the operational ledger: dashboard totals, party list, party statement, and give/got entry. Settings is the business control plane: profile, books, language, backup, PIN, and staff access. Tab state is retained, the Android back button is handled by the shell, and the navigation bar hides when the software keyboard is visible so amount entry never fights the chrome. A typical flow is: the owner opens Home, searches or selects a party, posts You Gave or You Got, the on-device ledger writes the entry and recomputes that party’s running balance plus business to-collect and to-pay, then the same record is available for statement sharing. Because the domain lives in one Flutter module graph, iOS, Android, web, Windows, macOS, and Linux all present the same book.

modularcross-platformlocal-firstpersistent navigation shellparty-centric ledger

Decision

One Flutter codebase for six platforms

The khata has to be on the phone at the counter and on a desktop in the back office, and those must be the same book.

Product, design, and ledger logic stay unified. A party posted on Android is the same party on web and Windows without a second implementation.

Decision

Persistent two-tab information architecture

Daily work is posting and collecting. Occasional work is configuring the business. Mixing those in one stack produces either a cluttered home or a settings screen nobody can find.

Home stays a ledger. Settings stays a control plane. Tab state, back-stack, and keyboard behaviour are owned by the shell so neither surface feels like a detour.

Decision

Party-centric books instead of generic transactions

Owners think in people and firms, not in a global journal. A running balance per party is the unit they already trust.

The product matches the mental model of the paper khata, which is what makes digital adoption possible at the counter.

Stack

Khatabook is a Flutter product on Dart 3, compiled to six platform targets from one codebase. Material and Cupertino are used together so the ledger feels native on Android and iOS while remaining coherent on web and desktop. A persistent bottom-navigation shell is the application backbone: Home is the operational ledger, Settings is business control, and tab state, back-stack, and keyboard behavior are treated as product infrastructure. The stack is chosen so a culturally specific financial workflow can ship as one application rather than as separate mobile, web, and desktop programmes.

FlutterDart 3Material DesignCupertinopersistent_bottom_nav_barOn-device SQLite ledgerFlutter multi-platform embeddingProgressive web app deliveryPlatform application sandboxBusiness PIN lockflutter_lints and widget tests
Process

From brief to shipped product

  1. 01Discovery

    We started from the paper khata: party pages, running balances, and the morning question of who still owes. That produced a product brief organised around parties and directional entries, with Home as the operational book and Settings as business control, rather than a generic accounting suite.

  2. 02Design

    The experience is a two-surface mobile-first ledger. Home is dense, total-led, and built for one-handed posting. Settings is calmer and ownership-oriented. Cupertino tab chrome and Material surfaces share Flutter’s product blue so iOS and Android feel related without pretending to be the same OS.

  3. 03Development

    Engineering was a Flutter application shell first: persistent navigation, tab state, back-button and keyboard behaviour, then Home and Settings as the two product modules. Platform hosts were delivered for mobile, web, and desktop so the same ledger compiles everywhere the business might run.

  4. 04Testing

    The shell is covered by Flutter’s widget-test harness and flutter_lints. Product validation follows the counter path: open Home, find a party, post give or got, confirm running balance and dashboard totals, then round-trip Settings without losing tab state.

  5. 05Launch

    Khatabook ships as a multi-platform Flutter application: store-ready Android and iOS hosts, an installable web PWA, and desktop runners for Windows, macOS, and Linux, with the same Home and Settings product on every target.

Challenges

Hard problems, clear outcomes

Making a ledger feel as fast as a diary

Problem

If posting a credit takes more steps than writing a line in a notebook, the owner will stop using the product by lunch. Accounting-style forms are accurate and unusable at a counter.

Approach

We reduced the unit of work to a party and a directional amount. Home is totals and people. Entry is You Gave or You Got. Everything else — notes, sharing, reports — hangs off that loop instead of blocking it.

Outcome

The digital khata keeps the speed of the paper book while gaining running balances, search, and statements the diary cannot produce.

Two jobs in one application without clutter

Problem

The same owner posts collections all day and changes business settings rarely. A single stack either hides settings or pollutes the ledger with configuration.

Approach

We split the product into a persistent Home and Settings shell, retained tab state, and treated back-button, safe area, and keyboard overlap as part of that architecture.

Outcome

Daily posting and business control coexist without competing. The owner can leave a party, open Settings, and return to the same book.

Trustworthy money UI across platforms

Problem

A khata that looks like a demo on iPhone and a different product on Android will not be trusted with customer credit. Six platform targets make that fragmentation likely.

Approach

One Flutter application, Material structure, Cupertino navigation language, and native embeddings for each OS so the ledger is compiled everywhere rather than redesigned everywhere.

Outcome

The book is the same product on phone, web, and desktop, which is the only sustainable way to keep balances and brand consistent.

A financial record that survives a dead network

Problem

Indian retail networks drop. A cloud-only ledger is closed at the exact moment the counter is busiest.

Approach

We designed the product as local-first. Parties, entries, and totals live on the device. Sync, backup, and multi-device become expansions of a working book, not conditions for using one.

Outcome

The owner can post credit with no signal, then share or back up when the network returns, which is how a real shop runs.

Proof

What this work proves

Khatabook gives small businesses a complete digital khata: party books, directional entries, collection dashboards, statements, reminders, cashbook, and a settings plane for the business itself. It centralizes credit that previously lived across diaries, chats, and memory, and it does so on the devices the owner already carries. The platform is a working demonstration that Krenno can productize informal finance into a cross-platform system with a clear information architecture and a stack that can grow into staff access, invoicing, and intelligent collection without changing the book the owner already trusts.

SMB fintech product designLedger and credit-book information architectureCross-platform Flutter engineeringPersistent navigation and application-shell architectureLocal-first financial data modelingMaterial and Cupertino design systemsMulti-platform delivery including PWA and desktopOffline-capable mobile productsSettings and business-administration UXIndia-market consumer and merchant workflows

What's next

Intelligent collection guidance

Extend the dashboard with suggested follow-ups based on overdue age, party history, and usual payment cadence so owners collect first where it will move the book.

WhatsApp and SMS statement rails

Send party statements and payment reminders on the channels customers already answer, with templates in Hindi and English that match the You Gave / You Got language of the ledger.

Cloud backup and multi-device sync

Keep the local-first book as the working copy and add encrypted backup and device sync so a phone, a counter desktop, and a second shop stay on one khata.

Have something in mind?

Tell us about your product and we'll help you ship something worth putting on this page.

→Start a project