firefly-iii / firefly-iii

Firefly III: a personal finances manager
https://firefly-iii.org/
GNU Affero General Public License v3.0
16.15k stars 1.46k forks source link

Subcategories #4911

Closed RaphaelJenni closed 3 years ago

RaphaelJenni commented 3 years ago

Before starting: I know, it had been discussed already many times before. But as this still is a feature that would be useful to many people, and it is a few years later, I want to open that discussion again.

Description

As described in previous issues (#163, #626, #1629) and against what is described in https://docs.firefly-iii.org/firefly-iii/about-firefly-iii/what-its-not/, adding the possibility to have sub-categories would be huge.

Samples of how the categories and their subcategories should look like can be found in the linked issues.

To tackle the question "Why do you want them? You don't really gain that much of an insight.":

For me, subcategories give you the option to break down costs into smaller buckets. For example, I do many different sports. Now for all those sports, I have different areas where I spend money.

At the end of the day, I want to know how much money I spent on skiing in total and in the different areas. The same goes for climbing. And at the end of the year, I wonder how much money I've spent overall on sports activities, including sports other than skiing or climbing.

You see where I'm going with that. Now I understand that it would need some changes in the database and the UI. But if we keep it simple, it should be manageable and should not affect users that don't want to use subcategories.

Solution

As seen in other finance tools, the most simple option would be to handle subcategories and categories equally. Just prefix the subcategory with the name of the parent (like in the example above). The data model would just need to have a field with a parent category relation (of course there needs to be a cycle detection, but that isn't that hard). If the parent is null it is a top-level category.

I would have created a PR, but I don't work with PHP, so it's up to you.

What are alternatives?

Sadly, in my eye, there aren't any viable alternatives currently available.

Additional context

I currently work with Finanzmanager from Lexware and have aggregated transactions over the last 8 years, all carefully categorized. I want to switch to something web-based and your solution is the closest alternative I could find.

Additional posts:

Bonus points

Sorry, no bonus points for me. But I'm happy to help conceptually or to review something.

JC5 commented 3 years ago

Sorry, it's not going to happen.

niklas2810 commented 3 years ago

@RaphaelJenni This feature would be nice, but there's also a convenient way (which I came up with, having a similar goal in mind) to solve your grouping issue in another way:

I know this isn't as intuitive and straight-forward as subcategories, but it does the job and isn't too much of a hassle 😄

github-actions[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.