Ability to group accounts. Best description – accounts folders. For example, user has accounts like Bank_A_usd and Bank_A_uah. Much more convenient will be to allow group them by Bank_A. "Folders" might be multilevel, so users can group by Banks, Brokers, Crypto, or whatever.
Improvements it adds
Easier to manage many accounts from the same bank, or same type of accounts.
Easier to filter transactions or spendings by accounts groups.
Ability to watch the Total balance of the account group. For example, instead of checking USD+UAH+EUR of the same bank, the user will be able to see the total balance in the bank. Especially valuable for things like Wise, where users can have dozens of accounts.
Saves space on the UI, so easier to navigate, easier to fit new features, etc.
For manual syncing, we can add an ability to show the last dates for the transactions, so users can see when they did last updates to the folder (bank)
Impl details
The best option is to not modify existing things, and simply create two separate groups:
// AccountGroupings table
id (primary key)
account_id (foreign key to Accounts table)
group_id (foreign key to AccountGroups table)
// AccountGroups table
id (primary key)
user_id (foreign key to Users table)
name (e.g., "Bank_A", "Brokers", "Crypto")
parent_group_id (self-referencing foreign key for nested groups) (null for top-level group)
Ability to group accounts. Best description – accounts folders. For example, user has accounts like Bank_A_usd and Bank_A_uah. Much more convenient will be to allow group them by Bank_A. "Folders" might be multilevel, so users can group by Banks, Brokers, Crypto, or whatever.
Improvements it adds
Impl details
The best option is to not modify existing things, and simply create two separate groups: