Reports - grumnuts/dosh GitHub Wiki

Reports

The Reports section provides an annual view of your finances. Select a year using the dropdown at the top.

Reports are split across two tabs: Cashflow and Portfolio.


Cashflow Tab

Spending by Category

A breakdown of spending by category across all months of the year, shown as a table:

  • Rows = budget categories
  • Columns = months (Jan–Dec)
  • Each cell = total spent in that category for that month

Use this to spot categories where spending is trending up or identify months with unusually high costs.

Overspend

Shows a summary of every category where your spending exceeded your budget at any point during the year. Each category appears as a single row with annual totals:

  • Annual Budget β€” the category's budget amount Γ— number of periods in a year
  • Spent β€” total amount spent across all periods in the year (credits and refunds are netted against spending)
  • Over β€” total accumulated overspend across all periods

Overspend is calculated per period (week, fortnight, month, etc.) and summed β€” so a category that overspent in two separate months shows the combined overspend from both periods.

Useful for reviewing where your budget needs adjusting.

Income by Category

A stacked bar chart showing monthly income broken down by income group, followed by a full category breakdown table. On desktop the table shows all 12 months at once; on mobile, use the month selector to view one month at a time.

Helps you understand the composition of your income β€” useful if you have multiple income sources or variable freelance/side income.

In vs Out

A monthly breakdown of all money flowing in and out of your accounts. Displayed as a bar chart and a table. Helps you see at a glance which months you ran a surplus and which you ran a deficit.

In is the sum of all positive transactions (income, transfer inflows, cover inflows, sweeps received). Out is the sum of all negative transactions (expenses, transfer outflows, cover outflows, sweeps sent). Starting balance and reconciliation adjustments are excluded as they are accounting artefacts, not real cash flows.

At the all-accounts level, transfers cancel out (every outflow has a matching inflow), so the Net is unaffected. On a per-account view, transfers are visible as real money moving through that account.

Use the account list on the left to filter In vs Out to a specific account. "All accounts" is selected by default.

Payees

Lists every payee you've transacted with during the year, grouped into:

  • Income payees β€” sources of money in
  • Expense payees β€” where money went

Each payee shows total inflow or outflow for the year. Use the search box to find a specific payee. A bar chart shows the top payees by volume.


Portfolio Tab

Portfolio Breakdown

Shows each asset as a percentage of total assets. Investment portfolio accounts are expanded into individual tickers.

Assets are sorted by value (largest first). Percentages are distributed using the largest-remainder method so they always sum to exactly 100%.

Excluding assets β€” hover a row to reveal an Exclude button. Clicking it removes that asset from the breakdown and recalculates percentages across the remaining assets. Exclusions are stored locally and persist across sessions.

To review or restore excluded assets, click the N excluded assets β€” show link at the bottom of the table. Each excluded row shows a Re-add button to restore it. Click Hide excluded to collapse the list again.


Net Worth

Plots the combined balance of all accounts at the end of each month throughout the year. A negative net worth indicates total liabilities exceed total assets. The line turns red when net worth is negative or trending down month-over-month.

Account Balances

Shows each account's balance over time as a line chart. Click any row in the table below the chart to isolate that account β€” the chart zooms to fit only that account's range, making it easy to see changes in smaller accounts that would otherwise be flattened by larger ones (like a superannuation account). Click the row again or tap Show all to return to the full view.

Goals

Shows savings goals and debt payoff progress. Accounts are grouped into two sections:

Savings β€” all savings accounts with a goal amount set. Each card shows:

  • Balance history as a solid line and a projected trend as a dashed line
  • A progress bar toward the goal amount
  • On track / Off track status if a goal target date is set, or a projected completion month if no target date is set

Debts β€” all active debt accounts. Each card shows:

  • Balance history and a projected payoff trend
  • A progress bar showing how much of the debt has been paid off
  • Projected paid-off date based on recent monthly payment trends

The projection uses the average monthly change over the last 3 months and extends up to 20 years.

Investments

Shows the current state of your investment portfolio across all accounts, and how its value has changed over time. Only visible when investment holdings exist.

Holdings table β€” one row per ticker:

Column Description
Ticker The ticker symbol and instrument name
Units Total quantity held across all accounts
Price Last fetched market price
Market Value Units Γ— Price
Cost Basis Total amount paid to acquire the current holdings
Gain / Loss Market Value βˆ’ Cost Basis, shown as a dollar amount and percentage

Prices are fetched from Yahoo Finance. Use the Refresh Prices button to fetch the latest prices; the timestamp of the last update is shown alongside it.

Portfolio value chart β€” a line chart showing the market value of each ticker over time, based on monthly price snapshots. Each ticker has its own line, allowing you to see the relative contribution and growth of individual holdings.

Setting up investment tracking

  1. Open a budget category and enable Investment category
  2. Enter the Ticker for the instrument (e.g. VAS.AX, AAPL)
  3. When recording a transaction against that category, fill in the Quantity field:
    • Positive quantity = buy / accumulate
    • Negative quantity = sell / dispose
  4. The transaction amount is the fiat cost (negative for a purchase, positive for a sale)

Holdings are recalculated from transactions each time an investment transaction is saved. Prices are fetched automatically when a new ticker is first seen, and can be refreshed manually at any time.