request for comments on inventory experiment

Lianto Ruyang lianto.ruyang at gmail.com
Sat Jan 5 22:46:04 EST 2008


>It is very important that each part stands on its own in an inventory so
>you can set reorder levels.  e.g. You may wish to keep 100 pieces in
>inventory for customer replacements.  So if you want to put a build to
>the factory that requires 200 pieces and you have 250 in inventory, you
>can't release the build because you are out of "build stock".
>
> The comments made about how to handle inventory are incorrect for
> basic inventory - but PERFECT for a structured BOM.
>

My current goal is to make a basic inventory able to record buy/sell
of items in gnucash, i'm imagining a store or a supermarket when
thinking how the system should work. I think BOM is better suited for
factory or company doing assembly, more advanced level.

>However, the system you proposed sounded very similar to Commodity accounts.
>They, too, are children of Asset accounts, with Lots of "shares" (not
>necessarily in integer values/units only), where the price of the commodity
>varies over time.
>
>I'm wondering if you can leverage that mechanism to implement inventory
>here without such extensive changes.  Maybe just modifying the app/UI-layer
>to accommodate Inventory.

I had in my mind the idea to implement inventory using the Commodities, but then
i found out that the commodity is very attached to the idea of an
Account. My understanding from looking through the source-code, now
the commodity actually functions as a currency, deciding how much
value an Account is. All the splits and lots inside an Account use the
Account's commodity as the basic conversion unit.

I think an inventory system should have items which are not so
attached to Accounts.
Those items should be recorded in the Accounting system, but they are
stand-alone entities.
I actually feel the items of inventory are more like Accounts than
Commodities. But while Accounts is used to record values and amounts
of imaginary items, the "goods" of inventory is used to record values
and amounts of real items.


>> Account-Tree
>> |---Asset
>>       |---Inventory Account 1
>>       |       |---lots (goodsA's lots + goodsC's lots)
>>       |---Inventory Account 2
>>       |       |---lots (goodsB's lots)
>>
>> The only difference of an "Inventory Account" with other type of accounts
>> is: the lots in "Inventory Account" will have a path "goods-guid" in its
>> slot, pointing to a goods' GUID.
>> So in the above example some  of "Inventory Account 1" lots will have a path
>> "goods-guid" pointing to goodsA's GUID, an the rest will be pointing to
>> goodsB's GUID.
>
>In fact, the "goods-guid" slot would need to contain a list of the Goods
>GUIDs of goodsA and goodsC, right?
>

No, the "goods-guid" slot only need to contain one Goods GUID. Because
in an "inventory-type account", a lot will describe one goods only.

Copying from lots.txt:
>  invoice #258    customer XXX
>  Order placed 20 December 2001
>     quant (10)   gallons paint              $10/each         $100
>     quant (2)     paintbrushes              $15/each        $30
> .....

If the transaction is like that, than one lot will record the sales of
"10 gallons paint", and another lot will record the sales of "2
paintbrushes".


-- 
Lianto Ruyang

"Whatever the mind can conceive and believe, the mind can achieve."
    Dr. Napoleon Hill


More information about the gnucash-devel mailing list