[Feature] Nested Filters #2775

Closed
opened 2026-02-28 20:27:29 -06:00 by GiteaMirror · 1 comment
Owner

Originally created by @brianr114 on GitHub (Jan 6, 2026).

Verified feature request does not already exist?

  • I have searched and found no existing issue

💻

  • Would you like to implement this feature?

Pitch: what problem are you trying to solve?

I would like to create/save a nested filter that looks something like this:
PersonalCategories=not_one_of(Category1, Category2, CategoryN)
PersonalExpenses=on_budget=true, value<0, filter=PersonalCategories

When I create a "Total Expenses" report, I will use PersonalExpenses. When I set up the Cash Flow widget, I will use PersonalCategories. The benefit comes when I need to modify PersonalCategories in the future, I don't have to change every Report filter.

One viable workaround I see is to have two filters:
PersonalCategories=not_one_of(Category1, Category2, CategoryN)
PersonalExpenses=on_budget=true, value<0, not_one_of(Category1, Category2, CategoryN)

however this violates having a sole source of truth: if I need to change the categories, I need to change it in two places.

Describe your ideal solution to this problem

No response

Teaching and learning

This tugs on the concept of modularity, which I think most people understand outright or with the help of a simple analogy (e.g. I am gathering a bucket of tools to work on a project. I throw in a hammer and a screwdriver. I also throw a container of screws into a bucket along with a container of nails.).

Originally created by @brianr114 on GitHub (Jan 6, 2026). ### Verified feature request does not already exist? - [x] I have searched and found no existing issue ### 💻 - [ ] Would you like to implement this feature? ### Pitch: what problem are you trying to solve? I would like to create/save a nested filter that looks something like this: `PersonalCategories=not_one_of(Category1, Category2, CategoryN)` `PersonalExpenses=on_budget=true, value<0, filter=PersonalCategories` When I create a "Total Expenses" report, I will use `PersonalExpenses`. When I set up the Cash Flow widget, I will use `PersonalCategories`. The benefit comes when I need to **modify** `PersonalCategories` in the future, I don't have to change every Report filter. One viable workaround I see is to have two filters: `PersonalCategories=not_one_of(Category1, Category2, CategoryN)` `PersonalExpenses=on_budget=true, value<0, not_one_of(Category1, Category2, CategoryN)` however this violates having a sole source of truth: if I need to change the categories, I need to change it in two places. ### Describe your ideal solution to this problem _No response_ ### Teaching and learning This tugs on the concept of modularity, which I think most people understand outright or with the help of a simple analogy (e.g. I am gathering a bucket of tools to work on a project. I throw in a hammer and a screwdriver. I also throw a container of screws into a bucket along with a container of nails.).
GiteaMirror added the needs votesfeature labels 2026-02-28 20:27:29 -06:00
Author
Owner

@github-actions[bot] commented on GitHub (Jan 6, 2026):

Thanks for sharing your idea!

This repository uses a voting-based system for feature requests. While enhancement issues are automatically closed, we still welcome feature requests! The voting system helps us gauge community interest in potential features. We also encourage community contributions for any feature requests marked as needing votes (just post a comment first so we can help guide you toward a successful contribution).

The enhancement backlog can be found here: https://github.com/actualbudget/actual/issues?q=label%3A%22needs+votes%22+sort%3Areactions-%2B1-desc+

Don't forget to upvote the top comment with 👍!

@github-actions[bot] commented on GitHub (Jan 6, 2026): :sparkles: Thanks for sharing your idea! :sparkles: This repository uses a voting-based system for feature requests. While enhancement issues are automatically closed, we still welcome feature requests! The voting system helps us gauge community interest in potential features. We also encourage community contributions for any feature requests marked as needing votes (just post a comment first so we can help guide you toward a successful contribution). The enhancement backlog can be found here: https://github.com/actualbudget/actual/issues?q=label%3A%22needs+votes%22+sort%3Areactions-%2B1-desc+ Don't forget to upvote the top comment with 👍! <!-- feature-auto-close-comment -->
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#2775