FinMan removes manual data entry from personal and family finance. Its AI imports statements from any bank with no per-bank parsers, and a Telegram/WhatsApp bot reads utility meters and fuel receipts straight from photos, then tracks your real car cost-per-km. You also get expense tags with auto-rules, bulk editing, an assets page, multi-currency analytics with daily rates, family groups and landlord/tenant mode. Core features are free, in 20+ languages.
Hi hunters! 👋
FinMan wasn't built as a startup — I built it for myself, because every finance app I tried demanded too much typing. The first version was Perl + plain HTML (yes, really). Over the years one principle shaped everything: if input isn't automatic, the habit dies.
So today FinMan works like this:
🏦 Pay by card → the expense appears instantly via a bank webhook, already categorized
📄 Any bank statement → AI recognizes the structure, even for a bank it has never seen — no per-bank parsers
📸 Utility meters → send a photo to the Telegram/WhatsApp bot; AI reads the digits, detects the service, applies your tariff
⛽ Car costs → photo of a fuel receipt + odometer = real cost per kilometer (fuel / repairs / maintenance separated)
💱 Multi-currency → every payment keeps its exchange rate, so analytics stay honest when your local currency moves
👨👩👧 Family groups & tenant mode → shared budgets with roles; your tenant submits meter photos themselves
Core features are free — the tool was born free, and I still test every feature on my own family's finances first.
The full story (from Perl script to 20+ languages): https://finman.vhworx.com/story
Try the bot right now: https://t.me/vikFinManBot or https://wa.me/4367764801396
I'd love your feedback — especially on what manual routine you'd want automated next. 🙏
Report
How does the AI actually pull data from banks without per-bank parsers, and is that approach secure enough for sharing statement access?
Report
Maker
@sevdacantekin That's actually the core idea. I started out writing one parser per bank, and after enough of them I realized it doesn't scale — so I built a system that writes the parser itself for a format it's never seen; that's what makes "any bank" work. On security: the data is processed de-identified — the parser only ever returns rows of {date, description, amount}, nothing else. Even if a statement contained other personal details, the parser can't pass them through; the output data structure simply has no place for them.
Report
How does the AI handle receipts or statements in a language it wasnt trained heavily on, like say Armenian or Khmer? Wondering how reliable the extraction really gets for less common scripts before I trust it with my numbers.
Report
Maker
@beyzanur7jzw Honest answer: I can only vouch for what I've actually tested — I ran it across 7 banks, but the statements were English and Ukrainian, and the AI handled both cleanly. I haven't personally verified something like Armenian or Khmer, so I won't overpromise. It reads the structure of a statement (date / description / amount), not just the words, so uncommon scripts have a real shot — but the honest way to know is to just try it on one real statement before trusting it with everything. Would love to hear how it goes if you try it.
Report
How does the AI actually handle statements from banks that only provide scanned PDFs instead of proper transaction exports, and is that included in the free tier or locked behind a paid plan?
Report
Maker
@yeim1746457 Hi Yeşim, great question! I spent a lot of time testing and selecting the best model for statement recognition. Honestly, I haven't come across scanned statements yet in practice, but I don't expect that to be a problem — PDFs are processed through OCR, so scanned documents should be handled the same way. And yes, statement recognition is included in the free plan.
Report
Really like the meter-reading bot idea, that feels genuinely useful for splitting utilities fairly. One thing I'd love to see is a simple cash flow forecast that pulls in upcoming subscriptions and recurring bills from the parsed statements, so I can see if the next month actually balances out before it happens.
Report
Maker
@sla919522062231 Thanks Sıla — and glad the meter-reading bot clicked; splitting utilities fairly was the exact itch that started it.
The cash-flow forecast is a great call, and it's very doable because the pieces are already there. Recurring bills and subscriptions show up as repeating transactions in the parsed statements, so once there's about a month of history in a category, FinMan can project next month from it — basically "here's what's already committed before you spend anything."
I'm weighing two directions: a lightweight "upcoming payments" view that just lists what recurs next month (rent, subscriptions, insurance) with a running total, or a per-category "recurring" flag that feeds a simple next-month projection. Either way I'd keep it as its own panel you can glance at, rather than bolting numbers onto every screen — I don't want to clutter the main view.
You also sparked an idea: a lot of recurring spend never touches a bank statement — cash things like kids' pocket money — so I'll probably add recurring cash expenses you define once and have them roll into the same forecast.
Where would you expect to find this — a small banner on the dashboard, or a dedicated "next month" view? That's the part I'm still deciding.
Report
No reviews yetBe the first to leave a review for FinMan
How does the AI actually pull data from banks without per-bank parsers, and is that approach secure enough for sharing statement access?
@sevdacantekin That's actually the core idea. I started out writing one parser per bank, and after enough of them I realized it doesn't scale — so I built a system that writes the parser itself for a format it's never seen; that's what makes "any bank" work. On security: the data is processed de-identified — the parser only ever returns rows of {date, description, amount}, nothing else. Even if a statement contained other personal details, the parser can't pass them through; the output data structure simply has no place for them.
How does the AI handle receipts or statements in a language it wasnt trained heavily on, like say Armenian or Khmer? Wondering how reliable the extraction really gets for less common scripts before I trust it with my numbers.
@beyzanur7jzw Honest answer: I can only vouch for what I've actually tested — I ran it across 7 banks, but the statements were English and Ukrainian, and the AI handled both cleanly. I haven't personally verified something like Armenian or Khmer, so I won't overpromise. It reads the structure of a statement (date / description / amount), not just the words, so uncommon scripts have a real shot — but the honest way to know is to just try it on one real statement before trusting it with everything. Would love to hear how it goes if you try it.
How does the AI actually handle statements from banks that only provide scanned PDFs instead of proper transaction exports, and is that included in the free tier or locked behind a paid plan?
@yeim1746457 Hi Yeşim, great question! I spent a lot of time testing and selecting the best model for statement recognition. Honestly, I haven't come across scanned statements yet in practice, but I don't expect that to be a problem — PDFs are processed through OCR, so scanned documents should be handled the same way. And yes, statement recognition is included in the free plan.
Really like the meter-reading bot idea, that feels genuinely useful for splitting utilities fairly. One thing I'd love to see is a simple cash flow forecast that pulls in upcoming subscriptions and recurring bills from the parsed statements, so I can see if the next month actually balances out before it happens.
@sla919522062231
Thanks Sıla — and glad the meter-reading bot clicked; splitting utilities fairly was the exact itch that started it.
The cash-flow forecast is a great call, and it's very doable because the pieces are already there. Recurring bills and subscriptions show up as repeating transactions in the parsed statements, so once there's about a month of history in a category, FinMan can project next month from it — basically "here's what's already committed before you spend anything."
I'm weighing two directions: a lightweight "upcoming payments" view that just lists what recurs next month (rent, subscriptions, insurance) with a running total, or a per-category "recurring" flag that feeds a simple next-month projection. Either way I'd keep it as its own panel you can glance at, rather than bolting numbers onto every screen — I don't want to clutter the main view.
You also sparked an idea: a lot of recurring spend never touches a bank statement — cash things like kids' pocket money — so I'll probably add recurring cash expenses you define once and have them roll into the same forecast.
Where would you expect to find this — a small banner on the dashboard, or a dedicated "next month" view? That's the part I'm still deciding.