Class accounting?

Jeff Wiegley jeffw at cyte.com
Mon Jul 2 21:08:27 EDT 2007


Thank you,

You did not apparently understand my whole argument... I've been
doing accounting with splits for decades. So your suggestions
seem way off base to me as I don't see how it addresses my
concerns about project accounting.

Robert Heller wrote:
> At Mon, 02 Jul 2007 14:41:35 -0700 Jeff Wiegley <jeffw at cyte.com> wrote:
> 
>> I have bank accounts and I buy lots of stuff for various
>> personal projects.
>>
>> What I've been wanting to do for a while is to account
>> for what get's spent on each individual project better.
>>
>> In quicken I might do this with categories but that doesn't
>> seem to be a very sophisticated method of doing it. And
>> besides, Gnucash doesn't have categories.
> 
> It has *accounts*...

Yes I know. That's why I said "I can make accounts for the various 
vendors that I buy from and for my credit/checking accounts" I even
went on to give examples of subaccounts. I also made analogy of
project accounts as you suggest by "food" or "gas".

> 
>> I can make accounts for the various vendors that I buy from
>> and for my credit/checking accounts that I pay for this with
>> and I know how to basic double-entry so that a purchase made
>> appears in the bank/credit account and also in the vendor
>> account.
> 
> No, you create accounts for each *project*.  You can create
> sub-accounts for vendor.

That does not work.

A single vendor can support multiple projects. Which project
should you stash that vendor under? Whatever you select is wrong.
Each invoice or receipt (or even portion of a receipt) should
be attributable to any project account (if we are going to
represent projects as accounts which I no longer think is a
reasonable thing to do in gnucash [see below].)

> 
>> The problem is I want it tied to a project "account" as well.
>> I guess I could insert a second, equal transaction. one
>> between the bank account and the project and a second between
>> the project and the vendor. But this seems really cumbersome
>> and now your gnucash bank account doesn't look anything
>> remotely like your bank statement.
>>
>> How does one handle this?
>> If I think about like food...
>>
>> I want to track project "food". I make vendor accounts for
>> all my grocery stores and I organize them under a tree
>> account called food. great now may bank statement looks
>> like my gnucash accounts. If the bank statement says I made
>> a purchase at Ralph's (a California grocery store) then
>> the gnucash account shows a credit in the checking account
>> and a debit in the Ralph's account. and I can say how much
>> did I spend on food, since Ralph's is categorized under food?
> 
> You create an Expense account "Food" (probably under "Expenses").  Under
> Food, you create an account for Ralph's (although why you need that
> level of detail is uncertain).

Yes, I know I can do that. That is why I already provided an
example of doing so in the paragraph you referenced. I then
indicate in the next paragraphs why this does not work for
project accounting.

> 
>> The problem is that this doesn't extend to projects.

see?

>>
>> Let's say I have two projects, "Doomsday weapon" and
>> "gardening robot". Both projects are independent from
>> one another, both are funded by the same set of asset accounts
>> and both require electrical and mechanical components to
>> complete.
>>
>> I buy lot of stuff from a company called McMaster-Carr
>> (they sell just about every basic industrial electrical or
>> mechanical component under the sun in 1400 page catalog.)
>>
>> But I can't put the McMaster account under "doomsday weapon"
>> because then all purchases for the gardening project also
>> get accounted for under the doomsday project. I can't put
>> McMaster under the gardening project for the symmetric
>> argument.

And there is my example of why you can't have projects as
accounts and vendors as subaccounts. Unless I guess you are able
tp create two different subaccounts under their respective projects
accounts with the same name. But that is also asking for trouble
which I am not going to get into here unless you want me to. The
problem with two different accounts with the same name should be
obvious.

> 
> You have two project accounts, "Doomsday weapon" and "gardening robot". 
> When you make purchase from McMaster-Carr, you create a 'split' between
> three accounts: the asset account (eg your checking account) and two
> expense accounts, one under "Doomsday weapon" and one under "gardening
> robot". 

Splits are simply the aggregation of multiple, individual transactions,
to produce a single credit or debit amount that matches some statement,
or invoice record. For instance if I deposit three checks drawn from
three accounts as debit into a savings account then really three
transactions took place. But the bank statement for the savings
account shows a single credit. The "solution" you suggest is nothing
more than what is gained by individual transactions.

Anyways, in doing it as project accounts with vendor subaccounts
(with or without splits) you can never track back who you paid an
amount to. All you can see is that in the bank account there are 
transactions, paid to "doomsday" or to "gardening".
But if you wanted to purchase the same component again who would
you buy it from?  If you had a problem with the charge, like say
it was discovered to be the incorrect amount, who would you call?

Oh... visually and manually cross-reference the bank statement you
say? Forget that. It is time consuming and vastly error prone.
(For instance it is very easy to have two or more transactions with
the same amount in the doomsday account. You could for instance be
buying a lot of coffee mugs which routinely cost $5.99 from various
vendors and one sends you the wrong mug and you discover this later.
Which of those $5.99 "Gardening" charges was this mug? Who sold it to
me? Who should I return it to or get my money back from?)

There is a reason the bank puts "Ralph's XXXXXXXXXXX" on your statement
instead of "merchant" or "grocery store."

You also can't make intelligent use of your data because you have
lost all vendor information. You can say "How much did I spend on the
doomsday product" but you can't determine "How much did dealing with
McMaster-Carr cost me last year?" which can be equally important
to a business as there are other suppliers. (Elizabeth's suggestion
below helps with this better.)

> 
>> So it doesn't fit the food model. (Even the Food model
>> doesn't work because I might want to account for food I
>> bought for myself versus food I bought for guests as gifts
>> under projects and such. I.E. not everything I buy at
>> Ralph's is consumed ultimately paid for by me but rather my
>> roommate.)
> 
> This is again done with a split.

No, it isn't. IANACPABMFI (I am not a CPA but my father is) I have
discussed this at length with him and this is not done with splits
or subaccounts. As I mentioned QuickBooks has an entirely different
system from accounts or categories to cope with exactly this
problem, apparently named class-accounting. I wondered if gnu cash also 
had something for this.

> 
>> How does one account for project expenditures under GnuCash?
>>
>> Thanks,
>>
>> - Jeff
>>
>

Elizabeth's suggestion is a bit better.

> and you record "Ralph's" in the description.
> Later if you want to know how much you spent at Ralph's you run a find for 
> Ralph's; cut it back to show the desired days and print a report.
> It's a different approach that's all, it can all be tracked.

However I still think it's a disaster for business accounting. The
Client or vendor is the liability not the project. The asset left me
and went to the vendor. accounts receivable/payable, refunds and such
happen between the vendor's account and my accounts. financial
assets can not linger in virtual project accounts. Therefore if we
adobt Elizabeth's model accounting transactions should happen between
client/vendor accounts and not betwee virtual accounts. Yes,
it can certainly all be tracked but it can also be tracked with a
graphite pencil and ledgers. The question is how to do it more
intelligently in gnucash.

I am quickly coming to the conclusion that gnucash is not ready for
this level of accounting. The closest I can suggest to people is the
dual of Elizabeth's suggestion: Create vendor (rather than project)
and bank accounts but record project (rather than vendor) names in
the description since the vendor account is real while the project
is virtual.

In the absence of somebody that knows something about gnucash that
has not been pointed out yet my conclusion is that quickbook is probably
a better choice for my needs since they have tackled this specific
problem. I have to go review it though to see how much more rich their
class accounting feature is compared to gnucash's simplistic 
"description" tag. It may suck just as bad.

-- 
Jeff Wiegley, PhD
Cyte.Com, LLC


More information about the gnucash-user mailing list