Amount rounding precision

Hello, I have a problem with the amount rounding precision, in the German version of Financials 2.01. I’m not able to produce certain prices including VAT (16%), for example 12 Euro. It always calculates 11,99 in the sales line. That’s just one example, sometimes prices of single lines are correct, but the combination of two lines creates one cent too much for the invoice sum including VAT. I found out that I can avoid the problem by changing the amount rounding precision from 0,01 to 0,001, while leaving the decimal places at 2:2. Navision calculates more precise then, but still only shows 2 decimal places to the customer, and the end result is correct. So my question is: Are there any problems, which might occur, when I change the amount rounding precision to 0,001 ? Because normally you are not allowed to do so, because there are already posted lines. Is there a real reason for this, or can I change it by programming without any problem ? Thanks for any help ! Daniel

Don’t change it. This field is very important and mut be left like this. Sorry.

Thank you for your answer ! So, do you have any other idea how to solve the problem ? I can’t believe that it isn’t possible to create a 12 Euro price including 16% VAT (for example) in Navision ! What do they tell the customers, maybe “if you buy Navision you have to change your prices to what the system tells you” :wink: Does anyone have another idea (I guess there must be a lot of people who had this problem) ? Daniel

I reported that problem to Navision in 1999 and it is fixed in Attain. You must make some changes in table 37 Sales Line. Amount - OnValidate() TESTFIELD(Type); TESTFIELD(Quantity); TESTFIELD(“Unit Price”); GetSalesHeader; {WM/026/BEGIN} { Original Code: Amount := ROUND(Amount,Currency.“Amount Rounding Precision”); } IF (CurrFieldNo <> FIELDNO(Amount)) AND SalesHeader.“Prices Including VAT” THEN Amount := ROUND(Amount,0.00001) ELSE Amount := ROUND(Amount,Currency.“Amount Rounding Precision”); {WM/026/END} CASE “VAT Calculation Type” OF : : UpdateAmounts() IF CurrFieldNo <> FIELDNO(“Allow Invoice Disc.”) THEN TESTFIELD(Type); GetSalesHeader; : : “VAT %” := 0; END; END; {WM/026/BEGIN} IF SalesHeader.“Prices Including VAT” THEN “Amount Including VAT” := ROUND(“Amount Including VAT”,Currency.“Amount Rounding Precision”) ELSE Amount := ROUND(Amount,Currency.“Amount Rounding Precision”); {WM/026/END} InitOutstandingAmount; : : CalcOriginalAmount() GetSalesHeader; OriginalAmount := Quantity * “Unit Price”; IF SalesHeader.“Prices Including VAT” THEN CASE “VAT Calculation Type” OF “VAT Calculation Type”::“Normal VAT”, “VAT Calculation Type”::“Reverse Charge VAT”, “VAT Calculation Type”::“Sales Tax”: OriginalAmount := Quantity * “Unit Price” / (1 + “VAT %” / 100); “VAT Calculation Type”::“Full VAT”: OriginalAmount := Quantity * “Unit Price”; END ELSE OriginalAmount := Quantity * “Unit Price”; {WM/026/BEGIN} { Original Code: OriginalAmount := ROUND(OriginalAmount,Currency.“Amount Rounding Precision”); } IF SalesHeader.“Prices Including VAT” THEN OriginalAmount := ROUND(OriginalAmount,0.00001) ELSE OriginalAmount := ROUND(OriginalAmount,Currency.“Amount Rounding Precision”); {WM/026/END} /Bjarne

Thank you very, very much, it works ! Greetings, Daniel

Hi, Bjarne: You say that is fixed in Attain but I have the exakt same problem in Navision Attain 3.10. It this changed in Navision 3.70? Best Daniel

Hey guys, Use the feature called Allow VAT Rounding with which you can correct this cases. But fixing the problem is definitely the best idea.

Hi Daniel, I can’t reproduce the problem in Attain. I get 12 Euro in “Line Amount” and “Amount Including VAT” and 10,34 Euro in Amount. Can you tell me who you reproduce the problem ? /Bjarne

Hi, I just read the original question again (this time more carefully) and I realized that my problem wasn’t the same. Sorry about that. My problem is that when using prices including vat and having a unit price with 3 decimals, then Line Amount is rounded to two deciamals (which is correct regarding to the default setup in General Ledger setup). Once again, sorry about this. Daniel