actualbudget / actual

A local-first personal finance app
https://actualbudget.org
MIT License
15.28k stars 1.19k forks source link

[Feedback]: Custom Reports #1918

Closed carkom closed 4 months ago

carkom commented 12 months ago

Thanks to everyone for their input in getting this merged. Thanks to the maintainers for the reviews. Anything not listed please feel free to add to the conversation. Cheers!

Update: moving completed items down and consolidating most recent feedback items

Known Issues:

Upcoming Additions:

UI suggestions:

Version 1 Known Issues:

Upcoming Additions:

UI suggestions from reviewers (open to discussion, leave your comment!):

Backend planned additions/changes to improve code/functionality:

pmamberti commented 10 months ago

I've read through this as I was looking for some better understanding of how the custom report works. I select a single category and look at the Time / Expense report.

As expenses in this category initially were setup as transfers to an off-budget account with some reimbursement coming into an On-Budget account, the months where this happened are not appearing which I find surprising given the transfers out must have a category. To see some activity there, I need to switch to Income, however the totals I see there are only for the income and not include the expenses (which I would expect given I've selected Income).

My expectation was that the expenses for that category would show up when Expenses is selected, but perhaps I am not understanding correctly how this custom report should work, is the fact that transfers out do not show even if they have the same category I'm looking at expected behaviour or a bug or some kind of limitation due to how Actual works behind the scenes with transfers?

Thanks for your incredible work here, truly appreciated, hope we see it out of experimental soon! Piero

carkom commented 10 months ago

First question: are you using the released version or is this happening on edge? There's been updates that should fix this (new release out soon!)

Secondly: have you ticked "show offbudget" tick box?

pmamberti commented 10 months ago

I'm on latest released, and even ticking off-budget items and makes no difference, but thanks for letting me know that changes are coming, will patiently wait for the release to test and report. Thanks for you work on this šŸ™šŸ»

chevdor commented 10 months ago

Verrrry nice, looking forward to being able to save them.

youngcw commented 10 months ago

I don't know if this is on your radar or not. I have to sometimes toggle the "show unused" option in order for lines to show up.

Example:

  1. Set report to table
  2. Set Time mode
  3. Set Type to net
  4. Observe that income categories are not shown

This is fixed by cycling the "show unused" option.

carkom commented 10 months ago

I don't know if this is on your radar or not. I have to sometimes toggle the "show unused" option in order for lines to show up.

Example:

  1. Set report to table
  2. Set Time mode
  3. Set Type to net
  4. Observe that income categories are not shown

This is fixed by cycling the "show unused" option.

Okay I see that bug, wasn't on my radar. Thanks for the shout!

MatissJanis commented 10 months ago

Small timeseries bug: the 'net' option initially is disabled, but after switching a few things it becomes available. When using it - the data is very wonky.

https://github.com/actualbudget/actual/assets/886567/33975dd1-9a8e-4388-b41f-c23f06f41dd5

8bitgentleman commented 9 months ago

How do you use Split by - Year? No matter what I try it always seems to be gray'd out on the demo site(and my personal version). Is it not implemented yet? Loving the custom graph overall image

carkom commented 9 months ago

How do you use Split by - Year? No matter what I try it always seems to be gray'd out on the demo site(and my personal version). Is it not implemented yet? Loving the custom graph overall

Yea not implemented yet.

youngcw commented 9 months ago

When using the data table with lots of months, the category group line loses its highlight anywhere that was off screen to start.

This image is at the transition between initially on screen and initially off screen. Everything to the right of that is not highlighted.

image

carkom commented 9 months ago

When using the data table with lots of months, the category group line loses its highlight anywhere that was off screen to start.

This image is at the transition between initially on screen and initially off screen. Everything to the right of that is not highlighted.

I've noticed that as well. Any suggestions on how to fix it?

Teprifer commented 9 months ago

Checked on Edge I pulled earlier my today, bar charts are missing the Y axis numbers formatting (area graph Y axis is formatted).

I didn't notice earlier as I don't use the bar charts much.

Kidglove57 commented 9 months ago

@carkom Thank you for all the refinements that are coming through. They are fantastic.

I'm using the most recent Edge tag. I love Custom Reports but only tend to use the table view (Income and Expense, Tax reporting etc). So my thoughts are restricted to that. The new Options dropdown is a great addition.

This is a very minor point but some of my Category names are truncated (Payee names too if reporting by Payee). I am on a 15 inch laptop screen but I don't think this is related to screen size as the column width is fixed.

For me these Custom Reports are such an amazing feature for an app like Actual! My ideals would be: 1) to freeze the first column when scrolling a table. In the same way that the first (header) row is currently frozen. 2) to have a slightly wider first column to accommodate payee names. 3) If possible to be able to select a date range that included days not just months - due to the British tax year running from 5 April 4) To save Reports - but unfair of me to mention as this is work in progress at present.

carkom commented 9 months ago

Thanks! Glad you like it and use it! I appreciate the feedback.

  1. I have a PR ready with this change in it but I think I'll wait until the "saving" functionality is done.
  2. I can change the width of the column. Have you discovered that "on hover" the full name is displayed?
  3. Yep, this is on my roadmap. I've got space built-in/resereved to add an "interval" selection which will have options like day/week/month/year.
  4. šŸ˜„
Kidglove57 commented 9 months ago

Thanks for your swift response! And the very encouraging replies.

Incidentally, I was playing with a very long established NZ app recently (Pocketsmith). They had still not managed to freeze the first column/row on their cashflow forecasts. So the progress you are making in Actual is remarkable.

No, I had not discovered the "reveal full name on hover" feature. When I tried it just now I thought at first that it was not working. But I think that was because I was not allowing a sufficient delay for it to appear. It does seem just a touch too long for optimum discoverability.

Just a thought - is this delay set to the same speed as notes are in other parts of the app (category and accounts notes)? Those seem a micro second faster.

PS I think in the light of this I am happy for the column width to stay "as is". With some payee names being so long, the column could never be wide enough for everything, so no point in compromising the "by month" columns.

PPS with this sort of functionality I can soon see my self dumping my Banktivity (Mac app) completely. I only like it for the reporting.

Kidglove57 commented 9 months ago

And thanks for fixing the column alignment when in a multi month table view. Looking really good for me now.

carkom commented 9 months ago

The timing for on Hover is different than those elements. Can easily be changed to be slightly faster though.

Kidglove57 commented 9 months ago

Brilliant - thanks! Iā€™m sure it can be quite subjective but users (me?!) can be impatient and assume nothing will happen.

carkom commented 9 months ago

Brilliant - thanks! Iā€™m sure it can be quite subjective but users (me?!) can be impatient and assume nothing will happen.

I think it's a valid point. Thanks for calling it out! Cheers.

Teprifer commented 9 months ago

Thanks again for your work in to these custom reports, it's quite evident you've put a lot of work in to this feature!

Teprifer commented 9 months ago

When on the Data Table view, the toggle Labels button is available for toggling, which doesn't fit as there are no labels.

Teprifer commented 9 months ago

Not specific to the PR I was looking at, so adding here:

cazdlt commented 9 months ago

Hello! Thanks for all the great work being done here.

Currently, report axes do not fit big numbers very well. I am working in COP, where monthly finances are mostly counted in the millions, and none of the reports show the numbers completely (pic related).

This happens on all report types, including custom ones.

This may be fixed by dynamically adjust margins on reports based on largest value in the graph. Thanks!

image

Teprifer commented 9 months ago

Suggestion for when custom reports moves out of experimental: Reduce the net worth display card to half it's current width.

At the moment the top row of the reports preview screen has Net worth which is twice the width of other cards (~2/3 see below), then net worth which is 1/3. If net worth was reduced to 1/3, then custom reports would slot in to the top row if Sankey was disabled (not sure if it'll move out of experimental?) making it all very neat indeed.

Let me know if you think favourably of this idea - although I appreciate this does depend on the status of the Sankey graph. If not I'll create an enhancement request to fix the net worth width. It's width should be 2x width + the between card spacing but it is currently 2x width which means the right edge doesn't align with the right edge of the 2nd column of cards below it.

Redbox3070 commented 9 months ago

Hi, I'm testing the custom reports experimental feature but I'm having a hard time understanding why there is a "show off budget" option. I think they should included by default as they are counted in the "budget" page.

In my case I move money from onbudget to off budget investment account and I set as category "Investments". After enabling off-budget transactions I also get two additional categories "transfers" and "offbudget" categories under the group "Uncategorized". I'm not sure how the two are calculated (sum of all transfers and sum of all transactions towards off budget?), but this also adds categories which inflate the totals at the bottom of table view and bar chart view. To my understanding this categories cannot be hidden from the bottom left menu. A workaround is to add a filter for all categories to hide "transfers" and "offbudget".

carkom commented 9 months ago

Hi. The point of the feature is to allow for a multitude of use cases. I'd caution at assuming that there's only one way people use the app.

Sorry, but you are mistaken. The "budget" page does not include off budget transactions. By definition, the whole point of the page is to display "on budget" data. Transactions "towards" off-budget accounts are on budget and by default would be shown without any toggles or filters needed. Anything with a category assigned is considered on budget and would be shown.

It might help if you shared some screenshots to help point out what you are seeing. Feel free to use privacy filter to hide the numbers.

Redbox3070 commented 9 months ago

Hi. The point of the feature is to allow for a multitude of use cases. I'd caution at assuming that there's only one way people use the app.

First of all sorry if I was rude in my comment.

Sorry, but you are mistaken. The "budget" page does not include off budget transactions. By definition, the whole point of the page is to display "on budget" data. Transactions "towards" off-budget accounts are on budget and by default would be shown without any toggles or filters needed. Anything with a category assigned is considered on budget and would be shown.

In Actual a transfer from an on-budget account to an off-budget account requires a category and is considered as an expense in the "Budget" page. I use this to budget for investments, this way I can track my outflows to an investment account, which I added as an off-budget account.

It might help if you shared some screenshots to help point out what you are seeing. Feel free to use privacy filter to hide the numbers.

Sure. In Oct23 I made a transfer from an on budget account to an off budget account, I set as a category "investment". The bar chart shows 0 expense in the group that contains "investment" category in october.

offbudget turned off

The budget page shows that in October i had an expense in "Investment". The number shown in "Spent" column in budget page is different vs the default behaviour in the chart of what an expense is considered.

budget

If i turn on "Show off-budget"

offbudget turned on

The group that contains "Investment" is now correctly displayed, but also a group named "Uncategorized & Off Budget" shows up. The group contains two automatically created categories named "Transfers" and "Off budget". I am not sure how they are calculated, but I cannot hide them without also hiding transfers from on-budget to off-budget accounts in the category "Investments". The workaround I have found is to use the filter and manually select all categories, this way "Transfers" and "Off budget" do not show up in the bar chart.

Teprifer commented 9 months ago

@Redbox3070 Sounds like you may want to look at the transactions themselves, if the transactions aren't looking as you'd expect I'd suggest opening a support thread in discord. Could be related to having the off budget on budget before and moving it off, or bank import wonkyness or something else.

p.s. an easy way to hide values is to use the eye icon in the top right to enable privacy mode: image

carkom commented 9 months ago

The group that contains "Investment" is now correctly displayed, but also a group named "Uncategorized & Off Budget" shows up. The group contains two automatically created categories named "Transfers" and "Off budget". I am not sure how they are calculated, but I cannot hide them without also hiding transfers from on-budget to off-budget accounts in the category "Investments". The workaround I have found is to use the filter and manually select all categories, this way "Transfers" and "Off budget" do not show up in the bar chart.

I see now. Thanks for the SS and for taking time to explain it. This is a bug, I'll work on fixing it in the next PR. Those transfers should be visible by default.

joel-jeremy commented 9 months ago

I noticed that the custom report tooltips are blurred when privacy mode is enabled. Those should not be blurred IMO as users usually intend to view the amounts whenever they hover over the report components. That, or we should add a keyboard shortcut to toggle the privacy mode.

psybers commented 8 months ago

It looks like the "Last Month" time filter might be picking the wrong dates. As you can see, it shows two (possibly partial for January?) months of data:

image

psybers commented 8 months ago

The bar graph should probably sort categories the same way as they are sorted everywhere else. For example, this is how they look in the budget:

image

And in dropdowns on transactions:

image

And even the checkboxes in the custom report to select them:

image

But then the actual graph winds up with a (seemingly arbitrarily) different sort:

image

This can be annoying as you might toggle things on/off and then after each toggle glance over to the chart. But then you have to find it in the chart and have no hint as to where to look.

psybers commented 8 months ago

A feature request for custom reports: the ability to click on data in the table and view transactions.

For example, you might get something like this:

image

It'd be nice if I could click on the values and have it jump to a list of transactions matching the currently reported period and that category.

This is something you can already do in the report budget by clicking in the "Spent" column:

image

which then takes you to a view like:

image
psybers commented 8 months ago

I noticed that the custom report tooltips are blurred when privacy mode is enabled. Those should not be blurred IMO as users usually intend to view the amounts whenever they hover over the report components. That, or we should add a keyboard shortcut to toggle the privacy mode.

True. But one thing that should be blurred (but currently isn't) is the labels in the graphs themselves:

image
youngcw commented 8 months ago

True. But one thing that should be blurred (but currently isn't) is the labels in the graphs themselves:

This is already fixed in edge. In what im seeing the labels just go away with privacy mode

carkom commented 8 months ago

The bar graph should probably sort categories the same way as they are sorted everywhere else. For example, this is how they look in the budget:

Mine does sort the legend in the way you describe. Can you give me your steps to repeat the issue?

psybers commented 8 months ago

The bar graph should probably sort categories the same way as they are sorted everywhere else. For example, this is how they look in the budget:

Mine does sort the legend in the way you describe. Can you give me your steps to repeat the issue?

Maybe this is fixed in edge? I'm running v24.2.0.

I simply go into the custom reports, the default screen. And then toggle the legend on.

No matter what I do, the order of the bars (and thus the legend) is somewhat arbitrary, though it seems deterministic.

Teprifer commented 8 months ago

The bar graph should probably sort categories the same way as they are sorted everywhere else. For example, this is how they look in the budget:

Mine does sort the legend in the way you describe. Can you give me your steps to repeat the issue?

Maybe this is fixed in edge? I'm running v24.2.0.

I simply go into the custom reports, the default screen. And then toggle the legend on.

No matter what I do, the order of the bars (and thus the legend) is somewhat arbitrary, though it seems deterministic.

Just checked Edge and I'm seeing the same behaviour as you(same as latest release), these two very large bars are categories that are together mid-way down my budget page.

image

carkom commented 8 months ago

You'll have to be more specific. I'll show you what I'm seeing on edge. This is a brand new test budget showing category order in budget page, then in sidebar check boxes then in filter drop down then in legend. You can also see that the categories are listed the same left to right in the graph as top to bottom everywhere else. They are all the same. I'm not sure what you are seeing so please feel free to share your experience in more detail...

https://github.com/actualbudget/actual/assets/55785687/6664c80c-bc03-4214-b208-0e4414189138

psybers commented 8 months ago

Just a hunch, but the categories you have in this new budget were created sequentially in the order they are shown.

My categories were created in completely random orders as I thought of a new category.

Is it sorting based on ID?

carkom commented 8 months ago

No, the order is not based on creation time or id number. It uses sort_order. I'm looking at the code as I've never dealt with it before. I'm finding out that sort order is based on category group. So you can have one category in groupA with sort_order = 1024 and a different category in groupB with the same sort order. When the groups are removed (as they are in the custom report bar graph) they'll get place next to eachother due to the similar sort_order numbers.

psybers commented 8 months ago

Ah, that might be. I probably have dragged mine around to re-order them at some point. I have probably even dragged things to new groups at some point. Is there a table in the sqlite I can show that might help you see why mine sorts wrong?

psybers commented 8 months ago

Probably you have to join on the category_group and then sort based category_group.sort_order then on the categories.sort_order. This seems to work on my data:

select c.name from categories as c, category_groups as g where c.cat_group=g.id and c.tombstone=0 order by c.is_income asc, g.sort_order, c.sort_order

image

Not sure about the income flag, but at least for me income always showed at the bottom so I added that.

Teprifer commented 8 months ago

You'll have to be more specific. I'll show you what I'm seeing on edge. This is a brand new test budget showing category order in budget page, then in sidebar check boxes then in filter drop down then in legend. You can also see that the categories are listed the same left to right in the graph as top to bottom everywhere else. They are all the same. I'm not sure what you are seeing so please feel free to share your experience in more detail... Untitled.mp4

Sounds like from the other comments you've figured it out and psybers can assist more than I can, but if you still would like more info from me just let me know. If this discussion leads to a change, happy to import my budget and test it out, just tag away.

To possibly confirm what you're looking at, I can move my big bar from the end of the graph in to the middle of the graph just by dragging that category from the 3rd category group(of 7), to the first.

Dang github hiding comments so I failed at ctrl+f and went down a rabbit hole of how to search your comments on github. I'm embarrassed how long it took me.

~I vaguely recall suggesting the bars being sorted from High->low or low->high at some point in the past but danged if I remember where*.~ There's value in category order too, so naturally the obvious thought is to go 'why not both?' but I won't be that cheeky. ;)

~*so maybe I didn't save? Argh! Probably the same comment I mentioned categories are filtering when the list isn't hidden by a different split-by and suggesting they should always be shown.~

carkom commented 8 months ago

Thanks for your comments. I put a fix into #2386 about 12 hours ago.

Redbox3070 commented 8 months ago

So happy to finally have the save option enabled in custom reports, an absolute killer feature. @carkom did an incredible job over the last months.

carkom commented 8 months ago

So happy to finally have the save option enabled in custom reports, an absolute killer feature. @carkom did an incredible job over the last months.

* Minor bug, if you save a chart and then hide the category, the preview in the Reports page will still show the now hidden category, while if you open the individual chart it will correctly exclude the hidden category. To solve the issue you need to save the report as a new one.

* Potential bug with negative values in income categories: while probably a wrong use case there's something about their sums in my budget that I cannot figure out. I need to test it more to provide a feedback

Thanks for the kind words.

  1. Noted
  2. For best results, look at net numbers. It is possible to have debts (payments) in income categories for some use cases this is why it's possible to view them separately - but that is likely not what you are wanting to see?
Redbox3070 commented 8 months ago
  1. For best results, look at net numbers. It is possible to have debts (payments) in income categories for some use cases this is why it's possible to view them separately - but that is likely not what you are wanting to see?

There were a couple of "compounding" errors on my side, along with no net option for pie charts so it wasn't immediate to figure out how some sums were calculated. Let's say that custom report forced me to dig through my budget data :smile: . So negative values in Income work as expected.

Something else that I noticed, if I set a pie chart in payment mode and change the split i can use net mode which is normally greyed out. The result is a buggy chart. net pie chart

Redbox3070 commented 8 months ago
  • Minor bug, if you save a chart and then hide the category, the preview in the Reports page will still show the now hidden category, while if you open the individual chart it will correctly exclude the hidden category. To solve the issue you need to save the report as a new one.
    1. Noted

Noticed that this is a general problem in the preview page not limited to hidden category. When you add new data, the report preview does not update, while once you open the full report it is correctly updated

Gandalf-the-Blue commented 8 months ago

Hi, Is there a reason the Type=Net cannot be used for certain types of reports (Cannot be used for a Category split over time report)? Is this a bug/feature awaiting fixing/implementing?