[GNC] Account Types -- what are the implications of getting them wrong?

ml at tgr66.me ml at tgr66.me
Sun Feb 19 08:32:24 EST 2023


The approach I’m taking in a migration app I’m writing will be conservative, erring on the side of more general vice more specific. For example, ASSET, LIABILITY, INCOME, EXPENSE, EQUITY are pretty easy to accurately apply based on account names (for example, “assets:current assets:cash”). In an initial round of type assignments, this account would get ASSET as its type. In a deeper subsequent look, it should be reassigned with a type of CASH.

INCOME, EXPENSE and EQUITY types don’t have sub-types I see, so those will be even easier. I don’t foresee any issues with those.

LIABILITY and CREDIT don’t appear too difficult as there just aren’t that many options. First I’ll assign LIABILITY and if the words “credit card” or “credit cards” exist in the rest of the account path, I’ll switch to CREDIT, otherwise, leave it alone. 

Assets and Investments will be the trickiest. Let me start with Assets first.

Assume an imported account has the path and name of “assets:savings:family savings”. Getting this typed as an ASSET is pretty straightforward. Ideally, however, it would be typed as BANK. 

Or SHOULD it? Perhaps this family puts its savings in old coffee cans under the back porch. So, I’d be inclined to leave this as ASSET. The user can change it, but are there any negative implications of assigning too general of an account type to an account?

However, if the name has the word “account” in it, well, then I’d be confident assigning a type of BANK.

Investment accounts will be the trickiest I believe. Heck, I’m not sure I understand the differences.

When I create a new account in GnuCash, I’m surprised at some of the assignments made when creating the hierarchy. For example, “Assets:Investments:Brokerage Account” is a placeholder with type of BANK. I would be inclined to assign any placeholder accounts a more generic type. In this case, ASSET. Again, are there any negative implications of me taking this approach? 

Regardless, I will direct the user to review all of them once created in GnuCash to ensure they align with their exceptions, but are there consequences if I get them wrong?

And finally, TRADING. I don’t see any of those in the initial account list created when I make a new file. So, for now, I’ll ignore this. Is that okay?


More information about the gnucash-user mailing list