Rather than having budgeting set into accounts, simply add a "Budget" checkbox in the transaction info. Budget transaction will behave like recurrent transactions, except that transactions that occur in their recurrence period will affect their amount, in the sense that money flowing in an out of income/expense accounts will be offset in the budget transaction.
(from ) [#2] added budget transaction/entry. however, the code is highly ugly for now (there's a separate budgeting system for transactions and for sheets/graphs).
(from ) [#2] Refactoring. Created model.budget and moved some of the logic from model.oven over there.
(from ) [#2] The budget spawns are now placed at the end of every recurrence period.
(from ) [#2] Converted the Account.budgeted_amount() logic to the new recurrence based logic. (whew, this was complicated! and it ain't even completely done yet...)
(from ) [#2] Moved the budget calculations up in Document (in preparation for them being schedule based rather than account based)
(from ) [#2] The BudgetSpawns now have budget targets among their splits.
(from ) [#2] Budget now increment balances in etable again. This required a new balance field in Entry, and some little refactoring.
(from ) [#2] Started the process of moving budgeting off the Account class. For now, changing budgets also change an additional list of Budget instances, which will replace Account.budget and Account.budget_target soon enough.
(from ) [#2] Removed budget info from Account. It's now exclusively in BudgetList.
After re-thinking about it for a while, I came to the conclusion that this "Budget" checkbox in the transaction panel was not a very intuitive way of setting budgets and that I should implement #3 before going any further with this ticket.
(from ) [#2] 2 budgets with the same account will now correctly be computed.
(from ) [#2] Fixed calculations for budget with a repeat type other than 'Monthly'.
(from ) [#2 state:fixed] Fixed a few UI glitches, and gave the budget spawns a different icon in ttable and etable.
translation updates #2