Create pricelist set price to 0 if UOM conversion divide rate is big

Description

If pricelist is created from M_Product_PO and UOM conversion is used, it can happen that the resulting list price is 0 because the precision of the currency is used.
The conversion should use the precision of the target price list which is usualy prepared with the right precision.

Example:
Threads are usualy shiped on reels a 100m / 500m / 1000m but ordered per each.
In manufactoring they are usualy consumed in meter.
A typical 1000m reel with a price of .92 EUR each results in 0.00092 EUR per meter.
A well configured pricelist with precision set to 5 works well with such price but generating the pricelist from M_Product_PO results in a price of 0.

Environment

None

Activity

Show:

Carlos Ruiz August 22, 2020 at 8:16 AM

Closing as potential idea.

This is probably caused because of the usage of currencyconvert in the class M_PriceList_Create (actual version lines 282 to 310)

A possible workaround (not tested) would be to increase the precision of the currency (the price list currency) before the process run.

Maybe a patch here (if somebody wants to test) can set the precision high before running the INSERT AS SELECT - and at the end leave the precision as it was before.

Anyways - closing this after 7 years of inactivity.

Volker Voßkämper September 27, 2013 at 7:46 AM

In the described example the price in the purchase order would be rounded to 1.00. This is because UOM Each has precision of 0.
Better create a UOM Reel with precision 2. Then the price in the purchase order is 0.92 as expected.

Incomplete

Details

Assignee

Reporter

Priority

Created September 26, 2013 at 6:13 PM
Updated October 2, 2020 at 4:14 PM
Resolved August 22, 2020 at 8:16 AM