Discount By Unit Price

So you want all values of the line shown to 2 decimal places, and the math of the displayed values to jive?

Qty   Unit Price   Disc %  Disc Price  Ext Price
===   ==========   ======  ==========  =========
20      1213.68       40%     728.208   14564.16  (Actual values)

20      1213.68       40%     728.21    14564.16  (Rounded Disc Price shown, 
                                                   but actual value used to 
                                                   calc Ext Price)

20      1213.68       40%     728.21    14564.20  (Rounded Disc Price shown 
                                                   and used for to calc Ext Price)

And itā€™s the third line that you want?

What you could do to get that, is to make a BPM that calculates and sets the discount amount. In your example, a discount of 9709.40 is desired. But that requires a discount % of 39.99983521%. So round that derived discount % when you display it on the Order and Invoice.

1 Like

Hi Calvin,

This could be a brilliant example of the power of a forum.

I was looking at things one way and then another member, says think another way.

Iā€™ll try it on Monday and let you know the outcome.

Thanks for the input.

Cheers,

Andrew.

I got the results you expected using below configs, however make sure to test in case of unexpected results/bugs, this is on 10.2.700 although I donā€™t think this has been changed recently:

  • Round net price by unit price

Calculation is as follows
1213.68 * (1 - 0.4) = 728.208
Apply Currency Round Rules, in my case multiplier is 0 and No Round. Result is 728.21
Discount is 1213.68 - 728.21 = 485.47
Total Discount is 485.47 * 20 = 9704.40

  • Round discount by unit price

1213.68 * 0.4 = 485.472
Apply Currency Round Rules, in my case multiplier is 0 and No Round. Result is 485.47
Total Discount is 485.47 * 20 = 9704.40

image

Hi Jonathan,

Firstly thanks for looking at this.

When you say ā€˜Apply Currency Round Rulesā€™, do you mean changing the rounding rules against the currency

When I try this, it does not allow the rule to be updated and returns to the ā€˜No Roundā€™ option on save.

Thanks,

Andrew.

Yeah those, sounds odd that it doesnā€™t save changes.
But if it is 0 and No Round it should not apply additional rounding logic besides the currency decimals.

Just to keep in mind that changes in these rounding options affect the calculation.

Do you have to set the price to 2 decimals?

I am really excited if this works.

Hi Jason,

The issue is that the requirement for rounding unit price is only on discounts.

I canā€™t change the currency master as this has a global impact.

Cheers,

Andrew.

You are correct, but since you donā€™t use those options seeing as everything is 0 and No Round, these calculations should work for you.

Iā€™m hoping the details I posted can at least help those trying to do something similar.

That depends on what you need to be able to show and enter for prices.

Rounding rules are applied sometimes as part of the calculations, but in the end it is still going to be rounded to the currency General decimals.

Andrew,

Iā€™m not understanding the impact of this, I guess. I have never opened Currency Master before.

Our implementation has the decimals as 2/5/5 for general/price/cost; I assume thatā€™s standard out of the box. And I am hearing that price has to change to 2 decimals for this to work.

My understanding (please correct if wrong) is:

  • price = sales orders, while
  • cost = POs or job material or standard/last/etc. costs

If thatā€™s true, then I donā€™t understand why only discounts would get 2 decimals, and why not all prices?

I just want to know if I am missing something. This has been a thorn for months here lately.

Our company settings are 2/4/4 (General / price / cost). But the Data Dictionary for OrderDtl, shows the several ā€œpriceā€ fields being limited to 3 decimal places: