Personal finance × AI

I asked Claude to find my tax deductions. It found something more valuable.

I gave Claude a year of bank and PayPal exports to find tax deductions. They were hiding in the accounts I almost didn't export — and the bigger win was seeing where my money actually goes.

12 October 2026

In short

  • Read: 2,655 transactions from three bank accounts and PayPal — merged, matched and classified by Claude.
  • Found: 13 tax deductions, worth roughly €470 back for a typical list like the one below — most of them in the accounts I almost didn’t export.
  • Next year: a Freistellungsauftrag at every bank, one account per job, an invoice for every work tool — and a monthly export instead of a yearly search.
  • The real win: a complete overview of my finances — fixed costs, subscriptions, every euro — with no paid app and no manual data entry. Download the CSVs, run one command, done.

Tax paperwork is one of my least favourite chores in Germany. But every bank now lets you export your transactions as CSV — so everyone is sitting on a ready-made dataset. I handed a year of mine to Claude: classify every transaction, flag what could go into the tax return, and show me where the money actually goes.

Spoiler: the biggest lever for clarity was how my accounts are organised.

How to get the data

Export CSVs from every account for the period you care about. You only need date, amount and description — every bank has them. In Trade Republic: web version → Profile → Statements → Transaction export.

Trade Republic: Statements → Transaction export

One catch: my other banks only show the last 12 months online. Keep your own history.

The prompt

You are my financial analyst. This folder contains CSV exports of my 2025 transactions
from all my bank accounts and PayPal.

1. Merge the exports, remove duplicates and transfers between my own accounts.
2. Classify every expense: groceries, eating out, coffee, car, travel, shopping,
   sport & health, subscriptions, other. Use MCC codes and merchant names and save
   the rules to a separate file I can edit.
3. Put everything you can't classify with confidence (cash, PayPal, transfers to people)
   into a file for manual labelling - I want to label per recipient, not per transaction.
4. My situation: <employed / freelance>, <married, joint return>, <children>, living in
   Germany. Find transactions with potential for my tax return (Werbungskosten,
   außergewöhnliche Belastungen, §35a, childcare, Anlage KAP) and explain the thresholds.
5. Build a Jupyter notebook with charts by month and by group; show the top receipts on hover.
6. Privacy: process the data with local scripts and show me only aggregates and
   pseudonyms - never names, IBANs or e-mails. Don't upload the data anywhere.

Make it repeatable every month.

I labelled by hand only what the rules couldn’t recognise — and only where the amounts mattered.

About the data: amounts are noised, dates rounded to the month, people and health details removed, only chain names shown. Proportions and trends are real. Investments are excluded.

Insight 1. Over a quarter of the money is in a blind spot

The widest view first: groups in the inner ring, categories and chains outside. Click a segment to drill down.

Hypothesis: behind the 14% labelled “PayPal” there could be big purchases — maybe even something for the tax return. → Export PayPal.

Deep dive: what’s hiding behind PayPal Später Zahlen

In the bank statement every repayment looks the same — “PAYPAL *SPAETER ZAHLEN”: no merchant, a month after the purchase. PayPal’s own export has the merchant and often the item, so Claude matched the two tables.

It was almost trivial: 29 of 30 repayments matched a PayPal purchase to the cent — almost always exactly 31 days later. “Später zahlen” simply means “pay in 30 days”. One trap: in the PayPal export the repayments show up as payments to a “person” called PayPal (Europe) S.à r.l. et Cie, S.C.A. — without a filter they would have been counted twice.

Insight 2. The seasonality is the mountains

Each bar is a month, with PayPal already resolved. Hover for the top receipts.

Insight 3. Money sits in rare big tickets, attention in small ones

Each bubble is a chain or merchant type: how often I paid there (across), the average ticket (up), the yearly total (size).

Plot twist: the deductions were in the accounts I didn’t export

At this point the tax part was already written in my head: nothing much here — medical bills, a few books. Then I followed my own advice and exported all my accounts: the salary account and a small second account, not just the broker card I use every day. Those banks only give you 12 months, so this part covers October to September.

The account I had analysed so far saw only 57% of my spending — and 1% of my fixed costs. Rent, insurance, phone, the AI subscriptions: all of it ran elsewhere. So did the tax candidates: nine out of ten euros (medical aside) never touched the account I started with.

This is the list Claude handed me — one line per item instead of a hundred transactions:

What Claude flagged for the tax returnlast 12 months · 3 accounts · 18 items
Goes into the return
claim
ChatGPT Plus
salary account + second account · 9 payments
Werbungskosten the work share — keep the invoices
€186
claim
Claude Pro / Max
second account · 2 payments
Werbungskosten the work share — keep the invoices
€210
claim
Handyvertrag (mobile contract)
broker card + salary account + second account · 13 payments
Werbungskosten 20 % of the bills, max €20 a month — no proof needed
€124
claim
Fachbücher (professional books)
broker card · 7 payments
Werbungskosten books you need for the job
€233
claim
Udemy course
salary account · 1 payment
Werbungskosten Fortbildung — fully deductible if job-related
€46
claim
LinkedIn Premium (yearly)
PayPal · 1 payment
Werbungskosten used for work — or Bewerbungskosten while job hunting, like application photos and trips to interviews
€300
claim
MacBook for the home office
broker card · 1 payment
Werbungskosten work share — computers are written off in one year since 2021
€1,149
claim
WISO / Taxfix
PayPal · 1 payment
Werbungskosten the app you file with is a work expense too
€34
claim
Kfz-Versicherung (car insurance)
second account · 1 payment
Vorsorgeaufwand only the Haftpflicht part — it's printed on the policy; Kasko doesn't count
€794
claim
Privathaftpflicht (liability insurance)
second account · 1 payment
Vorsorgeaufwand the full premium
€72
claim
Plumber in the rented flat
salary account · 1 payment
§35a Handwerker 20 % of the labour cost off the tax — tenants too; invoice + transfer
€187
claim
Cleaner on a Minijob (Haushaltsscheck)
salary account · 12 payments
§35a Minijob 20 % off the tax, max €510 a year — registered at the Minijob-Zentrale, not paid in cash
€600
claim
No Freistellungsauftrag at the broker
broker card · 8 payments
Anlage KAP withheld tax on interest & dividends comes back if all capital income < €1,000 (€2,000 joint)
€45
Worth a question
check
Grocery delivery
broker card + PayPal · 4 payments
§35a household services grey zone: only the delivery fee on the invoice, never the groceries
€332
check
Deutsche Bahn tickets
broker card · 2 payments
Werbungskosten only work trips your employer didn't reimburse
€340
Claude said no
no
Alpenverein (DAV)
broker card · 7 payments
it's a Verein, but sports-club fees are excluded from donations and the included insurance isn't priced separately — a donation to the hut fund would count
€221
no
Wellpass gym via employer
salary account + second account · 11 payments
private, even if the employer pays part
€600
no
Automobile club (breakdown cover)
salary account · 1 payment
a Schutzbrief is not an insurance premium
€135
What it could be worth
Werbungskosten€1,426 found + €600 home office − €1,230 allowance≈ €279
§35a cleaner & tradesman20 % straight off the tax≈ €142
Anlage KAPwithheld tax back≈ €45
Insurance (Vorsorge)cap usually used up by health insurance€0
Potential refund≈ €466
Assumptions: 35% marginal tax rate, 50% work share for AI subscriptions and the laptop, 100 home-office days, 60% labour share on the plumber's invoice. Without the home-office days most of the Werbungskosten effect disappears.
Based on my data, with a few typical items added so the list covers the usual cases. Amounts are 12-month totals with noise; insurer, club and shop names are generalised; health items are left out on purpose.

What made me go “wait, really?”

The honest math: roughly €470 back for a list like this — a good hourly rate for one evening. Two things decide the number:

Checklist for your return

Not in my list, but worth checking in yours:

  1. Medical costs. Dental work, glasses, prescription co-payments — only the part above the zumutbare Belastung (1–7% of income, tiered) counts, so in a year with a big bill, collect every receipt.
  2. Childcare. Kita, Tagesmutter, nanny: 80% of the costs, up to €4,800 per child. Contract or invoice, paid by transfer.
  3. Flat rates without receipts. Home office €6 a day (up to €1,260), commute €0.30/km (€0.38 from km 21), €16 account fees, 20% of phone and internet (max €20 a month).
  4. Haushaltsscheck. A cleaner or garden help on a Minijob, registered via the Minijob-Zentrale: 20% off the tax (up to €510 a year) — and they’re insured against accidents.
  5. Coaching. Career or leadership coaching is Werbungskosten when it’s about your job — keep the invoice with the topic on it. Life coaching stays private.
  6. LinkedIn Premium while job hunting is Bewerbungskosten, like application photos and trips to interviews.
  7. Crypto. No tax is withheld; a sale is taxable only within a year of buying.

Not tax advice. Thresholds are for 2025 — check ELSTER or a Steuerberater before filing.

What I’m taking with me

The refund is a few hundred euros. The bigger win is the map: where the money goes, where it hides, and which account sees what. And the biggest lever wasn’t another budgeting app — it was how the accounts are organised:

  1. One account, one job. Fixed costs, annual bills and everything for the kid in separate pockets with their own IBAN; the everyday card, emergency fund and ETFs at a broker that pays interest on cash. From 2027, when I go independent as a consultant, a business account with a tax reserve joins.
  2. Pay so the data stays visible. Card instead of cash, direct instead of pay-later; anything tax-relevant by transfer and with an invoice.
  3. Own your history. Export every account into one folder once a month — 12 months in online banking is not enough.
  4. Label as you go. A tax candidate confirmed in March doesn’t need to be remembered next May.

Next: an automatic monthly run — and at the end of 2026, my personal inflation.

Ten years ago this took four consultants. Today it’s a privacy question.

Ten years ago at PwC, four of us spent months on a large fund’s withholding-tax reclaims: documents in several languages, digitised by hand, searched line by line for money the fund was owed. Writing this post I realised I had just repeated that project on my own data — export, normalise, match sources, label, find refunds — in one evening.

For my own wallet, a cloud assistant is a trade-off I’m comfortable with, and I kept it tight: Claude saw what it needed to write the code — headers, samples, aggregates. The full history runs through local Python scripts, people become pseudonyms, reports are checked for names automatically, and the data in this post is noised.

For a company, that trade-off doesn’t hold. Client data, NDAs, professional secrecy, GDPR — this data doesn’t belong in a chat window. Two principles make it work anyway:

What took four consultants months is now a couple of weeks for one specialist with an LLM. That changes not just the speed but the economics: refund projects that only paid off for a big fund become worth doing for a mid-sized company.

Try it yourself

  1. Export the CSVs from all your accounts and PayPal — 10 minutes.
  2. Take the prompt above and fill in your situation.
  3. Tell me in the comments what you found: a surprising category, your own latte factor, a tax find. The best stories (anonymised) go into a follow-up.

For the next instalments — the monthly run, personal inflation, the new account setup — subscribe to the blog.

And if you recognised your company in the withholding-tax story — piles of documents, manual reconciliation, refunds nobody has time to find — get in touch. I’m happy to talk about automating it with LLMs, including setups where the data never leaves your building.

Data de-personalised: noise added to amounts, dates rounded to months, names generalised. Trends are real. The tax checklist includes a few typical examples. Not tax advice.