Self-hosted · Built for India

The ledger that writes itself.

FinOS reads your bank SMS, statement emails and uploads, reconciles them against each other, and keeps one honest record of your spend, bills and net worth — on your own server, for how money actually moves in India.

Demo credentials ↓

No manual entry · No ads · No third-party aggregator

Incoming · SMS · HDFC Bank

Rs.649.00 debited from a/c **3417 on 09-07-26 to VPA netflix.upi@hdfcbank (UPI Ref No 519032417846). Not you? Call 18002586161.

Parsed — amount, account, merchant extracted

Matched — also in the email statement · kept as one entry

Categorized — rules first, LLM only if needed

In your ledger

Netflix

−₹649.00

SubscriptionsHDFC ••3417 monthly · next due 9 Aug

Verified against 2 sources — no double count

3

ingestion channels

SMS, email, statements

12

asset classes tracked

banks to gold to EPF

5+

bank formats parsed

each with its own quirks

1

honest number

reconciled, not estimated

What it does

Every rupee, captured and explained.

SMS + email ingestion

Bank SMS alerts and statement emails (Gmail) are parsed automatically the moment they arrive — no manual entry.

Statement parsing, every bank

Upload PDF/CSV/XLSX statements from HDFC, Axis, Kotak, Scapia and more — a parser per bank handles each format and password scheme.

Auto-categorization

Rule engine + an LLM fallback categorize every transaction, looping until nothing's left uncategorized — while your manual overrides are never touched.

Recurring & bills detection

Subscriptions, EMIs and card statements are detected from transaction patterns and tracked to due dates automatically.

Net worth, every asset class

Banks, credit cards, stocks, mutual funds, US stocks, PPF, NPS, EPF and gold — one number, one trend line.

Real reconciliation

A dedicated tool bridges your tracked numbers against actual bank statements and flags gaps — not just a spend chart that hopes it's right.

Why not just use a budgeting app?

The differences that matter.

Multi-source, not single-source

Most Indian expense apps read SMS only. FinOS merges SMS, email statements, and manual uploads for the same account, deduplicating across all three — so a transaction is never double-counted just because it showed up twice.

Self-hosted, not ad-funded

It runs on its own VPS, not a shared multi-tenant SaaS. Your bank details never sit in a third party's growth-analytics pipeline.

Your categorization is sacred

Once you correct a category by hand, automation never overwrites it again — a rule that's enforced in code, not just a UI convention.

Built for India's fragmented stack

One account can span Axis, HDFC, Kotak, Scapia, Groww, Zerodha, IndMoney, PPF, NPS and EPF. FinOS treats that as the normal case, not an edge case.

Roadmap

Where it's headed.

v1

Spend Visibility

Shipped

Ingestion (SMS, email, statements), categorization, transactions, spend analysis, bills.

v2

Net Worth & Investments

Shipped

Holdings across every asset class, valuation trends, net-worth breakdown, bank reconciliation.

v3

FinOS Agents

Planned

Natural-language SQL queries, a spending-leak detector, goal tracking, and a monthly financial-advisor summary.

v4

Mobile — Kotlin Multiplatform

In progress

Native Android is live; a shared Compose Multiplatform core is being extended to iOS.

Try it now

Open the demo passbook.

A sandboxed account seeded with realistic (entirely fake) transactions, bills and investments. Poke at everything — it resets itself every night.

Demo access · resets nightly at 01:30 UTC