Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create page for custom reports #316

Merged
merged 18 commits into from
Feb 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs-sidebar.js
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,7 @@ const sidebars = {
'experimental/monthly-cleanup',
'experimental/report-budget',
'experimental/simplefin-sync',
'experimental/custom-reports',
],
},
],
Expand Down
77 changes: 77 additions & 0 deletions docs/experimental/custom-reports.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# Custom Reports

:::warning
This is an **experimental feature**. That means we’re still working on finishing it. There may be bugs, missing functionality or incomplete documentation, and we may decide to remove the feature in a future release. If you have any feedback, please [open an issue](https://github.com/actualbudget/actual/issues) or post a message in the Discord.
:::

:::warning
All functionality described here may not be available in the latest stable release. Use the `edge` images for the latest implementation.
:::

Custom reports allow analyzing transaction data by using charts or a data table with summary statistics. There are four types of reports available:

1. Table View
2. Bar Graph
3. Area Graph
4. Donut Graph

## Left Menu

The **Type** menu can be used to change the display of transactions shown in the report:
1. Payment: outflows from For budget accounts
2. Deposit: inflows in For budget accounts
3. Net: sum of outflow and inflows across For budget accounts. Net results are the figures shown in Budget page under Spent and Received columns. This option is currently available in Data Table, Area Graph and partially available in Bar Graph and Donut Graph

This sum can be **Split** by Category, Group, Payee, Account or Month.
Note that Split by Account shows sum of transactions from For budget account, not periodic balance.
Monthly breakdowns are provided by changing Mode from Total to Time.

![](/img/reports/cr-left-menu.png)

### Date filters

Transactions can be filtered for a certain period of time using **Range**. **Live Date** filters show transaction data dynamically, for instance during the current month (This month). For a fixed time frame, **Static Date** filters will show transactions between two dates.

### Options

Under Options, reports behavior can be changed

* Show hidden categories will enable Categories marked as hidden in the Budget page
* Show empty rows will show items chosen in Split with 0 value
* Show off budget enables two categories:
* Transfers: include all transfer across For budget account. Transfer from For budget to Off budget are not counted.
* Off budget: include all transactions in Off budget accounts. Transfers from For budget to Off budget are not counted.
* Show uncategorized will show transactions which have not been assigned a category

Single Categories or entire Groups can be excluded from the Report by using the list on the bottom left side.
Greyed out options in dropdown menus are not yet available for the chosen report.

## Center Menu

Icons in the first group of the center menu are used to select the displayed report, the second group is used to show graph legends, summary and labels. The funnel icon can be used to [filter transactions](../reports-filters/filters.md). Finally, the menu on the right-hand side is used to Save a Custom Report to the Reports page.

![](/img/reports/cr-center-menu.png)

## Saving a report

A custom report can be saved by using the menu on the right-hand side. If a saved report is modified it is possible to either overwrite the existing report or save the changes as a new report. The same menu can be used to reset to default if you'd like to quickly return to your saved version. Otherwise if no action is taken, the changes will be automatically discarded when leaving the current report.

![](/img/reports/cr-save.png)

Saved reports will be shown in the Report page in alphabetical order.

![](/img/reports/cr-page.png)

## Example

Custom Reports are really powerful and can provide unique insights. We now highlight a complex example that uses most features. Our goal is to have a stacked bar chart broken down by group with month on X axis, in a certain time frame, excluding a certain category and payee.

* Select Bar Graph and set Time Mode
* Select Split by Group
* Use the Live Date filter and set Year to date as a Range
* Click on the checkbox next to Savings to exclude from the sum
* Click on the Filter icon, select Payee is not "Movies"
* Enable the legend, summary and label.

![](/img/reports/cr-example.png)

Binary file added static/img/reports/cr-center-menu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/img/reports/cr-example.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/img/reports/cr-left-menu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/img/reports/cr-page.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/img/reports/cr-save.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading