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

ml at tgr66.me ml at tgr66.me
Tue Feb 21 06:36:05 EST 2023


Thank you David.

Would it be correct for me to assume that *any* account type can be edited prior to the addition of any data?

Either way, it sounds like this can be an iterative process to an extent. And that most negative consequences can be reversed with a little creativity.

Tim

> On Feb 20, 2023, at 20:56, David Cousens <davidcousens49 at gmail.com> wrote:
> 
> Tim ,
> 
> In most cases if you get an account type wrong you can edit the account type and
> its parent account from the account tree structure. There may be some
> limitations associated with the type of the parent account which may have to be
> worked around. In the worst case scenario you can create an account of the
> correct type and then delete the account of the wrong type. If there are
> transactions to the account you are deleting the dialogue will ask which account
> you wish them transferred to and here you specify the new account of the correct
> type. Apart from the basic top level account types Asset, Liability, Equity,
> Income and Expenses there are a number of account sub-types which are usually
> tied to aspects of the business features, stock trading etc
> 
> David Cousens
> 
>> On Mon, 2023-02-20 at 19:25 -0600, ml at tgr66.me wrote:
>> Thanks Jim for the reply.
>> 
>>>> On Feb 20, 2023, at 15:49, Jim DeLaHunt <list+gnucash at jdlh.com> wrote:
>>> 
>>> It sounds like you are trying to answer two questions:
>>> 
>>> 1. How do you extract meaning from account name strings in incoming
>>> migration data, such that you can pick the appropriate GnuCash account type?
>> 
>> Ummm, sort of. Yes, I am asking myself that because I have to make decisions.
>> But I was really providing the scenarios to help shape the reader's thinking
>> about the implications.
>> 
>> Yes, the question I’m asking is in the subject line. I should have included it
>> more in the body. I did ask specifically in the body though if there was "any
>> negative implications of assigning too general of an account type to an
>> account?” I’m inclined to err on the side of general and tell the user they
>> need to review all of them and edit appropriately based on GnuCash’s
>> documentation. But, it is still a good challenge to get them as close to right
>> as possible.  
>> 
>> The decisions I’m making are naturally heavily influenced by my personal
>> account and categories structure in Quicken along with my understanding about
>> how GnuCash structures accounts and defines types. There are undoubtedly
>> members of this mailing list who migrated data from some other app to GnuCash.
>> They made decisions about account types, perhaps after creating their chart of
>> accounts, and they may have found adjustments were necessary because something
>> didn’t work as expected. I believe hearing that would be helpful to me and
>> others. 
>> 
>>> 
>>> 2. What are the GnuCash account types, and what are their meanings (or,
>>> purposes, or semantics)?
>>> 
>>> I think question 1 is up to you. It is not a GnuCash question.
>>> 
>>> The place to start for question 2 is the GnuCash /Help/ documentation, 5.1.
>>> *Types of GnuCash Accounts*[1]. You might find it helpful to consult the
>>> notes about what kinds of child account type each parent account type
>>> accepts.  Missing from this page is the Trading Account type.
>>> 
>> 
>> I had read
>> https://code.gnucash.org/docs/MAINT/group__Account.html#ga398c5d6f7a5127db7b81789e05262908
>> <
>> https://code.gnucash.org/docs/MAINT/group__Account.html#ga398c5d6f7a5127db7b81789e05262908
>>> but will make sure to go back and read section 5.1. I appreciate that you’ve
>> highlighted that there can be child-parent mismatches as that is a real
>> implication. I realize that if a user migrating to GnuCash using the tool I’m
>> developing had a Credit Card under an Asset account, they could potentially
>> have a problem. I’m using PieCash for my GnuCash writes, and I *think* it
>> checks the parent-child rules, but I might want to test that.
>> 
>> 
>>> Trading accounts are described in the GnuCash /Tutorial and Concepts Guide/,
>>> 12.3. *Automatically Recording Currency Transactions using Trading
>>> Accounts*[2], and at wiki page *Trading Accounts*[3].
>>> 
>>> You might have to resort to reading the GnuCash code[4] to answer more
>>> detailed questions. I remember doing this once to clear up some of my own
>>> questions.
>>> 
>>> Your subject: line asks, "what are the implications of getting [Account
>>> Types] wrong?" I don't see you asking that in your message body. But as far
>>> as I know, the implication can be unusability if you get the account type
>>> very wrong (e.g. an Asset type for what should be an Expense type account),
>>> or inconvenience if you get the account type a little wrong (e.g. no option
>>> to add an interest payment during the reconciliation process if you assign a
>>> Liability type for what should be a Credit type account). Note that users
>>> can, within limits, change account types for a book which is in use. That
>>> limits the negative implications of migration software making the wrong
>>> choice of account type.
>>> 
>> 
>> Great comments. Thank you. I did notice oddities yesterday when I created a
>> new book (GnuCash->File-New File) and created a full chart of accounts. In
>> particular, in Investments. Under Retirement, Bond accounts have a type of
>> Stock, so they have Shares/Buy/Sell, etc columns in the register. So those
>> look okay (other than calling a Bond a Stock type, which feels odd to me). But
>> as far as implications, I don’t see any issue. However, I realized this
>> partially answers the question about implications of opting general vice
>> specific. And this is reflected, I think, in GnuCash’s default account
>> structure and types.
>> 
>> In the Bond, Market Index, Mutual Fund and Stock accounts under Brokerage
>> Account are all type Asset while the latter is Bank. So I’m guessing the logic
>> here is that *most* brokerage accounts have an associated sweep or bank
>> account. But, Brokerage Account is a Placeholder so I didn’t think
>> transactions would be recorded there. Admittedly, I may misunderstand so I’ll
>> need to experiment. I do see that Buy/Fee/Sell show up as Actions in one of
>> those registers.
>> 
>> My app’s logic today would assign the type Stock to an account with the word
>> “brokerage” included. I’m now questioning this based on GnuCash’s default
>> setup. 
>> 
>> So specifically, why does GnuCash’s default chart of accounts have the
>> brokerage accounts as Assets while the retirement accounts are either Stock or
>> Mutual Fund?
>> 
>> Thank you again.
>> 
>> Tim
>> 
>>> You are welcome to pose more specific questions to this list, if you like.
>>> 
>>> And, while reading the documentation you may come up with suggestions for
>>> improved documentation wording. I encourage you to propose those as pull
>>> requests, or to the gnucash-dev mailing list. Part of what makes GnuCash so
>>> good is that many hands help to improve it.
>>> 
>>> Best regards,
>>>     —Jim DeLaHunt
>>> 
>>> [1] <https://www.gnucash.org/viewdoc.phtml?rev=4&lang=C&doc=help>,
>>> temporarily hosted at
>>> <https://code.gnucash.org/website/viewdoc.phtml?rev=4&lang=C&doc=help> while
>>> www.gnucash.org's web server is offline.
>>> 
>>> [2]
>>> <https://www.gnucash.org/docs/v4/C/gnucash-guide/currency_trading_accts.html
>>>> , temporarily
>>> <https://code.gnucash.org/website/docs/v4/C/gnucash-guide/currency_trading_a
>>> ccts.html>
>>> 
>>> [3] <https://wiki.gnucash.org/wiki/Trading_Accounts>
>>> 
>>> [4] <https://github.com/GnuCash/gnucash>
>>> 
>>> _______________________________________________
>>> gnucash-user mailing list
>>> gnucash-user at gnucash.org
>>> To update your subscription preferences or to unsubscribe:
>>> https://lists.gnucash.org/mailman/listinfo/gnucash-user
>>> -----
>>> Please remember to CC this list on all your replies.
>>> You can do this by using Reply-To-List or Reply-All.
>> 
>>>> On 2023-02-19 05:32, ml at tgr66.me wrote:
>>> 
>>>> 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?
>> 
>> _______________________________________________
>> gnucash-user mailing list
>> gnucash-user at gnucash.org
>> To update your subscription preferences or to unsubscribe:
>> https://lists.gnucash.org/mailman/listinfo/gnucash-user
>> -----
>> Please remember to CC this list on all your replies.
>> You can do this by using Reply-To-List or Reply-All.
> 
> _______________________________________________
> gnucash-user mailing list
> gnucash-user at gnucash.org
> To update your subscription preferences or to unsubscribe:
> https://lists.gnucash.org/mailman/listinfo/gnucash-user
> -----
> Please remember to CC this list on all your replies.
> You can do this by using Reply-To-List or Reply-All.



More information about the gnucash-user mailing list