Use the built-in web reports and export them to CSV
On this page
The web app has four ready-made reports: Cash flow, Spending, Income and Net worth. Open them to check a ledger's numbers at a glance, then download any of them as a CSV file. For anything else, ask your AI: see how Pennyweight works and get any report by asking your AI.
How to do it
- Pick the ledger in the sidebar. Every report covers the ledger selected there.
- Open Reports. The overview shows money in, money out, net and Kept for the range, your largest spending categories, and a list of the reports. Net worth is listed only when the ledger has accounts.
- Choose a range from the date picker at the top: Last 7, 30 or 90 days, This month, Last month, Year to date, Last year or All time. For your own dates, enter a start date, an end date or both under Custom range, then choose Apply custom range. Reports opens on Last 30 days.
- Choose Open on a report. It opens on the same range, and Back to reports returns you to the overview on that range.
- Choose Export CSV at the top of the report to download the file. On Cash flow with All time selected, the button reads Exporting… for a moment while it loads all your transactions first.
The four reports
- Cash flow. Money in, money out, net and Kept, which is the net as a share of money in, with a weekly chart and table. See see income vs expenses over time for how its weeks are counted.
- Spending. Every category you spent in, with its total, its share of all spending and its number of transactions. When there's an earlier period to compare against, each category also shows its change.
- Income. Every deposit grouped by source, with total income, the number of deposits and the number of sources. The source is the merchant name, so a refund that isn't matched to its purchase shows up as a source of its own. See match a refund to its purchase.
- Net worth. What you own minus what you owe, account by account. It has no date range. See check your net worth.
What's in the file
Each export is built in your browser from the same data as the report.
| Report | Columns |
|---|---|
| Cash flow | Week start, Money in, Money out, Net |
| Spending | Category, Amount, Percent of total, Transaction count |
| Income | Source, Total amount, Deposit count |
| Net worth | Account, Institution, Type, Mask, Balance |
- Amounts are plain numbers, such as -89.10, with no currency symbol and no thousands separator.
- Dates use the YYYY-MM-DD format.
- The Cash flow file has a row for every week of activity, from your earliest to your newest transaction in the range, even when the page shows only the latest 26.
- Spending percentages keep one decimal in the file. The page rounds them to whole numbers.
- A Currency column is added when the report involves more than one currency. On Net worth it gives each account's currency.
- The file name includes the range. With a start and end date, it's pennyweight-, the report name, then both dates, such as
pennyweight-spending-2026-09-01-2026-09-30.csv. The net worth file ispennyweight-networth.csv. - Some cells start with an apostrophe. A text cell that begins with =, +, - or @ gets a leading apostrophe so your spreadsheet shows it as text. Amounts stay numbers.
Good to know
- Transfers are left out. Cash flow, Spending and Income skip a transaction that is linked as a transfer or categorized as Transfer, the same rule your AI's reports use. When a refund fully matches its purchase, both the refund and the purchase are left out. A partly matched refund and its purchase both still count. See link the two sides of a transfer.
- Spending counts money out only. An unmatched or partly matched refund doesn't lower a category's total. It counts as money in on Cash flow and as a source on Income.
- One currency per total. Totals are in the ledger's currency. Transactions in another currency are left out of them, and a note under the totals names those currencies. Nothing is converted. See accounts and totals in more than one currency.
- New ledgers need some history. Until a ledger has about 30 days of transactions, Reports shows how many days it has so far instead of the overview.
- There's no link to expire. The file is made in your browser and saved straight to your device. An export your AI makes comes as a link that lasts about 2 minutes.
- Exports work on an expired plan. If your plan has expired, Reports shows your last 30 days and still lists each report, and Export CSV still works.
- The button hides when there's nothing to export. A report with no data has no Export CSV button, and Net worth hides it while a balance is still loading.
- For transactions, use your AI. These files hold the report's totals. For a file of your transactions or a full backup, see export transactions or the audit log.