How do I track my expenses?

Start from your statements instead of logging each purchase. Export a year from every account and card, group the payments by who they went to, and name the ones your bank labels with a payment processor.

Mind My Money does the whole pass on your own computer and shows you the month against the month before.

This is for anyone who wants to see where the money went without writing down each purchase as they go. The apps in the last section are described from their own pages as they read on 20 September 2026.

Your bank has already written it down

An expense tracker asks you to write down what you spend as you spend it, and the reason it asks is that it has no other way of knowing. Your bank has another way, because it wrote every payment down at the moment it went out, with the date, the amount and whatever name the shop's payment provider passed along. That record is already complete for the whole of last year, and you can have it in a file in about ten minutes.

What that file does not have is a name on every line, or last month sitting beside the month before. Doing those two things once by hand is what turns a list of payments into something you can act on, and it is why the rest of this page is worth an evening.

Get the year out

Do this for every account and card you pay from, including the ones you barely use, because a subscription you have forgotten is usually on the card you have forgotten.

  1. Sign in to each bank on a computer rather than the phone app. The export is nearly always on the desktop site and often missing from the app.
  2. Find the transaction list for the account, set the range to the last twelve months, and download it as CSV. If the bank offers only PDF statements, download twelve of them; it is worse but it works.
  3. Do the same for every credit card, and separately for PayPal, Klarna, Revolut, Wise or anything else that holds money and pays out of itself. Those accounts pay shops you will never see on your bank statement.
  4. Put them all in one spreadsheet, one row per payment, with a column saying which account it came from. Twelve months of one household is usually somewhere between one and three thousand rows.

Group by who you paid

Sort the sheet by the payee text and read it from the top. You are looking for the same name written four slightly different ways, which is what a card terminal, an online checkout and a direct debit do to one company's name. Give each group one name of your own in a new column, and keep the bank's text in the row so you can always check what you decided.

Then count the months each group appears in. Anything appearing in three months or more is recurring, whether or not you think of it as a subscription, and that list is the one worth reading twice. It is the same pass as the one behind finding all your subscriptions, and if that is all you are after, the subscriptions page goes through it in more detail.

Name the ones the bank did not

Some rows will not say who you paid, because what the bank recorded is the company that moved the money rather than the shop that sold you something. Klarna, PayPal, Trustly, Adyen, Paytrail, Stripe and Shopify all show up this way, and on a year's spending that is usually a large enough share to matter.

You can recover almost all of it from things you already have. Search your email for the date of the payment and the amount; the receipt or the order confirmation is nearly always there. Failing that, look at your photos from that day, because a photograph of a shop, a meal or a parcel puts the payment somewhere. Klarna's and PayPal's own apps list your purchases by shop, which settles most of what is left.

This is the slow part, and it is also the part that decides whether the exercise was worth doing. A line that says Klarna tells you the money left your account. It does not tell you what you bought, so until you name it that share of your year says nothing at all.

Compare one month with the month before

Totals by category are less useful than they look, because a year's total has no one to argue with. Put one month beside the one before it, by group, and the rows that moved are the ones worth your attention. Keep the sheet and add each month as it closes; the second month takes a fraction of the time the first did, because the naming is already done.

What the expense-tracking apps do instead

There is a large category of apps for this, and it is worth knowing what they actually do before you install one. We read all sixteen listed under Expense tracking on There's An AI For That on 20 September 2026, on each vendor's own site rather than on the directory's summary of it.

Three of them read your transactions automatically. ExpenseBot pulls from banks and cards weekly through Plaid, Expensify lets anyone connect two personal cards free, and SparkReceipt connects to US bank and credit-card accounts in a beta. The other thirteen wait for you to hand each expense over: photograph the receipt, say it out loud, send it as a WhatsApp message, or type it.

None of the sixteen does anything about what it finds. They report, and several of them report very well, but cancelling the subscription, switching the contract or claiming the refund is left to you. If you want one of them anyway, the useful question is not which has the best AI: it is whether you will still be photographing receipts in March, because the thirteen that wait for you stop working the week you stop feeding them.

The sixteen, as their own sites described them on 20 September 2026. The middle column is the one that decides whether you will still be using the app in March.
App What it needs from you Reads your bank Does anything about what it finds
Moooney AI You type it, say it, or photograph the receipt No No
ExpenseBot It reads your Gmail Yes, weekly, through Plaid No
Clint It reads your Gmail and Drive No, by choice No
ChatGiraffe You message it, or send a voice memo Not stated on its site No
AI Money You message it on WhatsApp No, and it says so No
Vossa You say it or photograph the receipt No, by choice No
Expensify You photograph the receipt Two personal cards free, more on a paid plan Only its own expense reports
Rolly You chat, speak, or photograph the receipt Claimed on its iOS listing only No
ShowMeMoney Nothing: its domain has expired
ReceiptiX Receipt photo, Siri, WhatsApp, Telegram or email No No
CashKaka You message it on WhatsApp No No
Blahget, now TalkieMoney You say it No No
Expense Sorted You export a CSV from your bank yourself No, and it says so No
MonAI You say it, type it, WhatsApp it, or let it read your bank's texts No, and it says so No
SparkReceipt Receipt photo, a connected mailbox, or a statement you upload US accounts only, in a beta Only inside your own books
Daily Expense Logger You type it into ChatGPT No No

Why reading your bank is the part that costs money

Bank access is the feature these apps charge for, or skip, and the reason is not that it is hard to build. An app that reads your account on its own servers is either licensed to do it in each country it does it in, or it pays a licensed aggregator such as Plaid to do it on its behalf, per account, every month. That is a running cost per customer, which is why it sits behind the paywall when it exists at all, and why the free tier is the one where you type.

Several of them say plainly that they will never connect to a bank, and treat it as a feature rather than a gap. Clint says "No bank login required", Vossa says "No bank connection required", and MonAI's FAQ gives the reason the others leave out: "Direct bank synchronization requires expensive licensing, regulatory compliance, and unreliable bank APIs". That is a fair description of the problem. Reading somebody's bank on their behalf, as a service, means a licence in every market you do it in.

The other thing the cost buys is a copy of your transactions on somebody else's servers, which is a separate question worth its own answer: is it safe to give an app your bank login.

How Mind My Money does this

Mind My Money runs the whole pass above on your own computer. You sign in to your bank yourself, in a browser window it opens, which is why it needs no licence and no aggregator and works with any bank you can sign in to. It downloads the transactions, groups them, names the ones behind Klarna or PayPal from your own receipts, messages and photos, and asks you whenever it is not sure.

Then it goes further than the sheet can. It takes the recurring list to you one by one, cancels the ones you say no to while you watch, and checks the account page afterwards to see that the cancellation took. What it saves you is kept as a running total you can check against your own statements.

Questions people ask about this

How do I track my expenses easily?
Export the last twelve months from every account and card, put them in one sheet, and group the payments by who you paid. Naming the ones your bank only labelled Klarna or PayPal is the slow part, and it is what makes the rest of it mean anything.
How do I keep track of all my expenses?
Include every account you pay from rather than only the current account: each card, and PayPal, Klarna, Revolut or Wise, because those pay shops that never appear on your bank statement. Then add each month as it closes, which takes a fraction of the first pass.
Are expense tracking apps safe?
An app that reads your bank for you keeps a copy of your transactions on its own servers, usually through a licensed aggregator such as Plaid. Whether that is acceptable is a separate question from whether the app is any good, and it is worth answering before you connect anything.
What is the best app to track expenses?
Of the sixteen AI expense trackers checked on 20 September 2026, three read bank transactions and thirteen wait for you to photograph, speak or type each expense. None of them cancels, switches or claims anything on your behalf, so the question that decides it is whether you will still be entering expenses in three months.
Any bank you can sign in to

See where last year went.

Runs on your own computer. Pay what you decide, including nothing.

Apple Silicon or Intel · macOS 14+ · v0.1.0