Inventory and payroll

Robert Graham Merkel rgmerk@mira.net
Tue, 12 Sep 2000 15:02:27 +1100


Conrad Canterford writes:

 > So,
 > - the stock account type is a type of inventory.

Yes, that's true.

 > - it performs its function adequatly (I believe) for simple share
 > holdings.
Correct, but it would (and will) be much more useful with some
improvements.

 > - but it does not contain the details required for a full inventory
 > control system.
No, it doesn't.
 > Which brings me back to my original point. I think the inventory control
 > stuff should be a seperate (but fully integrated) application. I might
 > be able to be convinced that it can be sensibly done as a scheme module,
 > but it will require some more convincing yet... :-)
 
When you say a "seperate, but fully integrated" application, it sounds
like a bit of an oxymoron to me.  If it is integrated, it thus depends
on interfaces to the other parts of GnuCash.

At a very simple level, to make an inventory system you need three things:

1) An "engine" to keep the inventory records.
2) A "reporting ssystem" to analyse data from the engine and prepare
reports.
3) A user interface to get information in and out of the engine and
reporting system.

This is, in a rough sense, the kind of structure we have in GnuCash
already.

The "reporting system" of GnuCash is quite suitable for preparing
inventory reports already.  The user interface is also quite suitable
for inventory work (with some adaptation necessary) and there are
substantial benefits to having a unified user interface rather than
two separate applications.

The engine requirements for storing inventory details are somewhat
different to the financial accounting system.  There is no reason,
however, that a somewhat decoupled "inventory engine" can't be
written with a defined interface between it and the rest of the engine
(which will be necessary for file I/O, for instance).  Provide we
maintain the discipline to keep the "inventory engine" cleanly
separated off, there isn't any reason why it can't exist as part of
the whole "GnuCash" system.

As for Scheme, while we like Scheme, I think the general consensus
around here is to stick to C in the engine.

 > Make sense?
 > 

I think, perhaps, we disagree about the amount of integration
necessary to build the best inventory system we can.  I suspect we
will get more from integrating more tightly.

------------------------------------------------------------
Robert Merkel	                           rgmerk@mira.net

------------------------------------------------------------