[GNC] Accounting Modules

Christopher Lam christopher.lck at gmail.com
Sat Dec 1 21:20:36 EST 2018


Dear Stephen

Most describe various transaction *types* -
(1) GL ones are regular everyday money movements
(2) AP/AR transactions are business amounts owed/payable and are already
implemented
(3) FA transactions are multiyear entities whereby a single asset/liability
is amortized over time, and are currently handled very much manually. This
could be refined as a separate transaction type.
(4) PAYROLL transactions are, IMHO, simple multisplit transactions whereby
the allocations must follow predefined (and customizable) formulas
(5) POS transactions are simply an input mechanism into the GL, right?
Unless you're talking about POS transactions also handle decreasing
inventory items and calculating their pricing... this seems out of scope
for gnucash which aims to be for personal/sole trader bookkeeping.

I wouldn't know how to handle INVENTORY/PURCHASING ones.

You've forgotten commodities/stock:
(6) STOCK transactions are simple regular money movements with variably
priced commodities, and, IMO, currently gnucash handles them similarly to
currencies and it works fairly well... except the FIFO/LIFO asset pricing
is rather hard to do.

I'd add another candidate to the list.

(7) BUDGET transactions are virtual transactions - they do NOT move money
around in the book, yet, the budget balances may be counted separately and
are used to compare GL transactions with the budget ones.

Would you care to add your high-level overview to the wiki?

On Tue, 27 Nov 2018 at 05:37, Stephen M. Butler <kg7je at arrl.net> wrote:

> I was both excited and dismayed to learn that GnuCash has "Fixed
> Assets".  Excited because that meant an expansion of capability and
> dismayed because reading between the lines implied only the setting up
> of an accounting structure.
>
> Adding a set of Fixed Asset accounts to the General Ledger system does
> not make the General Ledger into a Fixed Assets module any more than
> adding a set of Payroll accounts make the G/L into a payroll system.
>
> Accounting Modules (at a high level):
>
> 1.  General Ledger (G/L).  The module that allows a user to maintain a
> set of accounting books electronically using generally accepted
> accounting practices.  This module is also the recipient of JVs (Journal
> Vouchers) from other financial systems.  Primary purpose is to produce a
> Balance Sheet (under various names) and an Income Statement (also having
> aliases).  It maintains information at a summary level
>
> 2.  Accounts Payable (A/P).  This module tracks to whom, how much, and
> when payments are due.  It should sent a multi-line JV to the G/L.  This
> module must track names and addresses and other information that a G/L
> does not need (and shouldn't have to worry about).
>
> 3.  Accounts Receivable (A/R).  This module tracks from whom, how much,
> and when payments should be received.  It also should sent a multi-line
> JV to the G/L.  It also tracks names, addresses, and other information
> that a G/L should ignore.
>
> 4.  Fixed Assets (F/A).  This module tracks the assets of the company
> that have a relative long life. (Not inventory that has a short shelf
> life).  It also knows about depreciation schedules and the past,
> present, and potential future value of each asset including the
> depreciation amount, etc.  It also sends a multi-line JV to G/L.  And
> again, G/L should ignore a lot of the details involved in Fixed Assets.
>
> 5.  Payroll (P/R).  This tracks employees, how much they are paid, what
> deductions to take out of their pay, how often they are paid along with
> the accrual of certain benefits (sick leave, vacation bank, etc).  It
> also prepares certain tax related reports for various governing bodies.
> This is one of, if not the, most complicated financial module.  It also
> sends a multi-line JV to G/L.  Generally it prints its own set of checks
> but I've heard of cases where it sends that information over to A/P
> (overloads A/P in my opinion).
>
> Then there follow other financial modules that may be beneficial to some
> entities:
>
> 6.  Inventory.  This tracks certain transitory assets and has
> reorder-points, vendors (from whom to order), clients (who can buy and
> purchase levels).  It also talks to G/L and other systems (A/P, A/R).
>
> 7.  Purchasing.  May be part of inventory or some systems make inventory
> part of purchasing.  Ideally they talk to each other and this handles
> the issuing of the PO (purchase order) to ensure inventory levels are
> maintained.  It may interface with F/A when the company needs to
> purchase additional (or replacement) items for long-term retention.  It
> also needs to handle items that are directly expensed and not recorded
> in inventory nor F/A.
>
> 8.  Point-of-Sale (POS).  I've not done one of these -- it might be more
> complicated then payroll (which I have designed and built)!
>
> So, why was I excited?  Its always nice to see an application expand and
> tackle additional arenas.
>
> Why dismay then?  It takes a lot of resources to maintain each one of
> the above modules.  It is better to pick one module and make it the best
> one available ("hit a home run", "gold standard", etc) than to be
> mediocre in several ("never get on base" -- even on fouls).
>
>
> So, what are my credentials?  I've seen that one of the Davids on this
> forum was a physicist in a prior career and retired as an accountant.
> Here is my story:
>
> I was born (I do wonder about some folks if they have even begun to
> live) midway through the last century (makes me feel even older
> admitting that).  Graduated with a BS in Chemistry (though I have more
> credits in math) and minors in Physics and Religion.  I took every
> computer class the college offered -- including Numerical Analysis.  It
> wasn't much but enough to impress the recruiter from a hospital.  So, I
> began my post graduation career as a programmer in the now ancient
> language of COBOL on a 6-bit computer (Honeywell 115-Mod1) with 32K of
> core (real core) based on 556 bpi 7 track tape.  Oh, it did have a 10 MB
> disk drive.  That was the summer of 1975.
>
> Graduated to an HP-3000 in 1978 (still COBOL) with gobs of disk, 9-track
> tape, and a two-level network database system called Image.  My phone
> has more RAM than all those disk drives held! But now I was an analyst
> and data modeler.  Spent time at Weyerhaeuser ('81-'84) with their
> database group brushing up on database theory (CJ Date book).  Moved on
> to consulting work ('85-'90) (built property tax receipting system,
> utility billing, permits, etc).  Then spent time with newsprint
> distribution for The Seattle Times ('91-'96).  They sent me off to
> become an Oracle DBA ('93) but didn't have a full-time position as
> such.  So I moved on (July '96) and did DBA (database administration)
> for Washington State's largest PPO (Preferred Provider Organization).
> Learned a lot about processing/pricing/adjudicating medical claims and
> ended up designing the data model for their new systems.
>
> Became an I.T. Manager (2007) for that company and managed two
> development teams plus the DBA (and was the only Korn Shell writer in
> the company).  Picked up my PMP (Project Management Professional)
> certification in 2011 and promptly retired in February 2017.
>
> So, I have over 40 years working with computers.  Mostly with those
> ancient languages (BASIC, Fortran, COBOL, some Pascal) and some assembly
> language/machine language exposure (PDP 11/20, ASM, PAL, PSL) and
> database transaction languages (Transact, PL/SQL,, Oracle's flavor of
> SQL).  But woefully lacking in web and modern day (C, C++, C#, Scheme --
> I did read the book last week).
>
> Took time this past year to relax, work on the new property, enjoy the
> grandkids and how I had time to go to work all those years.
>
> Well, the greenhouse is built, summer is over, the rains have set in and
> I did promise to figure this language called Scheme out enough to get
> the basic reports formatted to my wife's demanding specifications.
>
> Her qualifications?  MEd secondary education for Business Education.
> Took some additional Accounting courses and spend the last 21 years
> doing accounting for an architect.  Mostly assisted living facilities
> but also churches around the world.
>
> So, when I get stuck on which side of the T account the credits/debits
> go (and when the default value is negative/positive -- and yes, I know
> that both debits and credits can hold both negative and positive values
> for the same account so looking at the sign doesn't tell you to which
> side it belongs -- it is a really strong hint though) I have an in-house
> reference that accepts voice input (not Alexei nor Echo!) and generally
> responds rather quickly.  Failing that, I contact my daughter who has
> her AA in accounting (she specializes in payroll).
>
> Now, it's time for me to roll up my sleeves and get my hands dirty in
> this thing called Scheme.  It looks to me that there are just a couple
> developers holding down the fort here.  And that is way too little to
> try to make GNC anything more than a good G/L system.  Hopefully by
> spring I'll have my thousand hours in and be able to contribute.
>
> Yes, I've noticed that the brain muscle has atrophied along with the
> knees and other items since retirement.  I think I can still whip out a
> data model (ER diagram) but the detailed syntax to create that in an
> Oracle database -- well, for the last 10 years I had a DBA to whom I
> could assign that task!
>
> Oh yes, C is on the bucket list,  I'll have to Scheme my way to it.
>
> --
> Stephen M Butler, PMP, PSM
> Stephen.M.Butler51 at gmail.com
> kg7je at arrl.net
> 253-350-0166
> -------------------------------------------
> GnuPG Fingerprint:  8A25 9726 D439 758D D846 E5D4 282A 5477 0385 81D8
>
> _______________________________________________
> 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
> If you are using Nabble or Gmane, please see
> https://wiki.gnucash.org/wiki/Mailing_Lists for more information.
> -----
> 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