Bank reconciliation

Tell what is unexplained from what is merely unmatched

Import a statement and match it against what you already hold.

The problem it solves

01

Two sets of figures

The books say one thing and the bank says another, and reconciling them takes a spreadsheet and an afternoon every month.

02

A guess treated as a match

A narration that looks like a client's name is not proof. Matching on keywords alone books money to the wrong invoice.

03

Payments entered twice

A payment typed in by hand and the same payment arriving on the statement become two records unless something links them.

What it does

upload_file

Import a statement

Statement rows matched to invoices and expenses

join_inner

Matching that proposes

Narration matching that proposes rather than assumes

help

Unexplained, not merely unmatched

What is genuinely unexplained, separated from what is merely unmatched

Who it is for

business

Companies and LLPs

Several bank accounts, including foreign-currency ones converted at the day's rate, and every import a batch that can be undone.

groups

Agencies, studios and firms

A client's single transfer spread across their oldest open invoices, with the TDS and retention they withheld recorded on each.

person

Freelancers and consultants

UPI, NEFT and card payments matched to invoices and costs, with the method and UTR taken from the statement itself.

storefront

Proprietors and small businesses

The statement the bank already provides, uploaded as a file, with no banking password shared with anyone.

How it works

01

From a statement file to a reconciled month

Statements arrive as CSV or Excel — the file your bank already gives you. Nothing here connects to a bank account, and nothing needs your banking credentials.

How a month gets reconciled
  1. 1
    ImportCSV or Excel
  2. 2
    ProposedMatched on amount, date, narration
  3. 3
    ReviewedYou confirm or reassign
  4. 4
    ReconciledWhat is left is the real question

An example, not live data.

02

Matching that proposes rather than assumes

A confident match on amount and reference reconciles itself. A narration that merely looks familiar is offered as a suggestion, because a keyword is not evidence and a wrong match is worse than none.

HDFC current account, August 2026
NEFT/ACME TEXTILES/IN202612/08/2026
+₹74,340Matched IN-2026-27-042
UPI/STUDIO RENT AUG14/08/2026
−₹35,000Suggested
POS/ONLINE PURCHASE18/08/2026
−₹4,500Unexplained

An example, not live data.

03

What is left is the question worth asking

Unexplained is a smaller and more useful number than unmatched: it is money that moved with nothing in the books to account for it.

The month, after matching
DateNarrationAmountMatched toConfidence
12/08/2026NEFT/ACME TEXTILES/IN2026+₹74,340IN-2026-27-042High
14/08/2026UPI/STUDIO RENT AUG−₹35,000Studio rent, AugustPartial
18/08/2026POS/ONLINE PURCHASE−₹4,500Nothing yetUnexplained

A high-confidence match reconciles itself; a keyword hit only proposes.

An example, not live data.

Everything it covers

check_circle

Importing

CSV, XLS and XLSX statements
Columns mapped with a preview of the first rows
The mapping remembered for that account and layout
Rows already imported skipped, never added twice
A report of rows added, skipped and unreadable
The bank's own balance from the statement
A whole import undone in one step
check_circle

Matching

Suggestions from amount, date and narration
Rules learned from corrections, matching on their own only after a second confirmation
Confirm one, confirm all, or choose a different record
One row split across several invoices or bills
A deposit spread oldest-first across a client's invoices, with TDS, retention or rounding on each
A row linked to a payment already entered by hand, never creating it again
check_circle

Posting

The payment recorded on the invoice, marked as reconciled
A new expense made from a bank row
Method — UPI, NEFT, cheque, card or cash — and UTR taken from the row
Exchange gain or loss on foreign-currency documents
Reversals recognised, and a sync undone
check_circle

Review

Filters for unmapped, ready and synced rows
Synced history with who synced each row and when
What nothing in the books explains, kept apart from what is merely unmatched
cancel

What it does not do

Nothing connects to a bank: statements are imported as files, and there is no live bank feed.
Refunds paid out to a customer are not matched yet.

Questions about bank reconciliation

Does it connect to my bank?

No, and it does not ask for banking credentials. Statements arrive as the CSV or Excel file your bank already gives you.

How does matching work?

A confident match on amount and reference reconciles itself. A narration that merely looks familiar is offered as a suggestion, because a keyword is not proof.

What is the difference between unmatched and unexplained?

Unexplained is the smaller and more useful number: money that nothing in your records accounts for, rather than everything a matcher has not got to yet.

Which account is being reconciled?

The one set as active in Settings. The ledger obeys that choice rather than asking on every screen.

What does it match a statement row against?

The invoices and expenses you already hold. Nothing is invented to make a row balance.

Start free. No card required.

1 project, 5 clients and 3 invoices a month.