Getting started
Finalyze is a browser app. There is no install step beyond opening the site — your statements are parsed and stored entirely on your device.
Open Finalyze
- Online: visit finalyze.cc and click Open app (or go directly to the app).
- Install as an app: on mobile or desktop, use your browser's Add to Home Screen / Install option — Finalyze ships a web manifest for a standalone icon.
Privacy by default: transactions live in IndexedDB in your browser. No statement file is uploaded. The only server contact is to store your account credentials — never your transactions.
Your first import
- Open the app and sign up for a free account (or start the sample tour without one).
- Click Import statement in the sidebar, or drag a file onto the page.
- Choose your bank export —
.pdf,.qfx/.ofx, or.csv. - If you have more than one account, assign the import to an account when prompted.
- Review the confirmation toast (format detected, transaction count), then explore Spending overview.
Re-importing the same file is safe: transactions are deduped by id, so you won't get duplicates.
Sample-data tour
No statements yet? From the sign-in screen, choose Take a tour with sample data. You'll get realistic dummy transactions across every dashboard view. When you're ready, clear the data and import your own — the tour does not require an account.
Account & sign-in
A free account is required to import and analyze your own statements. Finalyze uses email + password (and optional Google sign-in when configured). Your email is stored on Supabase; financial data is not.
After sign-up you may need to confirm your email before the first sign-in, depending on how the project owner configured auth. Onboarding asks for country, currency, and goals — these tune labels only, not your transactions.
Import
Supported formats
| Format | Extensions | Notes |
|---|---|---|
.pdf | Statement PDFs from major issuers; review step lets you fix parsing before import. | |
| OFX / QFX | .qfx, .ofx, .qbo | Modern XML and older SGML exports; preferred when your bank offers it. |
| CSV | .csv | Auto-detects delimiter, header row, columns, and amount-sign conventions. |
Banks & detection
Finalyze auto-detects exports from most major North American banks and cards, including American Express, Chase, RBC, TD, Scotiabank, BMO, CIBC, Discover, Bank of America, Capital One, and more.
For CSV, the reader skips preamble lines above the header, maps Date / Description / Amount (or separate Debit/Credit columns), handles accounting negatives like (12.34), and infers whether negatives mean spend or credits. Headerless CSVs are supported too.
Monthly workflow
Each month, download a fresh export from your bank and import it. New rows append to your history. When you change a merchant's category in the ledger, that choice is remembered for all past and future transactions from that merchant.
Dashboard
Spending overview
The default view shows summary cards: total spend, refunds, net spend, transaction count, averages, and optional custom KPI cards (Pro). Use the date preset (This month, YTD, All time, etc.) or pick a custom range in the header.
Budget alerts appear here when a category or group is at ≥80% (caution) or ≥100% (over) of its monthly limit.
Charts & views
Use the sidebar to move between specialized views:
- By category — pie chart; click a slice to filter. Toggle Groups to roll up categories.
- Merchants — top merchants bar chart; click a bar for drill-down.
- Trend — spend over time or top merchants over time.
- Cardmembers — per-person spend when your export includes card members (Pro).
- Month over month — monthly totals and biggest category movers (builds as you import more months).
- Recurring — repeating charges and subscription keyword matches.
- Anomalies — possible duplicates and large outliers.
- Patterns — spend by day of week and week of month.
- Heatmap — calendar view; click a day to filter.
- Compare — two arbitrary periods side by side.
- Year in review — appears with 12+ months of data.
- Uncategorized — queue to assign categories you missed.
Open Finalyze AI from the sidebar for narrative insights and chat (see below).
Transactions
The full ledger supports search, category filter, sorting, inline category edits, per-row tags, and bulk recategorize for multiple merchants at once. Click a merchant name for a modal with monthly trend, average ticket, and history.
Filters & tags
- Date & amount — header controls apply across charts and totals.
- Account filter — when you have multiple accounts, filter to one or view all.
- Tags — mark rows Business and/or Reimbursable. Toggle Exclude tagged in the header to remove them from spend totals while keeping them in the table; Business and Reimbursable show as their own summary cards.
- Hide $ — sidebar button censors dollar amounts for screenshots or demos.
Settings
Click Settings in the app sidebar. Settings are grouped into Categories, Rules, Budgets, Accounts & data, and Layout.
Categories & groups
- Add custom categories, recolor any category, and set type (spending, payment, refund).
- Category groups roll up slices (e.g. Dining + Groceries → Food) for charts and group budgets.
- Custom KPI cards (Pro) — define cards on the overview from category or merchant rules.
- Merge merchants — fuzzy suggestions (e.g.
AMAZON.CAvsAMAZON CA); merge or dismiss.
Rules & merges
Auto-categorization rules match merchant text with your own regular expressions. Resolution order: merchant override → your rules → built-in keywords → Other. A live tester shows what a merchant name resolves to.
Subscription keyword rules flag recurring merchants even when amounts vary. Auto-merge rules remember merges you approve.
Budgets
Set a monthly limit per category group or ungrouped category. Group limits apply to combined member spend. Overview flags budgets at ≥80% or ≥100% for the current calendar month.
Accounts & backups
- Accounts — name each card or bank; assign imports to an account; filter the dashboard by account.
- Export backup — full JSON snapshot anytime.
- Import backup — restore on another browser or machine.
- Clear data — wipes everything on this device (export first if you care).
Data is stored in IndexedDB. Use the same origin consistently (file:// vs localhost vs finalyze.cc) so history stays in one place.
Finalyze AI
Enable models
AI is opt-in. Open Finalyze AI → Models → Download & enable. Models run in your browser; transactions are never sent to a server.
- Categorization — small embedding model (~30 MB) improves auto-sorting.
- Chat — WebLLM model (~1 GB, requires WebGPU).
- Insights — works without any model via locally computed observations.
HTTPS required for chat: WebGPU and model caching need a secure context (https:// or localhost). Over plain HTTP on a LAN IP, chat may show "No WebGPU". GitHub Pages and finalyze.cc work out of the box.
Ask your data
Examples: "How much do I spend on coffee?", "What changed from last month?", "List my subscriptions." Answers use only your imported transactions. Use Clear chat to reset the thread.
What AI won't do
The assistant is scoped to spending analysis — totals, categories, merchants, trends, subscriptions, month-over-month. It does not answer affordability, forecasting, investment, or budgeting advice, because Finalyze holds past spend only, not income or balances.
Plans & privacy
Free vs Pro
| Free | Pro | |
|---|---|---|
| Import formats | PDF, OFX/QFX, CSV | Same |
| History | Last 2 months | Unlimited |
| Accounts | 1 | Unlimited + family mode |
| AI chat & insights | — | Included |
| Custom KPI cards & rules | — | Included |
| Price | $0 | $7/mo or $70/yr |
Upgrade from the app or the pricing section on the home page. Your data stays local on every plan.
Referrals
Pro subscribers can refer friends: give a month, get a month. Open the app while signed in to copy your referral link. Referral codes are stored on your profile — not in your transaction data.
Privacy & data
- On device: transactions, categories, budgets, tags, merges, accounts, and AI model cache.
- On server: email, auth credentials (encrypted), license/referral flags, onboarding preferences — never statements.
- Network: Network calls happen only for sign-in, Pro upgrade checkout, and the one-time AI model download you choose.
Troubleshooting
- Data disappeared — different URL/origin than before, or browser data cleared. Restore from a JSON backup if you have one.
- Import failed — try OFX/QFX instead of CSV, or use the PDF review step to fix columns. Check the sample file at
sample/activity.qfx. - AI won't download — use HTTPS, ensure enough disk space, and a browser with WebGPU (recent Chrome, Edge, or Safari).
- Free plan date range — only the most recent two months of transactions are kept; upgrade to Pro for full history.
- Email confirmation — check spam/junk mail.