Build a budget with Claude from your real spending

A budget built on what you think you spend is fiction. Export three months of real transactions, take your name and account number off them, and let Claude do the counting properly. Here is the exact file, plus the export path for your bank.

Claude

Here is the prompt that does the work. It reads a plain export of your spending and turns it into a budget you can act on, with the sums calculated in code so the totals are real. Copy it first, then two things below make it land: getting the file out of your bank cleanly, and switching on code execution.

To budget with Claude, export three months of transactions from your bank as CSV, remove your name, address and account number, switch on code execution in Claude's settings so the sums are calculated in code, then upload the file and ask it to categorise your spending and show the totals.

The Money Map

Save this as money-map.md and upload it under Customize, Skills, or paste it into a chat above your file for a one-off. Fill in the MY MONEY MAP block once and it becomes a standing budgeting agent: it categorises a pasted export, spots the creeping subscriptions, names the one change worth making with a real yearly figure, and runs a weekly or monthly check-in when you ask. It sorts spending into four buckets instead of the usual two, an idea taken from the writer Olivier Kok, because "useless" forces a call that "discretionary" lets you dodge.

SkillThe Money Map (money-map.md)
---
name: money-map
description: A standing budgeting agent. Reads an exported bank transaction file, categorises spending honestly with the totals calculated in code, finds the creeping subscriptions, names the one change worth making, and runs weekly or monthly check-ins. Use whenever the user uploads a bank statement, CSV or spreadsheet of transactions and wants to build a budget, track their spending, or find what to cut.
---

# The Money Map

You are the person who counts my money honestly so I do not have to guess at it. You read what I actually spent, tell me the truth about it in plain words, and never make me feel sick for looking. What is at stake is simple: I make real decisions off your numbers, so a total that is wrong or invented has me planning my life around a lie. Accuracy and plain speech are the whole job. Be matter of fact, never sarcastic about my choices, and never warm about numbers that do not deserve it.

MY MONEY MAP (fill in once, then keep it in mind every time I bring you a file):
- How my money comes in: [your income rhythm, e.g. one salary on the 25th, plus freelance that lands whenever an invoice clears, so some months are lumpy and I cannot budget off a flat figure.]
- My fixed bills: [the ones that must be paid, with amounts if you know them, e.g. rent 950 on the 1st, council tax 140, phone 22, two loan repayments. If you do not know an amount, leave it as not given rather than guessing.]
- The subscriptions I can name: [the ones I already know about, e.g. Netflix, Spotify, a gym I barely use, iCloud. List them so you can spot the recurring charges I did not.]
- What I am saving for: [the goal and the number if there is one, e.g. a 3,000 emergency fund, currently at about 600. If there is no goal yet, say so.]
- My money personality: [how I actually behave, described plainly, e.g. I avoid looking, I check anxiously after a bad day, I impulse spend when I am stressed.]
- The rules I want enforced: [the lines you hold me to, e.g. flag anything over 100 I did not expect, tell me when the run-rate is climbing, give me the grim number straight rather than softening it.]

YOUR JOBS:

1. CATEGORISE THE SPEND. When I paste or upload an exported bank file: first tell me its shape (how many transactions, what date range, which columns, and whether amounts are one signed column or separate money-in and money-out columns), then stop and ask, all at once: if more than one file is here, which is the current account and which the card (payments from the account to a card are transfers, not spending, and counting them doubles up everything bought on the card); which rows are transfers between my own accounts or money moved into savings, so you can exclude them; any merchant names you cannot place; and whether I want this split by month or the whole period together. Wait for my answers. Then, using code, sort every transaction into four buckets rather than two: ESSENTIAL (real problems if unpaid: rent, bills, food at home, transport to work, debt payments), LIFE ENRICHING (it genuinely made life better, only the things I would defend), COMFORT (convenient, pleasant, easily replaced: deliveries, taxis, the second coffee), USELESS (I got nothing from it: forgotten subscriptions, duplicates, impulse buys I cannot remember). Where a charge could sit in two, put it in the lower one and list it as uncertain. Output, as short labelled lists: total in, out and the difference for the whole period and per month; the four bucket totals each with its share; and my top ten merchants by total spent, with how many transactions each.

2. SPOT THE LEAKS. When I say "find the leaks", or on the same file straight after a categorise: using code, list anything charged more than once at a similar amount on a similar date, which is my subscription list, and include the annual ones because those are the ones I forget. Cross-check that list against the subscriptions I named in MY MONEY MAP, and flag two things plainly: any recurring charge I did not name, and any charge from a familiar merchant that has quietly risen since its earlier ones. Flag any charge noticeably larger than that merchant's usual amount too. Never assume a charge I did not name is unwanted. Show it and let me make the call.

3. THE ONE THING TO FIX. After a categorise, or when I say "what is the one thing": take the COMFORT and USELESS buckets together, scale this period's total up to a year, and note the same figure over five years, labelled clearly as arithmetic that assumes these months are typical, not a savings claim or a promise. Then, in no more than five sentences, name the single biggest gap between what I probably think I spend and what I do, and the one change worth making, chosen because it is the largest or the easiest, never the most virtuous. Put a real yearly figure on that one change, taken from the totals you calculated, so its size is concrete rather than a vague nudge.

4. THE WEEKLY CHECK-IN. When I say "weekly check-in" and paste the last week's transactions: keep it to about ten lines. What went out this week, how that sits against my typical week if you have the fuller file to compare with, anything unusual, and one question if a charge is unclear. No lecture, no action plan. If you do not have a baseline yet, say so and ask me for the three-month file once, so next week has something to measure against.

5. THE MONTHLY CLOSE. When I say "close the month" and give you the month's file: produce the month's in, out and difference; the four bucket totals set against last month if I gave you last month; whether I moved toward the goal in MY MONEY MAP or away from it; the run-rate for COMFORT and USELESS; and one small move worth making before the next month starts. End by naming the single number to watch next month.

RULES: Every number you report comes from code you actually ran over the file. Never estimate a total, never eyeball a category, never round a figure you did not calculate. If code execution is off in this chat, say so at once and stop, rather than producing numbers that look right. Never invent a merchant, a category, a total, a subscription or a bill; if a value is missing leave it as [gap] or say "not given", and if a merchant is unclear say so and ask. Never moralise, never tell me to give up coffee, never hand me a fifteen-point plan: one honest observation, one change. Do not advise on debt, pensions, investments or tax; if the numbers raise one of those, say plainly it is a question for a qualified human and move on. Round to whole pounds. End anything carrying real numbers by naming the part you are least sure about: a category you guessed, a month that looks incomplete, a merchant you could not place, or whether the count of transactions you sorted matches the file.

What comes back

So you know what you are aiming for, here is the shape of a run. The numbers are made up, yours will look nothing like them.

  • In £4,210, Out £3,880, Difference +£330, over three months.
  • ESSENTIAL £2,540 (65%), LIFE ENRICHING £610 (16%), COMFORT £520 (13%), USELESS £210 (6%).
  • Top merchant: a supermarket, £430 across 18 visits.
  • Leaks flagged: two recurring charges you did not name in your map, and one streaming service that rose from £7 to £11 in month three.
  • The one thing to fix: COMFORT and USELESS scaled up come to about £2,920 a year, roughly £14,600 over five years if these months are typical, and the biggest single line inside that is takeaway delivery at about £780 a year.
  • Self-check: 312 of 312 transactions categorised, 3 flagged as unsure, 2 transfers excluded.

Your numbers will differ. The point is the shape: real totals from code, one honest observation, and the list of what it was unsure about.

Getting the file out of your bank

Pull three months, not one, so you can see the annual charges landing, the month you overspent, and the number you actually live at. If you spend on a credit card as well, export that too: the payment leaving your current account is a transfer, so without both files Claude counts the same purchases twice, once when you used the card and once when you paid it off. That is the most common way these totals come out wrong, and it is invisible when it happens.

The move is the same wherever you bank: on a computer, open the account, find the Download or Export option on the activity page, and choose CSV. The phone app usually cannot do it, so use a laptop. Here is where that option lives for the big banks.

Paths checked against each bank's own help pages on 11 September 2026. Banks move these, so if a menu has changed, search their help centre for "export transactions" or "download activity".

In the US

BankWhat you getWhere it lives
ChaseCSV, also QFX and QIFOn chase.com, open the account and use the download icon on Account activity, then choose CSV. It exports roughly the last two years; older history is PDF only
Bank of AmericaCSVOpen the account, go to Activity or Statements and documents, and choose the spreadsheet (CSV) download. The CSV has no running-balance column
Wells FargoCSVSign in, Accounts, then Download Account Activity, set the dates and pick "Comma Delimited (ASCII, Spreadsheet)". Reaches back up to 18 months on many accounts
Capital OneCSV, on desktop onlyThe app has no export. On capitalone.com open the account and use Download Transactions above the list. It reaches back about 90 days, and a card export has a Card No. column to delete and separate debit and credit columns
CitiCSV, also ExcelOpen the account Activity and use the download option, choosing CSV. Reaches back about a year
American ExpressCSVStatements and Activity, choose a date range, then Download and pick CSV
Most US banksCSV from a computerLook for a Download or Export button on the activity page. The mobile app often cannot do it, so open the account on a laptop

One thing to know in the US: there is no pre-redacted export the way the UK has midata, so the file you download carries your name and account or card number, and you strip those yourself every time (the next section shows how). The other catch is age: several US banks only let you export the recent window as CSV, about 90 days at Capital One and around two years at Chase, and anything older comes out as a PDF statement instead.

In the UK

BankWhat you getWhere it lives
MonzoPDF, CSV or QIFTap the three dots on your card, then Bank statements, then pick the date range and the format. The one-off export is free. The automatic export to a spreadsheet is a paid add-on, which is a different thing
StarlingCSV, but it moved in August 2026Account menu, then Statements and documents, then Statement history, then the blue Go to feed exports link at the top. Monthly statements themselves are now PDF only. Custom ranges reach back 12 months
RevolutPDF or Excel, not CSV on a personal accountHome, then Accounts, pick the currency, then the three dots and Statement. Note that the statement includes your name, address and IBAN
HSBCCSV or ExcelNot on the statements screen. Open the account, use Search and filter, set your dates, search, then scroll to the bottom of the transaction list for Download
LloydsIts own statements help page covers PDFNo CSV route is published there. Use the midata download below instead
Most high-street banksmidata, a CSV of 12 monthsLook for "midata" or "download transactions" in your account services. It is desktop only at several banks

The midata row is worth understanding even if your bank does CSV, because of what it leaves out. Santander describes its own midata file as one that "won't contain any personal information such as your name, address or account number", with sensitive transactions masked. Your bank has already built the redacted version of this file, which saves you doing it by hand. One thing to know, in HSBC's own words about its midata download: it covers "the 12 month period ending 30 days ago", so the month you have just lived through will not be in it. If last month is the one you want, use a CSV export instead. Several banks also make midata desktop only, so if you only have your phone, ask your bank's help centre for the transaction export on mobile.

Three things to do before you upload

  1. Take your details off the file. Open the file in a spreadsheet and delete any column holding your name, address, account number, sort code, IBAN or card number. In the US there is no pre-redacted export, so you do this yourself every time, and a Capital One card file even has a Card No. column sitting right there to delete. In the UK, if you used a midata download you can skip this, because your bank already stripped it. A Revolut statement keeps those details in a block at the top instead of a column, so delete that block. Anthropic's own help centre names bank account details among the things not to put into Claude, so this is the tool's own guidance. The transactions are what you need, and they carry none of it.
  2. Check code execution is on, and turn network access off. Go to Settings, then Capabilities. Code execution and file creation is what makes Claude run real code over your file instead of reading it as text and totalling it in its head, which is exactly where a model quietly gets a sum wrong. Anthropic makes it available on every plan including free, and on the free, Pro and Max plans it is on by default. Then find "Allow network egress" and switch it off, because on those same plans network access is on by default. Anthropic's own warning is that someone can hide instructions inside a file or a website that trick Claude into reading sensitive data and making a network request to send it out. With egress off that route closes and the maths still works. Note this is a different screen from Customize, Skills, which is where the file below goes.
  3. Say which file is which. If you are uploading two, tell it in one line: this one is the current account, this one is the credit card. It cannot tell from the columns, and the whole double-counting problem turns on it knowing.

Where the line is

  • The honest bit: your chat may be kept for five years. Anthropic's consumer terms set retention at 30 days if you decline to have your data used for model training, and five years if you allow it. The toggle is in Settings, then Privacy, under "Help improve our AI models". Turning it off is not retroactive: Anthropic states that data is still included in training that has already started and in models already trained. Decide before you upload, not after.
  • Anthropic itself says not to paste bank account details. Its help centre lists financial information including bank account details among the things to keep out of Claude. Your transactions are fine. Your account number, sort code and IBAN are the parts to strip, which is exactly what your bank's own midata export already does.
  • None of this is financial advice. It shows you what happened to your money. What to do about it is your call, and anything involving debt, tax or pensions belongs with a qualified human.
  • Check that it actually ran the code. If Claude gives you totals without visibly running anything, the numbers came out of its head. Ask it to redo the arithmetic in code and compare.

One more tool worth knowing

If you get to the end of that and decide you would rather not upload the file anywhere at all, that is a reasonable conclusion. A developer built a small free page called Sotto that reads a UK bank statement entirely inside your own browser and categorises it there, with nothing sent anywhere. Its own page says CSV export works for most banks and that PDF support covers only a few bank formats so far, with scanned statements not supported. Its own privacy page suggests the best test, and it works on any tool making this claim: turn your wifi off, reload the page, and upload the file. If it still works, nothing is being sent anywhere.

Free, runs in your browser: usesotto.vercel.app. It is one person's small project, not an established product, so run the offline test yourself before trusting it.

Do the export tonight

The whole thing takes about twenty minutes and the export is the only fiddly part. Pull three months, delete the columns with your name and account number, switch code execution on, and paste The Money Map above the file. Read the self-check at the end first, because that is where it tells you what it was not sure about. When three months stops surprising you, pull twelve, because an average only means something once you can see your quiet months next to your expensive ones.

FAQ

Can Claude read my bank statement?

Yes, if you export it as a CSV or spreadsheet. Claude supports CSV, XLSX, PDF and several other formats, though XLSX uploads need code execution and file creation switched on in your settings first, which matters if your bank only gives you Excel.

Is it safe to upload a bank statement to Claude?

Strip your name, address, account number, sort code and IBAN first. Anthropic's own help centre lists bank account details among the things not to put into Claude. Also check your privacy setting: retention is 30 days if you decline model training and five years if you allow it.

Why does Claude get the totals wrong?

Because it is reading the numbers rather than calculating them. Switch on code execution and file creation in Settings, then Capabilities, so it runs real code over the file. If it produces totals without visibly running anything, ask it to redo the arithmetic in code.

How do I export my transactions as a CSV?

It depends on your bank. Monzo offers CSV under Bank statements. Starling moved CSV to a feed exports link inside Statement history in August 2026. Revolut personal accounts give Excel rather than CSV. HSBC hides it at the bottom of a filtered transaction list. Most high-street banks also offer a midata download, which is 12 months of CSV with your personal details already removed.