How to Turn a Bank Statement Screenshot Into a Budget Table
A 9-minute skill to turn a bank statement screenshot into a monthly income/expense category table. Ban inventing merchants. Mark UNCLEAR. ChatGPT, Claude, or Gemini vision.
Anyone sorting household money can turn a bank statement screenshot into a budget table in about 9 minutes: upload the statement image, force a monthly category table with income and expense rows, and mark UNCLEAR when a merchant line is blurry. Run it in ChatGPT, Claude, or Gemini vision before the model invents merchants that never appear on the page.
A bank statement budget table is a category rollup from visible lines, not a forensic audit and not a forecast spreadsheet. If the model invents a coffee chain you never shopped at, you never did the job. Printed merchants plus UNCLEAR beats a confident fake ledger.
This is not receipt photos into an expense list. Receipts are single-ticket lines. A statement is a month of posted rows. It is not a shopping list from a recipe photo. A shopping list is for buying food. This table is for sorting money already spent. It is not a flight options screenshot into a two-column pick. Flight picks choose a trip. A budget table groups what already cleared.
What you need
One clear screenshot or photo of the statement page that covers the month you care about. Your category list in plain nouns (rent, groceries, transit, income, transfers). ChatGPT, Claude, or Gemini with vision. Nine minutes and one cold read against the image with a finger on each merchant.
Banned before you start: inventing merchants not visible, guessing amounts on blurry rows, inventing paycheck deposits, “average month” filler, merging two months without saying so, and turning the output into investment advice.
Build the monthly category table
1. Upload the statement. Paste only your category nouns
Attach the screenshot. Paste categories as nouns only: rent, groceries, dining, transit, utilities, income, transfers, other. Do not paste a tax lecture.
Instruct ChatGPT, Claude, or Gemini: “Read only what is visible on this bank or credit statement screenshot. Do not invent merchants. Do not invent amounts. Output a monthly category table with income rows and expense rows. If a merchant or amount is blurry or cut off, write UNCLEAR for that row and still list what you can see. Then stop.”
Good category paste: “rent, groceries, dining, transit, income, transfers, other.” Bad: “Make me rich by next quarter.” Ambition is not a column the model can check against ink.
2. Force income and expense rows in one table
Shape the output as a table or markdown rows: Category | Direction (income/expense) | Amount | Source lines. Cap inventiveness at zero. Every amount must point to a visible line.
Instruct: “Output one monthly table. Separate income from expense. Ban inventing merchants not visible. Ban guessing blurry numbers. If text is fuzzy, prefix that row with UNCLEAR. Sum only the clear rows. Then stop.”
Good: “UNCLEAR — last grocery line cut off at the edge; groceries clear total 214.50 from three visible stores.” Bad: “You probably spent about 300 on coffee.” Probably is invention.
Keep every merchant tied to visible ink
If the model names a store that is not on the screenshot, cut that row. Vision models love filling familiar brands from training. Your job is the pixels in the frame.
3. Ban invention. Require UNCLEAR on blurry rows
Tell the model: “If a merchant name or amount is illegible, write UNCLEAR. Do not guess. Do not fill merchants from memory of similar statements. Do not invent a paycheck.”
ChatGPT will invent a streaming subscription because the photo looks like a “typical” month. Claude will soften into “misc household.” Gemini will invent a transfer that is not printed. Cut all three gifts.
Hard fail: any merchant you cannot point to; any amount you cannot point to; any “average spend” filler; any advice about investing the surplus.
4. Cold finger scan before you trust the totals
Open the screenshot beside the table. Point to each merchant the model listed. If you cannot find it, delete the row and subtract the amount.
Read the income rows out loud. If a deposit appears that is not on the page, delete it. Transfers that move money between your own accounts belong in transfers, not income, unless the statement labels them as income.
5. One human pass, then stop
Copy the surviving table into your notes. Do not let the model “complete the month” after the fact with guesses.
Check traps: invented merchants, missing UNCLEAR on blur, fake income, merged months, investment advice. Fix by regenerating only the broken rows: “Replace only the rows I mark. Do not invent. Keep UNCLEAR.”
One pass. If the table still invents a cafe you never visited, you never turned a bank statement screenshot into a budget table. Stop.
What good looks like
Trigger: You are about to ask “where did my money go” with no merchant check and no UNCLEAR tags.
Input: Statement screenshot, category nouns, ChatGPT/Claude/Gemini vision, cold finger scan.
Output: One monthly category table with income and expense rows, UNCLEAR on blurry lines, zero invented merchants, zero guessed amounts.
Stop: After one cold finger scan. No forecast. No “typical month” filler.
Treat the table like a map of posted ink, not a personality report about your spending. Models love moralizing. Delete moralizing. Keep category names short so you can reuse them next month. When vision models “helpfully” rename merchants into nicer brands, restore the printed spelling before you sum. The cold finger scan exists to catch invented rows and missing UNCLEAR tags. Skip that scan and you will budget against ghosts. That wastes trust in your own numbers.
Takeaways
- Upload the statement. Paste category nouns. Force one monthly income/expense table.
- Ban inventing merchants. Require UNCLEAR when a row is blurry.
- Tie every amount to a line you can point to in the screenshot.
- One cold finger scan. Then stop inventing after the fact.
Frequently Asked Questions
Can the model invent a merchant if the logo looks familiar?
No. Only merchants visible on the screenshot count. Familiar logos in training data are not evidence. Mark UNCLEAR when the name is unreadable.
What if the last rows are cut off by the crop?
Write UNCLEAR for cut-off rows and sum only clear lines. Take a second screenshot of the missing section instead of guessing amounts.
Should I use ChatGPT, Claude, or Gemini?
Any of the three with vision works if you ban invention and require UNCLEAR. Claude is steady at refusing guesses. ChatGPT needs a hard ban on “typical month” filler. Gemini needs a ban on invented transfers.
How is this different from receipt photos into an expense list?
Receipts are single tickets. A statement is a month of posted rows. Do not merge the jobs into one prompt.
Can the model give investing advice from the surplus?
No. This guide builds a category table only. Delete any portfolio tip the model adds.