← All Posts

Building Fortuna: how we built the core Expense Tracking

The Problem with Expense Tracking Apps

I’ve tried most expense tracking apps. They all fail the same way. Either you log every purchase by hand—which nobody actually does—or they read your SMS messages, which feels invasive. Manual logging isn’t just tedious. It pulls you out of the moment. And the first time you forget to log something, your data is compromised.

Most apps are built around budgeting. They want you to set spending limits, then yell at you when you go over. A budget only helps if you check it before spending. Learning you overspent on groceries last month doesn’t help you make better decisions.

We built Fortuna around how we actually think about money: once a month, when statements arrive.

Accounts are Just Accounts

In Fortuna, an account is one of our real bank accounts. That’s it. Other apps make you specify types: salary, savings, credit. This is unnecessary. What the bank calls the account doesn’t matter. What matters is it’s our money.

Some tools want you to create hierarchies—nest your credit card under the bank account that pays it. Sounds smart, but it creates work. You manage the hierarchy, track transfers between nested accounts, add abstraction that doesn’t match reality. Money is fungible. 100 rupees in savings equals 100 rupees in checking. A flat list is honest.

The Monthly Review

We don’t track daily. Once a month, I download our bank statements and upload them to Fortuna. The app extracts the transactions. We spend 10-15 minutes reviewing them, fixing edge cases like transfers. Done.

The app handles the tedious part: amount, date, description. We just verify the categories.

Fortuna Expense Management

How Statement Parsing Works

When you upload a statement, Fortuna reads the date, amount, and description. Then it guesses the category based on past tagging. We confirm or correct.

Categorization

Bank descriptions are messy. I built a simple engine that weighs different parts of the description that we get from the bank statement:

TierTypeWeightExample
1Merchant Names5UPI/SWIGGY-BANGALORE → “swiggy”
2UPI IDs3swiggy@paytm → “swiggy”
3General Words1”pizza hut” from longer text

Merchant names signal strongest. The engine prioritizes them when guessing categories.

Edge Cases

Some transactions aren’t expenses or income. Here’s how we handle them.

Transfers Between Accounts

Move money between our accounts and the statement shows a debit and a credit. Same money, different place.

What we do:

  1. Tag the debit with what the money was for (e.g., “Housing → Rent”)
  2. Delete the credit—it’s not new income

This counts expenses correctly without inflating income. I could have used double-entry accounting but that’s too complex.

Reimbursements

Friend pays me back? Not income. It’s a refund.

What we do:

  1. Delete the credit from the friend
  2. Adjust the original expense to our actual share

I thought about a “Reimbursements” category but that’s more work. Simpler to make it look like we only spent our share.

Cash Withdrawals

Most spending happens via UPI. We rarely use cash. When we withdraw, we don’t track every rupee. “Cash Withdrawal” tells us enough. Over six months, cash was 4% of total expenses. We’re fine with that.

Why This Works (for us)

Fortuna doesn’t demand more discipline than we have. Thirty minutes a month is manageable. We see where our money went. That’s enough to make better decisions next month.


Thanks to my wife, Sukhada, for reading drafts and giving feedback.

A Note on Categories: We use categories we actually need. I can add new ones, but haven’t needed to yet.

Expense Categories

CategorySubcategories
Bills & UtilitiesDTH/Cable, Electricity, Gas, Internet, Phone, Water
CashCash
Childcare & EldercareBaby Supplies (Diapers, Formula etc.), Childcare / Daycare Fees, Dependent Parent Care, Pocket Money, Toys & Games
Clothing & AccessoriesAccessories, Clothes, Footwear, Laundry & Dry Cleaning, Tailoring & Alterations
EMI & LoansCar Loan, Credit Card, Home Loan, Personal Loan
Eating OutFood Delivery, Restaurants
EducationBooks, Books & Stationery, College / University Fees, Courses, EMI - Education Loan, Educational Subscriptions / Online Courses, Extracurricular Activities (Music, Sports, Dance etc.), Hostel / Accommodation Fees, School Fees, Training, Tuition / Coaching Classes, Tuition Fees
EntertainmentEvents, Games, Hobbies, Movies, Subscriptions
Entertainment & LeisureBooks & Others, Events & Concerts, Hobbies & Recreation, Movies / Theatre, OTT - Amazon Prime, OTT - Hotstar, OTT - JIO, OTT - Netflix, OTT - Others, Sports Equipment & Fees
FamilyCelebrations, Gifts, Kids, Parents
Food & GroceriesGroceries, Others, Vegetables
Gifts & DonationsDonations / Charity, Gifts, Religious Expenses / Pooja Samagri
HealthcareDoctor, Fitness, Insurance, Lab Tests, Medicine
Healthcare & MedicalDoctor Consultation Fees, Health Insurance Premiums, Hospitalization Expenses, Lab Tests / Diagnostics, Medicines / Pharmacy Bills
Household Needs & SuppliesDomestic Help Salary, Furniture & Furnishings, Home Appliances, Kitchenware & Utensils, Pest Control
HousingHome Improvement / Renovation, Home Repairs & Maintenance (Plumbing, Electrical, Carpentry etc.), Property Tax, Rent, Society Maintenance Charges / Resident Welfare Association (RWA) Fees
InsuranceCritical Illness Insurance, Health Insurance, Home Insurance, Life Insurance, Term Insurance, Travel Insurance, Vehicle Insurance
InvestmentsFixed Deposits, Gold, Mutual Funds, Real Estate, Stocks
LoansCredit Card Payments, EMI - Car Loan, EMI - Home Loan, EMI - Personal Loan, Other Loan Repayments
MiscellaneousOthers
OthersDonations, Fines, Miscellaneous
Personal Care & Well-beingGym / Fitness Club Membership, Salon / Barber / Spa Services, Skincare & Cosmetics, Toiletries
Savings & InvestmentsEmergency Fund Allocation, Fixed Deposits (FD), Gold / Jewellery Purchase (Investment purpose), Home Down Payment, Mutual Funds (SIP/Lumpsum), National Pension System (NPS), Public Provident Fund (PPF), Real Estate Investment (Other than primary residence), Stocks / Equity
ShoppingClothing, Electronics, Gifts, Home & Garden, Personal Care
TaxesCapital Gains Tax, GST/VAT, Income Tax, Other Taxes, Professional Tax, Property Tax, TDS Deductions
TransportationCab/Taxi, Cabs, Flight, Fuel, Parking, Public Transport, Tolls, Train, Vehicle Insurance, Vehicle Maintenance, Vehicle Maintenance & Servicing
TravelFlights, Hotels, Sightseeing, Vacation
UtilitiesCooking Gas (LPG Cylinder / Piped Gas), Electricity Bill, Internet, Mobile Phone Bill, Water Bill
VacationEntrance Tickets, Food, Hotel / AirBnb, Others, Shopping, Transport, Visa

Income Categories

CategorySubcategories
Business IncomeConsulting, Contract Work, Freelance, Sales, Services
Gifts & TransfersFamily Support, Gifts Received, Inheritance, Reimbursements
Government BenefitsGrants, Pension, Social Security, Subsidies, Tax Refunds
Investment ReturnsCapital Gains, Dividends, Interest, Mutual Fund Returns, Rental Income
Other IncomeCashback, Miscellaneous, Refunds, Rewards, Winnings
Salary & WagesBonus, Commission, Incentive, Monthly Salary, Overtime