codably
2
Yes, there’s a better way.
I suggest you add a Budget Category Entry thing in the database (you can name it whatever you want).
You can define the categories (name, default min, default max etc) in an Option Set.
The Budget Category Entry thing should have a user field that references the user it applies to and a field for the Option Set linking to the budget category that it applies to.
With this structure, you can create as many entries for a user as you would like without creating additional fields.
Don’t forget to add privacy rules to the thing if required to secure the entries to the appropriate users (created by user/admins etc).