I agree with the new direction on where this going but lets back track a bit and look at the fundmentals of what CalendarBudget is being designed for. I believe the purpose of CalendarBudget is to help users maximize their income by closely tracking and reducing expenditure.
Now the basics of budgetting is Income – Expense but it becomes very complex when you look at how individuals deal with their budgetting. Some maintain multiple accounts, others single accounts, some use multiple accounts to pay multiple bills other specific account for specific bills, etc. None of these are wrong it all has to do with how well you manage the options you pick.
This brings us to having an application that can cater to needs of the various users at the same time not compromising its simplicity of use and accountability (in terms of reporting).
My idea is to have 1 instance for categories since most people maintain one budget regardless of multiple accounts. Now have a main category for income and multiple sub-categories created by users for their sources of income. All income regardless of which account it goes to should be captured in the income pool (already in place). Also based on user’s information provided, income should be calculated in advance for the current month.
In Envelope Budgetting categories are assigned amounts to correspond to them. The total income calculated for the month should to distributed for the various categories. Now one will as so how do I account for which account a transaction took place in? The answer will be during the entry of an transactionm, a new option is included to show the source of payment by account and the destination by category. This will deduct transactions from funds assigned to the category and also account for where the funds came from.
It will allow reporting from the accounts and at the same time reporting based on categories. It can also facilitate the missing feature of transferring funds between accounts that some people do on a regular basis. At the moment you have to create it as an Unassigned transaction which I do not believe will give an accurate report and requires inputing a transfer transaction twice.
I hope this contribution is helpful.