Claude to find recurring costs in bank exports
Mahmoud Halat used Claude Code to analyze his own bank and credit-card exports without connecting a finance aggregator to his accounts. The agent read the files, wrote a Python pipeline and generated a self-contained interactive HTML dashboard.
Original prompt
Shared by the source author. See source notes for context.
GOAL: one self-contained, OFFLINE interactive HTML dashboard that consolidates my bank and
Reach people exploring AI agents
See placements →Evidence at a glance
Sourced account- Source author
- Mahmoud Halat
- Original account
- Read the source ↗
- Published
- Source link checked
- Reported result
- Halat reports identified digital subscriptions and recurring bills, plus AMEX totals reconciled to the cent; no realized savings are claimed.
- Human involvement
- Halat manually exported bank files; the article reports statement-total reconciliation but no cancellation or bank-account changes.
A linked account supports attribution. It does not mean we independently reproduced its result.
Report an issue with this case
Open correction emailOpens your email app with the case link included. Nothing is sent automatically.
How the agent did it
- Export bank and card transactions manually into a working folder.
- Have Claude build and run the normalization, classification and rendering pipeline.
- Check statement reconciliation and open the generated HTML dashboard offline.
Mahmoud Halat used Claude Code to analyze his own bank and credit-card exports without connecting a finance aggregator to his accounts. The agent read the files, wrote a Python pipeline and generated a self-contained interactive HTML dashboard.
The pipeline normalizes different export layouts, reconciles statement totals and deduplicates overlapping downloads. Classification then separates actual spending from transfers between the owner's accounts and credit-card bill payments. That distinction prevents a payment moving money between accounts from being treated as a second purchase.
On his own data, Halat reports approximately $178 a month in active digital subscriptions and about $574 a month when all recurring bills were counted. His AMEX parsing reportedly matched the statement totals to the cent. These are identified costs and reconciliation results, not money saved through cancellations.
The dashboard includes recurring-charge run rates, category trends, counterparty histories and money-flow views. Charts are embedded in the HTML so the finished file works offline. However, the statement contents are read by Claude during generation; the article explicitly acknowledges that they go to Anthropic. Offline output does not mean the entire analysis avoids a model service.
Halat exports the input files manually. The public demonstration uses fictional data, so it cannot substantiate his personal transaction amounts independently. The published prompt excerpt captures the dashboard goal without repeating its broader privacy claims.
Prompt
Original prompt
Source: finance.mahmoudhalat.com · Mahmoud Halat
Frequently asked questions
Is the entire process offline?
No. Claude reads the exports through its model service; the generated pipeline and finished HTML dashboard run locally.
Why separate transfers from spending?
Moving money between accounts or paying the credit-card bill is not a second purchase.
Are the public demo amounts his actual accounts?
No. The public demo is explicitly fictional; the personal findings come from his firsthand written account.
More details
About this account
Claude Code wrote and ran the local analysis pipeline and generated the self-contained dashboard.
Firsthand article, original publication metadata, published prompt and repository opened. Prompt is a verbatim goal excerpt; the article acknowledges statements are sent to Claude during analysis.
Credit: Mahmoud Halat
Source published
Added to Agents In Use
Source checked
Tools and topics
Claude Code · Python · Bank CSV exports · Apache ECharts
Recurring charges · Transfer classification · Offline dashboard
Editorial completeness: 100/100. Measures documented fields, not agent performance or verified outcomes.