Proposal for modifying gnucash to use exact quantities

Richard Wackerbarth
Tue, 25 Jul 2000 15:53:05 -0500

On Tue, 25 Jul 2000, John Hasler wrote:

> The pump knows that 1.699 * gallons = total sale, anyway.

> IMHO transaction_total != price * quantity.

> Rather, transaction_total = f(price, quantity)
> where transaction_total is an integer,

> price and quantity are reals, and

Actually, price is a rational and quantity is an integer.
(At least in the pumps that I helped program)
The metering of the delivery was done by a positive displacement pump which 
delivered a fixed amount on each stroke. We measured the amount delivered in 
pump strokes and converted the display to milli-gallons for the volume and 
cents for the transaction amount.

> f() is a nonlinear (though usually monotonic) function.  transaction_total
> is the amount that you are obligated to pay or have the right to receive,
> and it is what the accountants want us to keep exact track of.
> Quantity is an inventory control matter and not expected to be exact.

That really depends upon the "packaging" of the item and the value of a 
distinguishable package. If I am repackaging the material for sale, there is 
often some inexactness in the process. A box of 100 steel machine screws may 
actually end up with 101 of them. But if it is a bottle of prescription 
drugs, there better be exactly 100. The difference is that it is cheaper to 
give away a screw at $0.002 than it is to accurately count them.

And I can be reasonably sure that I would not receive either 19 or 21 "747"s 
when I pay for exactly 20.

> Price and f() are part of your contract with the other party and so are
> legal matters.  Only transaction_total is really accounting.

Agreed. Although pricing and valuation are related to the transactions,
the fundamental bookkeeping entry is that a quantity of an item is moved on 
the books (widgets-on-hand --> widgets-sold) and associated with that, there 
are other quantities also moved (gross-sales --> cash-in-bank), 
(cost-of-manufactured-inventory --> cost-of-goods-sold), etc.