Everything you need to know to set up Perfinova, import your data, and start tracking your financial life — in one place.
Perfinova is a personal finance dashboard that lives entirely on your Mac. No bank logins, no subscriptions, no data leaving your device. You import CSV exports from your banks, and Perfinova does the rest — categorizing transactions, tracking budgets, monitoring goals, and visualizing your net worth over time.
Net worth, cash flow, top spending categories, and recent transactions at a glance.
Import from any bank or credit card. Perfinova auto-maps columns and detects duplicates.
Auto-categorize transactions with smart rules. One-time setup, runs forever.
Set monthly budgets per category and track savings goals with progress bars.
Track holdings, cost basis, and unrealized gain/loss across all your brokerage accounts.
Ask plain-English questions about your spending, net worth, and goals.
When you first open Perfinova, you'll see a Touch ID prompt followed by a dashboard pre-loaded with demo data. This is intentional — it lets you explore all the features before adding your own transactions.
On first launch, Perfinova will prompt you to authenticate with Touch ID (or your Mac login password if Touch ID isn't available). This protects your financial data whenever the app opens.
Perfinova loads with sample transactions, accounts, budgets, and goals so you can see how everything works before importing your real data. Click through the Dashboard, Transactions, Reports, and Ask AI pages to get familiar.
When you're ready to start with your own data, go to Settings → Data and click Clear All Data for a blank slate, or Reset to Demo Data to come back to the demo at any time.
Perfinova imports CSV and Excel files exported from your bank or credit card. Most banks support this — look for "Export transactions" or "Download activity" in your account history.
Log into your bank's website (not the app) and find the transaction export option. Each bank is slightly different:
Click Imports in the left sidebar. Select the destination account from the dropdown (e.g. "Chase Checking"), then optionally enter the institution name. This helps with future imports.
Drag your CSV file onto the upload area, or click to browse. Perfinova shows a preview of the first 25 rows, auto-suggests column mappings, and displays the date range of the file (e.g. "Jan 15 – May 20, 2025") so you can confirm you're importing the right period before committing.
Each column header has a dropdown to map it to a Perfinova field (Date, Description, Amount, etc.). Perfinova guesses these automatically — just verify they look right and click Import.
After a successful import, Perfinova shows a category breakdown of what was just added — for example, "Dining · 34 transactions, Groceries · 18 transactions" — so you can see at a glance how your transactions were categorized.
A blue Apply Rules banner also appears. Click it to instantly run all your saved categorization rules against the new transactions. This is especially useful if you added rules after a previous import and want to back-apply them.
Once done, go to Transactions and filter to "Show uncategorized" to review any transactions that didn't match a rule. Click a category directly in the table to assign it inline.
Most bank CSV exports work with Perfinova out of the box. But some banks produce messy files that need a little cleanup first. Here's what to look for and how to fix it.
Perfinova works best when your CSV has these columns (exact names don't matter — you'll map them in the preview screen):
Date, Description, Amount, Category
2026-04-01, STARBUCKS #1234, -5.75, Dining
2026-04-02, PAYROLL DEPOSIT, 3500.00, Income
2026-04-03, AMAZON.COM, -42.99, Shopping
Some banks add extra lines at the top before the actual column headers — things like account numbers, date ranges, or bank branding. These confuse the importer.
Bank of America · Account ending 1234 ← DELETE THIS
Transactions from 04/01/2026 to 04/30/2026 ← DELETE THIS
← DELETE THIS
Date,Description,Amount ← Keep this (real headers)
04/01/2026,STARBUCKS,-5.75 ← Keep this
Open the CSV in TextEdit or Excel, delete everything above the column header row, and save.
Some banks (Chase, BofA) use two columns instead of one signed Amount column:
Date, Description, Debit, Credit
04/01/2026, STARBUCKS, 5.75,
04/02/2026, PAYROLL,, 3500.00
In the Perfinova import preview, map Debit → "Amount (debit/out)" and Credit → "Amount (credit/in)". Perfinova will combine them into a single signed amount automatically.
Perfinova accepts most date formats automatically. These all work:
2026-04-01 ← ISO format (preferred)
04/01/2026 ← US format
01/04/2026 ← EU format
April 1, 2026 ← Long form
04-01-26 ← Short year
If dates are parsing incorrectly (e.g. months and days swapped), open the CSV in Excel, format the date column as YYYY-MM-DD, and re-save.
Some exports add a summary row at the bottom:
04/30/2026, NETFLIX, -15.99
← DELETE from here
Total Debits: $1,234.56
Total Credits: $3,500.00
Delete any rows after the last real transaction before importing.
Amounts should be plain numbers. These cause problems and need to be cleaned up before import:
$5.75 ← Remove the $ sign
"5,000.00" ← Remove quotes and commas
5.75 DR ← Remove text suffixes
(42.99) ← Replace parentheses with negative: -42.99
In Excel: select the Amount column → Find & Replace → remove $ signs and commas. For parentheses, use a formula: =IF(LEFT(A1,1)="(", -VALUE(MID(A1,2,LEN(A1)-2)), VALUE(A1))
Bank descriptions are often messy: SQ *STARBUCKS #12345 SAN FRANCISCO CA. If you clean this up into a separate Merchant column, Perfinova's rules engine works much better:
Date, Description, Merchant, Amount
04/01/2026, SQ *STARBUCKS #12345 SF CA, Starbucks, -5.75
04/03/2026, AMZN Mktp US*AB12CD, Amazon, -42.99
This is optional — but a clean Merchant column makes categorization rules far more accurate. The upcoming AI import feature in v1.1 will do this cleanup automatically.
Exports as CSV with separate Debit/Credit columns. Map both in preview. No preamble rows.
Has 7 header rows before the data. Delete rows 1–6, keep row 7 (column headers). Uses separate Debit/Credit columns.
Clean CSV with Date, Description, Merchant, Category, Type, Amount (USD). Maps perfectly with no cleanup needed.
Has preamble rows and uses separate Debit/Credit columns. Delete header rows above column names before importing.
Clean CSV format. Brokerage transfers should be categorized as Investments, not income.
Generally clean. Watch for parentheses around amounts for charges — convert to negative numbers.
Rules let Perfinova automatically assign categories to imported transactions based on merchant name, description, or amount. Set them up once and every future import is categorized automatically.
Go to Settings → Rules → New rule. Set a condition (e.g. Merchant contains "Starbucks") and assign a category (e.g. Dining). Click Save rule.
Click Apply rules to uncategorized transactions to run all your rules against existing transactions. Use Apply (overwrite) to re-categorize everything, even already-categorized transactions.
Go to Settings → Categories to add your own categories. Each category has a type (expense, income, or transfer) and a color used in charts and reports.
Go to Budgets, select the month, and click + New budget. Choose a category and enter a planned amount. The progress bar turns red when you go over.
Use Suggest from history to let Perfinova auto-fill amounts based on your average spending, or Copy last month to duplicate the previous month's budget.
Go to Goals → New goal. Set a name, target amount, current amount, and target date. Link it to a savings account to auto-track the balance. Perfinova shows how much you need to save per month to hit your target.
Perfinova saves your net worth automatically every day on launch, building a historical chart over time.
Monthly bar chart showing income and spending side by side for the past 12 months.
Donut chart and table showing where your money went by category for any date range.
See exactly which categories went over or under budget for any month.
Ask plain-English questions about your spending, income, net worth, budgets, goals, and more — with support for flexible date ranges like "last 3 months" or "Q1 2025".
Export all transactions as a CSV from the Reports page for use in Excel or other tools.
Type any question in plain English into the Ask AI page. The assistant answers entirely from your local data — no internet connection needed, nothing leaves your Mac. Here's what you can ask:
| Topic | Example questions |
|---|---|
| Spending | "How much did I spend on dining last month?" · "What did I spend on groceries in March?" · "Total spending last 3 months" |
| Date ranges | Use "last month", "this month", "last 3 months", "last year", "Q1 2025", "in March", "in 2024" — the assistant understands them all |
| Merchant | "How much did I spend at Trader Joe's?" · "What did I pay at Amazon last month?" |
| Income & cash flow | "What was my income this year?" · "What is my cash flow this month?" · "Income vs expenses last month" |
| Savings rate | "What is my savings rate?" · "How much am I saving each month?" |
| Accounts & net worth | "What is my net worth?" · "What is my savings balance?" · "Show all my accounts" |
| Budgets | "Am I over budget on groceries?" · "Show me my budget status this month" · "Which categories are over budget?" |
| Goals | "Show me all my goals" · "How is my emergency fund going?" · "Am I on track for my vacation goal?" |
| Top & largest | "What were my biggest expenses this month?" · "Top spending categories last quarter" |
| Averages | "What is my average grocery spend?" · "What do I typically spend on dining per month?" |
| Year-over-year | "How does this year compare to last year?" · "Year-over-year spending" |
| Subscriptions | "What subscriptions am I paying?" · "Show my recurring charges" |
| Affordability | "Can I afford a $5,000 vacation?" · "Can I afford a $800 laptop right now?" |
Go to Settings → Data to manage your app data. Two options are available:
Wipes all your data and reloads the original sample transactions, accounts, budgets, and goals. Useful if you want to re-explore the app's features or start fresh after experimenting.
Permanently deletes everything — transactions, accounts, budgets, goals, holdings, categories, and rules. Gives you a completely blank slate to import your own real data.
~/Library/Application Support/PerfinovaProduction/finance.db. Nothing is ever sent to a server, cloud, or third party. Perfinova has no internet connectivity requirement.