The reports page arranges your transactions into a table: you choose what the rows represent, the columns are the days, months, or years of one navigated period, and each cell is the summed amount of a single transaction type, in your base currency. It is distinct from the date-ranged insights view — open it from the Transactions page; it lives at Transactions reports.
Choosing what you see
- Group by — a select in the header sets the row dimension: by description, tag, client, project, task, or currency. Changing the dimension clears any active row filters, since they no longer apply.
- Expense / income toggle — a segmented switch picks which transaction type the matrix sums. The whole table shows one type at a time, and amounts take that type's color (income green, expense red).
- Gross / net / tax switch — picks which side of a transaction's optional tax split every cell is summed on. Gross is the default and sums amounts as entered; Net excludes tax; Tax sums the tax alone, so only transactions you actually split contribute. See Recording tax.
- Period mode — a segmented switch between week, month, and year sets how the columns are bucketed.
Navigating the period
A prev/next control with a window label sits in the header. Use the chevrons to step the window backward or forward one period at a time; the label shows the current window (a date range for weeks, the month and year for months, the year for years). Your group-by, type, and period-mode choices are remembered per browser.
What it shows
- Period columns — one column per day, month, or year in the window, depending on the period mode. Day columns are headed by the day number alone (the period navigator above already names the month); month columns use the short month name for your language.
- Row dimension — one row per value of the chosen grouping. Use the funnel in the row header to filter rows; active filters appear as chips above the table.
- Totals — a trailing total column per row, a totals row across the columns, and a grand total. Zero cells show as a dash; hover a compact amount to see the precise value.
- Currency — amounts recorded in a foreign currency are converted to your base currency at the latest stored rate. Under the currency grouping that would make an
EURrow read in your own currency, so those cells and their row total show the row's own currency instead. The totals row and the grand total add up across currencies, so they stay in your base currency.
Exporting
The Export action carries the current group-by, type, gross/net/tax basis, period mode, and window to the reports exports page, where you generate a downloadable report. The grouping picker is format-aware: PDF gives each grouping its own report section, XLS puts each grouping on its own tab, and CSV holds a single grouping. The generated report states which basis it used, and its by-currency breakdown follows the screen: each row is written in the currency it names, while every other breakdown is in your base currency. Exports run in the background; see Export data.
On mobile
The mobile app has a transactions reports screen, but it is a native rework rather than the web grid: instead of a pivot table it shows a titled trend card with a stacked bar chart over the period buckets and a tappable legend. Tap a legend row to highlight one group's trend; tap a bar to read out that bucket's total in the caption.