[GNC] How to track part of the total available assets spanning several accounts?

Peter Azmanov peter.azmanov at gmail.com
Fri Jun 5 20:39:58 EDT 2020


On 01.06.2020 2:05, David Cousens wrote:
> You possibly need to investigate the budgeting features of GnuCash
> https://www.gnucash.org/docs/v3/C/gnucash-guide/chapter_budgets.html.
On 01.06.2020 8:08, Adrien Monteleone wrote:
> As David noted, this sounds like a budgeting question.
> GnuCash has a budget module, and it may serve your needs.

I've read the tutorial before posting and re-read the budget chapter after your suggestions. But I still don't 
understand how GnuCash budgeting features can be applied to my situation.

On 01.06.2020 2:05, David Cousens wrote:
> If your budget tracks your known income and expenses then your surplus
> should be the difference between your budgeted balance and your actual
> account balance at any point.

Currently the account info isn't sufficient to calculate changes in budget. It is split in parts and GnuCash don't know 
anything about these parts. More formally:

Actual account balance = (Budget_Operational + Budget_Surplus + Savings + This_Month_Income - This_Month_Expenses)
This_Month_Expenses = (Expenses:Operational + Expenses:Surplus)
Month_profit = (This_Month_Income - This_Month_Expenses)

Budget_Operational & Budget_Surplus are fixed in the beginning of the month. In the end of the month Month_profit is 
split between Budget_Operational, Budget_Surplus and Savings.

If I create a budget for operational money for example, I can specify Budget_Operational for the beginning of the month 
in the income field and I don't have anything else to specify. So in the end of the month with the help of the 'Budget 
Report' I will see Month_profit, Budget_Operational (a number entered in the beginning of the month) and 
Expenses:Operational. Then I can manually split Month_profit and calculate new Budget_Operational, then repeat the 
process next month... I don't see how this approach is better than keeping the Budget numbers in a separate file, there 
are other reports that will show required information without creating a budget.

While trying to check if I'm missing something about budgeting features in GnuCash I stumbled upon "envelope budgeting" 
concept. See for example one of the discussions on reddit:
https://www.reddit.com/r/GnuCash/comments/dcpnxo/gnucash_budgeting_new_approaches_for_envelope/

Envelope budgeting is a good term to describe what I want to achieve. And apparently I'm not the only one, except that 
in my sitation I only have two categories.

The approaches described on reddit are similar to what Adrien proposed in his letter:

On 01.06.2020 8:08, Adrien Monteleone wrote:
> You could create something like this:
> 
> Equity
> -Budgeting
>   Operational
>   Surplus
> 
> Now, each time you make a transaction involving the real-world asset accounts that hold your funds, you make either extra budgeting transactions, or extra splits for budgeting, keeping everything together.

I think this approach is better because virtual accounts are created under Equity, not under Assets.

The only problem with this or similar approaches is that I have to enter additional splits for each! expense 
transaction. Maybe there is an undiscovered GnuCash feature that will allow to automate splits creation? Something like 
rule based auto-transactions? On every transaction to account X create additional split with the same amount to account 
Y. I think this feature can be useful not only in envelope budgeting but in other scenarios too.

For now I'll go with adjustment transactions for budget accounts each month. But in the future I can see myself writing 
Python script to make additional splits (or bash script using gnucash-cli?).

On 01.06.2020 18:22, Michael or Penny Novack wrote:
> On 5/31/2020 6:43 PM, Peter Azmanov wrote:
> 
>> While the first part (savings) can be easily tracked via accounts of this type, the second and third part aren't that obvious. I can't make a sub-account in any of the accounts above because surplus is in all of the accounts and I don't care how it's split between those.
> 
> Well you COULD.
> 
> Your question might more properly be thought of as "IF I had "surplus" as sub accounts under each bank how would I produce a report showing "surplus".
> 
> << You also asked "should I" but at the moment I will ignore that. With only in three, probably could just add up those from the Balance Sheet. So let's pretend you would have LOTS of sub accounts making up total surplus and yo want gnucash to do the work >>
> 
> OK then, you run the Balance Sheet report and use edit=>report options to select JUST the sub accounts that are surplus. You then get a funny sort of balance sheet report showing just these accounts and total << it will call that "total assets" of course >> You can change the title of the report, in this case change "Balance Sheet" to "Surplus Funds" 

AFAIU this solution with multiple surplus sub-accounts can be troublesome: you will have to occasionally rebalance these 
sub-accounts to make real-world transactions.

On 01.06.2020 8:08, Adrien Monteleone wrote:
> If you want to make regular adjustments to Surplus, you can create a 
Scheduled Transaction that does so, but instead of an amount, use a variable. When the transaction fires, it will ask 
you for the value of the variable. So you might set the variable to be ’net_profit’ and the transaction might be 
’net_profit*0.20’. When the transaction fires, you enter the Net Profit from your P&L, and the transaction will be 
entered as 20% of that amount.

Great tip. I believe I haven't seen mentions of this feature in the tutorial.


More information about the gnucash-user mailing list