Based on my reading of the comments in arithmetic.properties, it only controls the display (rounding/format) of decimals, not the actual underlying database field. In most cases, the related database fields only have 3 (or less) decimal places, so you cannot store a value out to 5 decimal places, to round from.
What controls the creation of the fields? Is there/can there be a properties file that lets you set the precision/scale of the decimal type fields? Examples: PRODUCT_PRICE.PRICE = decimal(18,3) QUOTE_ITEM.QUOTE_UNIT_PRICE = decimal(18,2) INVOICE_ITEM.AMOUNT = decimal(18,3) FIN_ACCOUNT_TRANS.AMOUNT = decimal(18,2) ACCTG_TRANS_ENTRY.AMOUNT = decimal(18,2) ORDER_ITEM.UNIT_PRICE = decimal(18,3) ORDER_ITEM.UNIT_AVERAGE_COST = decimal(18,2) REQUIREMENT_BUDGET_ALLOCATION.AMOUNT = decimal(18,2) SUPPLIER_PRODUCT.LAST_PRICE = decimal(18,3) SUPPLIER_PRODUCT.SHIPPING_PRICE = decimal(18,3) I can't easily identify what tables hold bill of materials and routings, but my guess is, I would see similar issues there. It is not every cost or price field though, which to me is a baffling inconsistency. For example, COST_COMPONENT.COST is decimal(18,6), which would be fine. Thanks, Tim -----Original Message----- From: Paul Foxworthy [mailto:p...@cohsoft.com.au] Sent: Wednesday, January 3, 2018 8:47 PM To: user@ofbiz.apache.org Subject: Re: Add Product Supplier broken - similar to Edit Facility bug Hi again, I've changed my mind about a Jira for the moment. I think this is not exactly the same thing as OFBIZ-6436. We could create a new issue in future, but I'd like to consider this some more. I see the general point that there's a need for more decimal places in prices. OFBiz has configuration options for decimal places in orders, invoices, indirect taxes, financial accounts and general ledger reports. (All of these are in https://github.com/apache/ofbiz/blob/trunk/applications/ accounting/config/arithmetic.properties <https://github.com/apache/ofbiz/blob/trunk/applications/accounting/config/arithmetic.properties#L24> ). Here are questions I'd like Tim and everyone to consider: - Is a rule for product price DPs a separate thing to rules for other amounts specified in arithmetic.properties? I think the answer is "yes". - Should OFBiz just accept a price to whatever level of precision a user wants to enter it, and not round it? - Product pricing and the number of DPs might vary significantly for different products. Is there any need to enforce some sort of consistency here? - If enforcement is needed, is a single configuration option for product pricing sufficient? - If enforcement is needed, should it be more fine-grained than one rule for all products? Should the number of DPs be an attribute of some entity, perhaps ProductCategory or SupplierProduct? Cheers Paul Foxworthy On 4 January 2018 at 11:57, Paul Foxworthy <p...@cohsoft.com.au> wrote: > Thanks, that makes sense. > > Maybe further discussion should move to https://issues.apache.org/ > jira/browse/OFBIZ-6436 . I will put a comment there with your link to > the NCES standard. > > Cheers > > Paul Foxworthy > > P.S. I buy my gasxxx petrol in litres and one place suffices :-). > > > On 3 January 2018 at 23:20, Boyden, Timothy > <tboy...@electroswitch.com> > wrote: > >> Same reason your gas prices are quoted to 3 digits at the pump. Those >> extra cents amount to millions of dollars after millions of gallons >> or hundreds of thousands of component sales. It is also necessary in >> order to capture actual cost of products when using only a few of the >> components in a part, or like I said, grams of a precious metal >> coating on electrical connectors. Measurements to convert from grams >> to a purchase UM of ounces will almost always be a 5 digit decimal >> value. And you can bet those precious metal vendors count their hundreds and >> thousandths of ounces. >> Also, for the purposes of statistical analysis, which is used to >> analyze production quality, the US national standard is (at least) 4 >> decimal >> places: https://nces.ed.gov/statprog/2002/std5_3.asp >> >> -Tim >> >> >> -----Original Message----- >> From: Paul Foxworthy [mailto:p...@cohsoft.com.au] >> Sent: Tuesday, January 2, 2018 7:43 PM >> To: user@ofbiz.apache.org >> Subject: Re: Add Product Supplier broken - similar to Edit Facility >> bug >> >> Hi Tim, >> >> Thanks for your feedback. >> >> I am curious what you would use the unit price for. Do you order your >> washers in quantities of thousands, and might the price vary if you >> ordered in quantities like 10,000 or 100,000? So acquisition price >> might depend on quantity ordered. If you are calculating cost price >> for a manufactured product, the prices for washers might be imprecise >> but that's unlikely to be most significant contributor to the cost price. >> What am I missing? >> >> Thanks >> >> Paul Foxworthy >> >> >> On 24 December 2017 at 22:42, Boyden, Timothy >> <tboy...@electroswitch.com> >> wrote: >> >> > The issue that I had was that the underlying field would not accept >> > a value of 0.00590. I had to enter the value as a lot of 10000, to >> > get the price to 59.00, before it would accept the value. If I read >> > the first link correctly, that is referring to display format, and >> > not validation of the field input, or the size of fields. Looking >> > at the table spec, indeed the LAST_PRICE field of SUPPLIER_PRODUCT >> > is only a decimal field with 3 decimal place precision. It should be at >> > least 5. >> > All price fields should be at least 5 decimal place precision. >> > >> > -Tim >> > >> > -----Original Message----- >> > From: Paul Foxworthy [mailto:p...@cohsoft.com.au] >> > Sent: Saturday, December 23, 2017 7:36 PM >> > To: user@ofbiz.apache.org >> > Subject: Re: Add Product Supplier broken - similar to Edit Facility >> > bug >> > >> > Hi Tim, >> > >> > Decimal places are configurable for many things in OFBiz - see >> > https://github.com/apache/ofbiz/blob/trunk/applications/ >> > accounting/config/arithmetic.properties#L24 >> > and below. >> > >> > I can see product pricing should be configurable too. In >> > https://issues.apache.org/jira/browse/OFBIZ-6436, Ingo Wolfmayer >> > was proposing adding a similar thing for prices. >> > >> > Cheers >> > >> > Paul Foxworthy >> > >> > >> > On 24 December 2017 at 08:02, Boyden, Timothy >> > <tboy...@electroswitch.com> >> > wrote: >> > >> > > Also, it looks like the Last Purchase Price field doesn't accept >> > > 5 digit decimal places. Major bad for a manufacturing system. A >> > > steel washer, priced per each, would be like $0.00590 USD. >> > > Similarly, precious metals, like silver for silver plating, would >> > > be ordered in >> > 5-digit decimal ounces. >> > > That needs to get fixed. >> > > >> > > Thanks, >> > > >> > > Tim >> > > >> > >> > >> > >> > -- >> > Coherent Software Australia Pty Ltd PO Box 2773 Cheltenham Vic 3192 >> > Australia >> > >> > Phone: +61 3 9585 6788 >> > Web: http://www.coherentsoftware.com.au/ >> > Email: i...@coherentsoftware.com.au >> > >> >> >> >> -- >> Coherent Software Australia Pty Ltd >> PO Box 2773 >> Cheltenham Vic 3192 >> Australia >> >> Phone: +61 3 9585 6788 >> Web: http://www.coherentsoftware.com.au/ >> Email: i...@coherentsoftware.com.au >> > > > > -- > Coherent Software Australia Pty Ltd > PO Box 2773 > Cheltenham Vic 3192 > Australia > > Phone: +61 3 9585 6788 <+61%203%209585%206788> > Web: http://www.coherentsoftware.com.au/ > Email: i...@coherentsoftware.com.au > -- Coherent Software Australia Pty Ltd PO Box 2773 Cheltenham Vic 3192 Australia Phone: +61 3 9585 6788 Web: http://www.coherentsoftware.com.au/ Email: i...@coherentsoftware.com.au