cancel
Showing results for 
Search instead for 
Did you mean: 

difference in condition value of sales order and billing

Former Member
0 Kudos

Hello,

Right now I am working on  the issue which involes difference in condition values prices in sales order and invoice.

There is a currency exchange and the difference in price occurs only when there is a multiple quantity.

we have a condition type in SO ZPRE and the condition value is 55.43 .

Same condition type in billing has the value 55.54

So wanted to know why this difference and what would be the solution.

I checked the pricing procedure and there is no routine set up .

Any help will be appreciated ..

Pooja

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

HI,

Please check whether pricing is redetermined at invoice level. Is your unit price is same at order and invoice?

Is the condition type is manual or you are calculating it based on formula?

Please give some more details to understand the issue.

Regards

Biswabhusan

Former Member
0 Kudos

Hello ,

I am attaching the screen shot of the pricing procedure . It is using cutomised routine 900 . The source code is

form frm_kond_basis_900.

                                      

*\  xkwert = komp-netwr.

                                      

if komp-pstyv = 'IRRA'

or komp-pstyv = 'ZEN'.

  xkomv-kstat = 'X'.

endif.

endform.

The item category in the SO is YTAN which is standard item .

Pooja

Former Member
0 Kudos

Hello,

The unit price is not changing. It is the same in both the documents .

Can it be because of the currency exchange . SEK to Euroes .

Former Member
0 Kudos

Hello,

Please calculate your condition value offline with considering decimal. and then try to match it with SAP condition value. If the difference is still coming there might be two reasons.

1. Due to routine 900: Try to debug the program and see.

2. Due to condition category G. which is applicable for VPRS and there are some impact in pricing variance due to which your condition class is changing at invoice.There are several notes you can check 78799 and in that you get some other notes too. Try to analyse it in depth. I came across such type of issue long time back for VPRS.

Regards

Biswabhusan

Former Member
0 Kudos

And meanwhile check the exchange rate of both the currencies too.

Former Member
0 Kudos

Hello,

Thank u so much for replying and helping me find the solution.

I think i found the issue . The value of currency exchnage is diiferent in SO and invoice.

The printed value in SO is 1 Eu = 9.09130 sek while the in calculation are using 1Eu = 9.09137sek

In Invoice , used 1Eu = 9.09130sek

If I do all calculation again using 1Eu = 9.09137sek the values match with SO.

Now , my query would be where I can see what currency exchnage is picked at SO and Invoice level respectively.

Thanks

Former Member
0 Kudos

Hi,

Check you copy control between delivery and billing how the exchange rate is getting determined.

Rgds

Biswa

jobis
Contributor
0 Kudos

Pooja,

Exchange rate flows from the exchange rates maintained for particular dates. See it in OB08.

The date is determined by the setting in copying control. Look at item level copyig control.

Regards

Jobi

Former Member
0 Kudos

Thank u sebastian for the reply.

I am now so much confused . Sometimes it looks it is rounding off error , sometimes different currency exchange.

I am currently debugging . See the attachment . It is invoice ,item condition screen shot.

I want to know how and where the condition values are calculated in the backend . Any help will be appreciated

Former Member
0 Kudos

Hello,

Please see  my reply to Sebastian.

Pooja

Former Member
0 Kudos

Hi,

What is wrong in the calculation?

always your unit price should be condition value/no of units(1147.63/2=573.815) if you round off then it is 573.82. Don't calculate in other way around.

If possible please post same screen for order then it will be easy for us to understand..

Regards

Biswa

Former Member
0 Kudos

Here is the screen shot from SO

Here in SO , the condition value is 1147.62 EUR

In invoice , the condition value is 1147.63 EUR

This is the issue

Former Member
0 Kudos

I noticed your unit price is different at order and invoice with 0.01 EUR. This is due to your condition control. You have used condition category G for your condition type which will always redetermine even if u fix in copy control and it is based on goods movement.

Change the condition category from G to S and try to test the same scenario. Make sure your condition control will be D in invoice then only price will be same. Test it thoroughly for all possible business scenarios because you have some Zroutines assigned.

Condition control is always getting changed in background based on condition class and category.

Try this and let me know the outcomes.

Regards

Biswa

Former Member
0 Kudos

Thanks . I will try and update here. Just a small doubt , when u said "Make sure your condition control will be D in invoice then only price will be same. "

Is it calculation type or condition category . Which one should be D

For SO , the t-code is V/06 to make the chnages , what is same for invoice . Which t-code I can make the changes .

Pooja

jobis
Contributor
0 Kudos

Pooja,

the calculations are different in both the documents, as shown.

In one, the condition amount is in euro and in other, its in SEK.

The condition value in both are in euro. The rounding during these two different calculations may be causing this difference in decimals.

Please check that.

thank you

Jobi

Former Member
0 Kudos

Yes, that is what I think . But where and how do I check if this is due to rounding . Where do I check the calculation . How do I debugg and see the calculation

jobis
Contributor
0 Kudos

Pooja, You can do the debug of the pricing. Take the help of Abaper

Former Member
0 Kudos

Hello,

We do not have abaper ...That is why I was asking , how I can do that

Former Member
0 Kudos

Change Condition category from G to S in V/06. Condition control will be changed automatically. Try this and let me know.

Former Member
0 Kudos

Thank u so much . Finally the values in the SO and the billing documents are same .

I will do more testing to see if the solution implemented is correct .

But thank u , i really appreciate .

Pooja

Former Member
0 Kudos

Hi Pooja,

Check the impact because there are some Zroutines involved.

Rgrds

Biswa

Former Member
0 Kudos

Hello,

yes , it is impacting one other condition type .

Before making the changes , the condition type is not activated in billing . After making the changes ,the condition type is getting value .

What can be a way of in-activating the condition type .it is named cost-statistical.

Former Member
0 Kudos

Check two things.

1. what is the condition category of that condition type. double click on the condition type check the inactive reason in old documents.

2. How your routine is working. I mean what is the base logic. If possible update scree shot of the two condition type control screen.

Then we can find out the reason and solution too.

regards

Biswa

Former Member
0 Kudos

Hello ,

here is the screen shot before making changes

Here are the screen shot after making changes

Pooja

Former Member
0 Kudos

Pooja,

I am not able to understand why always your condition category is G for pricing type B. In your procedure you are using two condition types for cost what is the reason behind it?

More over this condition type is statistical and it should not affect your pricing calculation.

Please check it properly.

Regards

Biswa

Former Member
0 Kudos

Hello,

Now when changing the condition category to S from G , when I try to create the SO , it is giving error "missing data : Net value ". This is with reference to the original issue . I can create SO with reference to SO and in that problem is resolved .

But if I revert back the changes , no problem in creating the SO .

Pooja

Former Member
0 Kudos

Hi,

Have you checked the logic of your routine? This message is coming I think your base condition types are inactive check whether the flag is green or yellow in sales order and net value is updating or not.

check your pricing procedure and the routine which you have assigned and you will definitely find the reason and solution.

Rgds

Biswa

Former Member
0 Kudos

Hello,

I really appreciate your help.

Please see the attachment , I want to know how the values are calculated .

Amount = 573.82 EUR

condition value = 1147.43 EUR

Value 10433.44 SEK is coming from PGI

Currency exchange rate is 1 EUR = 9.09130 SEK

I would like to know the calculation , how these values are populating.

Thanks

Pooja

Former Member
0 Kudos

Hi,

The calculation is as below

Amount = 573.82 EUR

condition value = 1147.43 EUR

Value 10433.44 SEK is coming from PGI

Currency exchange rate is 1 EUR = 9.09130 SEK

Calculation: 10433.44/9.09130=1147.62905 and if will round off then it is 1147.63

so your unit price is 1147.63/2=573.82.

This is how SAP calculates.

Biswa

Former Member
0 Kudos

Thank u .

Similarly as above when there are 3 quantity , the situation is like this

Amount = 573.81 EUR

Condition value 1721.44 EUR

15650,16 SEK

So ,if I do the calculation as you have done then ,

15650.16/9.09130 = 1721.44357

roundoff then 1721.44

unit price is = 1721.44/3 = 573.81

Now my question is , in SO the amount is 1721.43 EUR

and in invoice amount is 1721.44 EUR

So , the difference in the amount that is coming is not because of the rounding off issue .

I wanted to know , to resolve it . Is their any kind of configuration needed or coding needed .

Thank u once again.

Pooja

Former Member
0 Kudos

Hi,

You are right. i know the your values are not changing due to rounding off. This is due to the pricing type you are using. Your pricing type is similar to VPRS and it has some impact. Try to avoid cost condition type try to use condition type like base price or discount and surcharge.

Check note 547570 for more info for cost condition type.

Regards

Biswa

Former Member
0 Kudos

Hi ,

Need help from you . The rounding issue is still on.

The details are from billing item condition window

amount(komv-kbetr) = 211,28 eur

cond.base value(komv-kwart) = 3

condition value(komv-kwert) = 633,83eur

Exchnage rate is 1 eur = 8.85090sek

the issue is

the calculation is done as 211,27794 X 3 = 633,83 eur

whereas we want 211,28 X 3 = 633,84 eur

So we have to prevet the calculation from being made from 5 decimal places to 2 decimal places .

How can this be achieved .

I want my komv-kbetr to round off first and then do calculation.

Pooja

Answers (1)

Answers (1)

fortian
Active Contributor
0 Kudos

Hello Pooja,

Did you check if the pricing date is the same in both documents?

Regards,

Fortian

Former Member
0 Kudos

Hello Fortian,

pricing date is the same in both documents .

However , the item control data for the item is different in SO and invoice.

For SO it is

condition class :- b

calculat.type :-  c

condition category:- g

condition control :- A

condition origin :- a

For Invoice  it is

condition class :- b

calculat.type :-  c

condition category:- g

condition control :- H

condition origin :- a

Do you think , if I chnage the value of condition control in invoice as A , the issue will resolve .

Pooja

jobis
Contributor
0 Kudos

Hi Pooja,

There could be various reasons for this change.

The pricing date change which may have different exchange rate may be the most probable case.

look at the pricing dates in your order and invoice,

Also look at the exchange rates of these dates.

Hope the condition record value remains same for both documents.

Regards

Jobi

Former Member
0 Kudos

Hi Pooja,

The condition value is affecting due to your condition category and condition class. Condition category g is for VPRS which is internal cost due to which your condition class is coming as H. where as it should be F.

check note about the behavior of VPRS in  OSS 78799.

Regards

Biswabhusan