On 2023-02-19 05:32, m...@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?
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?
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.
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.
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_accts.html>
[3] <https://wiki.gnucash.org/wiki/Trading_Accounts>
[4] <https://github.com/GnuCash/gnucash>
_______________________________________________
gnucash-user mailing list
gnucash-user@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.