Unsaved changes Undo last change Undo removed goal
Coming up Timeline List Cards
Typical month Full monthly baseline. Choose a coloured segment for its commitments and calculation.
Bills breakdown
Your giving over time, with refunds taken off.
Income donated by pay period
Recipient / channel breakdown Sort Most recent Highest amount
Savings and investments
Cash and investments on one timeline. Uses the Cash flow date range .
Account balance goal Investment goal
Cash balance sourceIdentified savings accounts Show investmentsAdd a recorded balance
Mortgage Goal
Extra monthly payment (£)
Records Detailed tables and manual records.
Show more Show less : monthly figuresShow more Show less : Payment detail Newest first Highest cost
Show more Show less : shopping ordersSeparate order records for reference. They are not added to spending or treated as matched bank payments.
Regular: Subscribe & Save Other orders
Sort orders Highest cost Most recent
Show more Show less : values and source limitsRecorded cash balances and investment values are separate accounts, not a combined total. Missing cash balances stay unknown. Entered statement values are your records, not verified by a bank connection. Value changes include deposits, withdrawals and market changes; they are not verified gains. Missing dates stay unknown.
Show more Show less : payday breakdownCoverage ends at the last recorded day. Comparisons use the same covered days after the previous income date, or a usual completed-period amount when supported.
Close Don't show again
Hides this demo notice in this browser only. Downloads and privacy guidance stay available in Help.
Your data and goals ×
Import payments or restore a copy
Balances and other records Saved goals
Files stay on this device. Exported copies are unencrypted; keep populated copies private.
Appearance × Green Medieval Sleek
☀ Light mode
Keep your copy × A bank CSV contains payments. A copy of The Treasury includes original imported CSV text, your payments, notes, balances, plans, actions, goals and view choices.
Save your app as HTML Export The Treasury backup JSON Unfinished editor drafts and view choices are kept in this browser for recovery and included in these copies. Bank payment data is kept in your explicitly saved files. Both files are unencrypted. Keep them in a private protected folder.
The Treasury
See where your money comes from, where it goes, and how your savings grow, with clear, interactive visualisations.
Try the charts with demo data.
Explore the demo Made-up figures.
Learn where to find each view and control.
Recommended Show me how it works Your downloaded copy reads only the files you select.
Help with The Treasury × Beta testing: The downloaded HTML has not yet been verified when opened as a local file. Local-file opening, importing and reopening remain unverified. The hosted demo and download payload have been checked.
Explore a pie slice or row for the payments behind a total.Edit a note or record by clicking its text. Save or cancel your changes.Replay with ▶ / ⏸. The header’s expand button opens its graph and measures.Keep your edits with Data → Save copy. Download .html starts a blank file for your own records.Sections, imports and privacy Guidance Coming up Cash flow Spending Typical month Donated Savings and investments Mortgage Income Records
Use your own data Download the .html and open it on your device. Then use Import for a bank CSV, or add records with the section controls.
Import reads the file you choose and shows a preview before merging or replacing records. Help explains the controls. Neither connects to your bank or changes your original export.
Download a blank .html Show welcome Balances and extra details
Keep a copy Save copy keeps your payments, manual records, goals, unfinished drafts and view choices in an HTML or JSON backup. Unencrypted copies and bank exports belong in a private folder on a locked, encrypted device. Keep them out of shared folders and public attachments.
Other formats and privacy Bank CSV exports can use different columns; match them in Import and check dates, amounts and payment types. GBP only. PDFs and spreadsheets need converting to CSV first. Prepared JSON for The Treasury is an optional format for payments and extra records.
The demo accepts no personal imports. Local copies make no network requests. Only open trusted HTML copies of The Treasury; browser extensions can read page content. An online AI service receives any statements you share with it. Prefer local conversion or made-up samples and check the result.
Download conversion instructions Generic instructions and an invented sample only; your data is not included.
Support The Treasury Load Steve’s made-up data Review before replacing the current records. Save your current copy first; Undo remains available.
Support The Treasury × The Treasury is free to use. If it helps you see your money more clearly, a donation helps Sam keep building it.
Ko-fi lets you support independent creators with a small donation.
Donate on Ko-fiOpens Ko-fi in a new tab.
For help with a problem, reproduce it with Steve’s made-up data. Keep your statements and populated copies of The Treasury private.
Import your data × Choose a bank CSV or OFX statement, a backup JSON from The Treasury, or a saved HTML copy of The Treasury. Bank files can merge with your payments or explicitly replace them, keeping manual records. A backup restores the whole app after review. Files are read locally. Your bank account and source file stay unchanged.
Check the source account, payment types and overlap decisions before applying. Undo remains available.
Choose a file
Close keeps this review in this tab; starting another import replaces it.
Discard review
Choose the account and columns Import actionMerge with current payments Replace all bank payments Source accountNew account New account name
Use the same account for overlapping exports. Account names are private labels; no bank login is needed. OFX files can contain account numbers. Original UTF-8 file text, including unused fields, and your decisions stay in saved HTML and JSON copies. Keep those populated copies private.
SeparatorDetect automatically Comma Semicolon Tab Date orderDay / month / year Month / day / year Number format1,234.56 1.234,56 Amount columnsOne signed amount Separate money in / out Date Payment description Amount Money out Money in Category (optional) Treasury type (optional) Currency (optional) Bank transaction ID (optional) Cash savings movement (optional) Other incoming cashOther incoming: review type Earned income Refunds
Signed amounts: positive is money in, negative is money out. In split columns, both use positive amounts. Numeric dates follow your selected order; YYYY-MM-DD also works. GBP only. Bank Type columns usually mean card, transfer or Direct Debit: leave Treasury type unused and review the payment types below.
Only choose an ID that identifies an individual payment. Customer references and payment descriptions can repeat. Repeated IDs in one new file need your review.
Preview these columns
Check your payments
Next payment needing review Reset overlap choices For cash savings, label the funding-side transfer once as a deposit or withdrawal. Mark the other side of the same move as internal / already counted. Unclassified transfers leave savings rates incomplete; interest and account growth are not contributions.
Previous Next
Opening cash before these payments (£, check again if the starting date changed) Use the balance just before the first payment, not today's balance. Leave zero if you only want to compare money in and out.
Use these payments
Another format or bank? CSV columns vary by bank. Use UTF-8 CSV with one header row, payment rows and no statement totals or footers. Match the columns and check the preview; a format is not guaranteed until it has been verified. You can export a spreadsheet as CSV too. This importer does not read PDF statements or connect to your bank.
Prepared JSON can hold categories, investment values, pay history and other details. Help includes conversion instructions for a local tool or an LLM. Do not share private statements with an AI service unless you are comfortable with its data handling.
Balances and extra details × Optional details add context to your imported payments. Save copy keeps them for next time.
Work costs and repayments
Source coverage
Action dates Add a recorded account balance Enter the balance shown by your bank or investment account on a known date. Payments alone cannot tell us this value.
Account name Account typeSavings account Current account Investment account Other cash account Date shown Balance (£) BasisEntered from a dated statement Estimated Add balance
Edit balances, income and other details Add your opening cash, regular bills, portfolio valuations, gross pay, mortgage, shopping orders and upcoming actions here. Amounts in this advanced editor are pennies. Dated holdings may include kind (cash or investment) and basis (measured or estimated). This changes the view and saved copy only.
Opening cash (£) Other details as JSON Apply changes
Set a goal ×
Goal name TrackRecorded account balance Income left after spending Ledger cash reserve (calculated) Recorded investments Donated Principal repaid Take-home income Monthly household spending Loan balance Income left (%) Cash savings rate (%) Savings + investment rate (%) Account sourceIdentified savings accounts
Starting amount (£) Aim toReach or keep at least Stay at or below Target (£) Start date Percentage ofEarned income Income after unavoidable costs Target date (optional)
Save goal Discard draft Try a made-up goal
Targets change the view, not your records. Dotted lines mark the target; green means met and red means not met. Unknown periods stay gaps. A target date is a plan, not a forecast.