[GNC] Changing account tree on large database

Adrien Monteleone adrien.monteleone at lusfiber.net
Thu Apr 25 17:25:15 EDT 2019



> On Apr 25, 2019, at 3:16 PM, Cricket Onebit <cricketbeautiful at gmail.com> wrote:
> 
> Hello,
> 
> I'm preparing to convert 14,000 transactions from Quicken. It's a bit
> overwhelming, and I've put it off for years.

Sounds like a daunting task. I don’t do such imports, but reading the various threads over the years, this will be a doozy.

I’d try finding some of those threads or asking about a general ‘best practices’ or ‘workflow’ to accomplish this with the least amount of headache.

Considering your #1 below, you might find it easier to either make those category changes in Quicken first, or else create your intended target accounts in GnuCash first, and import one account at a time from Quicken, placing the transactions where you want them.

> 
> 1. Can I move child accounts to other parents, and promote / demote them? I
> want to make some major changes, mostly Clothes-kid1 to kid1-clothes. It's
> one more excuse for delaying the move.

Yes, you can do this at will, over and over till you have your tree the way you like it. (and then re-factor it again months later when you change your mind)

If however, you have a case of Expenses:Clothes:Kid1 and want to change that to Expenses:Kid1:Clothes, it will be a little trickier as the transactions are in `Kid1`, but you now want them to be in `Clothes` which will be a sub-account of `Kid1`. You can take several approaches:

1. Renaming

a. Rename Expenses:Clothes and Expenses:Clothes:Kid1 to temporary names, perhaps - Expenses:Kid1-Clothes & Expenses:Kid1-Clothes:Clothes-Kid1

This way, you won’t have any naming collisions or confusion.

b. Rename them again, this time to the desired end result - Expenses:Kid1 & Expenses:Kid1:Clothes

or

2. Create new accounts and delete old ones

a. Create the desired end accounts - Expenses:Kid1 & Expenses:Kid1:Clothes

b. Delete the undesired sub-accounts - Expenses:Clothes:Kid1, GnuCash will prompt where you want to move the transactions, select the new account you just created.

c. When the old Expenses:Clothes parent account is empty, you can delete it. (if it has transactions, which it shouldn’t, you could move them to the new `Kid1` parent if that makes sense, or if they were more generic, some other more appropriate account.

Also, for this particular example, I’d opt for tags for each kid instead of accounts, see below about Cars.


> 
> 2. Is there a length limit for descriptions, memos, notes, etc? I might use
> keywords in those fields to duplicate Quicken's tags. A quick experiment
> shows I can report on "transactions containing #tagone." Yay!

I’ve not found one yet, though that may be in the documentation. Look into Double-Line mode to give you an extra note field. Once discovered, I now use it extensively.

> 
> 3. Is there a problem if I have transactions under each level of account,
> such as Car, Car-Ford, and Car-Ford-Accident? I vaguely remember reading
> I'd have to change some report settings.

Ideally, parent accounts should be placeholders. If you have miscellaneous transactions that don’t fit under a sub-account (but do, say, obviously belong to `Car`) then make a `Misc` or so sub-account for them. Note, `Accident` and `Ford` should probably be tags, not accounts. Accounts should be more generic. This way, you can still have report flexibility, but you aren’t causing yourself to make your account structure dependent on ‘labels’ that you might desire to change 6 months down the road. (and if you sell that Ford and buy some other make, how would you compare periods?)

Here’s my `Auto` sub-tree for example:

Auto
    -Auto Insurance
    |
    -Fuel
        -E10
        |
        -Gas
    -Parking
    -Repair & Maintenance
        -Fluids
        -Labor
        -Parts
             -Warranty
        -Supplies

See how I track why I am spending money, not necessarily which car it is on. (that would be a tag) Also, I do most of my own maintenance, which is why I bother to have subs for R&M. The fuel breakdown is part of my budget discipline - I prefer not to buy E10 if I can help it, this exposes such purchases, I suppose I should use the split memo or a tag here though. If I had different cars with different or flexible fuel requirements, like E85, Diesel, LNG, or Electricity, I’d want to split them out like I have here. And since that is likely in the future, I decided to create the sub-accounts now.

I also put Auto Insurance under `Auto` rather than `Insurance` because it makes reporting the full expense impact of my car easier. (reporting all, even unrelated, insurances together doesn’t seem useful to me) If the car weren’t paid for, I’d still have a bit of number crunching or creative reporting for the liability payoffs, but this gets me the info how I want to see it.

Finally, I have a separate account under "Household:Lawn & Garden" where I record fuel purchases (among other things) for my lawn equipment. I don’t record that under Auto:Fuel because it isn’t for the car, it is for a different purpose. I also record fuel purchased for travel under Entertainment:Travel:Transportation instead of Auto:Fuel, because it is for a special purpose I want to budget separately and be able to report on easily. (a bit trickier since one likely doesn’t start/finish a trip on an empty tank) I want to be able to budget and report on fuel purchased for everyday life and then special discretionary purposes like a vacation or impromptu road trip.

------

The #1 piece of advice I could give to anyone who even thinks they might want detail or multiple levels of categorization is to record as much info as possible in each transaction. Record each split line from a receipt and never combine items. Be descriptive for each split. That way, in the future, should you decide to break something out into its own account, the process will be much easier. But if you don’t have that info in the first place...

-----

On the reporting end, if you really need to have parents with their own transactions (instead of just as placeholders), set your options like this on the P&L (Income Statement):

Options > Display > Parent account balances > Account Balance
Options > Display > Parent account subtotals > Show Subtotals

This will give you at the beginning of each new section, the parent account with it’s own balance, and another line after all the child accounts are listed, with a `Total` line for that parent—e.g., 

====================
Auto								
	Auto Insurance					$717.73
	Fuel
		E10				$73.55
		Gas				$522.01
	Total Fuel				-------	$595.56
            Parking					$3.15
            Repair and Maintenance
                  Fluids			$61.96
                  Labor				$48.00
                  Parts			$397.63
                        Warranty	$40.00
                  Total Parts		-------	$437.63
                  Supplies			$10.01
            Total Repair and Maintenance	-------	$557.60
      Total Auto					-------	$1,874.04

====================


Notice how `Auto`, the main parent as well as `Fuel` and `Repair and Maintenance` all have no balance. They are placeholders. But `Parts` has one break-out sub-account with the remaining transactions in itself. So that one shows its own balance, and the `Total Parts` line combines it with its sub-account.

If all of your parent accounts are placeholders, you have the additional option of skipping the ’Total’ lines, and instead rolling the child accounts into the parent line if you choose.

*I also use the ’Show accounting style rules’ option in this report to make it easier to read and see the total lines


> 
> Just point me to the right bit of the manual if the details are there. It's
> a good manual but there's a lot in it.
> 
> ++++
> 
> New eyes found:
> 
> The link to search Nabble is broken.
> https://lists.gnucash.org/search/?idxinfo=gnucash-user . (I got there from
> https://lists.gnucash.org/mailman/listinfo/gnucash-user .)

Nabble is not part of the GnuCash project and is not maintained by them. You’d have to contact the Nabble folks.

> 
> (The link to Google gave posts from 2018, even though there are more recent
> ones with the word "Quicken". Not something GNUCash has any control over.)

When using a search engine, try `site:gnucash.org` or `site:lists.gnucash.org` as prefix terms. This will restrict your search to hits for only those servers.

Regards,
Adrien


More information about the gnucash-user mailing list