Pricing Conditions Rounding Issue

Currently, our system has two pricing condition types.  ZP,ZD.  The ZP conditions represent a base price and the ZD represent a differential(- discount or + surcharge).  Both are based on the same hierarchy.  ZP00,ZP01,ZP02.ZP03,ZP04.  A ZP01 overrides a ZP00 and ZP03 overrides ZP00, ZP01,ZP02 and so on and so forth.  All transactions are settled in USD.  However, most of the time the ZP, ZDs are based on prices that extend out more than two decimal places.  I am experiencing and issue because SAP calculates the ZP and ZD separately and is rounding each.  For example the ZP or base price in this case is $2.245. This times quantity of 3,999Gal = $8,977.755. SAP rounds this to $8,977.76.  SAP then calcs. the differential ZD $.0235X3,999Gal = $93.9765.  SAP rounds to $93.98.  This is a total price of $8,977.76+$93.98 =$9,071.74.  However the unit price is ZP $2.245 + ZD $0.0235 = $2.2685.  If you take this price multiplied by the quantity $2.2685 X 3,999Gal = $9,071.7315.  So the actual total price is off by 1ct because SAP treats the ZP and ZD as two separate calculations.  I have seen various ideas on how to fix, from creating another pricing condition, to user exits.  I was wondering if there was a preferred method?  Or if there is a simpler solution?

Good Evening,
1. Please review OSS NOTE 80183 regarding Rounding.
   Values calculated in pricing are always rounded to the amount of
   decimal places which the used document currency owns. As subsequent
   processing steps setup on this rounded value rounding differences can
   occur in the calculation of the price per unit or in subtotal line.
   To bypass such effects note 80183 describes possible solutions to
   reduce / bypass this effect.
   A few problems in rounding after applying note 80183, variant 2 have
   been recorded where it was recommended to use the formulas 919 and
   920 on all discounts and surcharges that appear before NETP and the
   problem was solved.
2. In transaction V/06 there is a field under header 'Control data1'
   which can effect how the system rounds off condition values during
   pricing:
   ->> Rounding rule
       The rule that determines how the system rounds off condition
       values during pricing. The last digit will be rounded.
Example
o  In the standard rounding rule '_', values are rounded off according
   to business standards:
   10.454 -> 10.45 DEM
   10.455 -> 10.46 DEM
o  In rounding rule 'A', values are always rounded up:
   10.459 -> 10.46 DEM
   10.451 -> 10.46 DEM
o  In rounding rule 'B', values are always rounded down:
   1045.9 -> 1045 LIT
   1045.1 -> 1045 LIT
   In this example, the currency of the condition rate is Italian Lira.
   The Italian Lira does not have any places after the point.
3. Also check if the condition type is set as item condition as well
   as group condition in transaction V/06. What this means is that
   the system will calculate the value of the condition on header level
   and compares it with the sum of item values in the document.
   Any rounding difference (KONV-KDIFF) detected, will be populated
   in the line item with greatest value or in first line item if all are
   of equal value.
   In other cases where there is no adjustment because there is no
   rounding difference when comparing the header value and the sum of
   item values.
   ->> Solution to this scenario -
       If you remove the 'group condition' setting, the system will then
       calculate amount for the items directly and you will not get the
       rounding. You must decide which setting is more suited for your
       business. This is not a bug, but works as per designed.
       EXAMPLE: MWST - tax condition (a group condition)
                Item 10     16%   of 100.90  = 16.14
                Item 20     16%   of 100.90  = 16.14
                                       Total = 32.28
I hope this helps you!
Kind Regards,
Martina McElwain
SD Forum Moderator

Similar Messages

  • Pricing condition type Issue YPR0--- ZPR1

    Hi All,
    WE have a pricing issue, for example we have a condition type YPR0 and we use a pricing procedure which i will call ZME600, we are basically creating a new condition type to be called ZPR1 to replace YPR0, now in the copy control, delivery document to billing, for item category YBHP, the price type  setting is ''G ''which means copy pricing elements unchanged and redetermine taxes, if we use this option, when we upload new price list, create a billing document, it will change the price on all open sales orders rather than keep the original price, so option is, change the pricing type setting to a ''D'' which basically copies all pricing elements unchanged, will this be a better solution? what happens when we  start using new condition type ZPR1 to replace YPRO, the system will no longer recognise YPR0, if there any options to work around this, some have suggested linking YPR0 to ZPR1 in the pricing procedure??

    Hi,
    Please check V/06 conditiontype functionlality of tht condition type. There it might have been activated for both header level and item level. that is the reason it is printing in both levels. Please do needful setting there..
    Regards
    Sankar

  • Pricing condition type issue

    Hi gurus,
    i have a problem with pricing conditon type.  The problem is the Conditon type which i am working as header condition and this condion in header coming correctly.  Now the question the same conditon coming in item also why so.  one morehting this condition type coming twice in the detail screen.  Why so.
    thanks & Regards
    Ponts will awarded

    Hi,
    Please check V/06 conditiontype functionlality of tht condition type. There it might have been activated for both header level and item level. that is the reason it is printing in both levels. Please do needful setting there..
    Regards
    Sankar

  • Pricing Condition Rounding

    Hi All,
    I have a requirement from finance. In the net amount the Decimel places should be rounded off so that the decimel is always Zero.
    eg. if the Net Amount is 50.14 = 50.00
    eg. if the Net Amount is 50.19 = 50.00
    eg. if the Net Amount is 50.65 = 51.00
    Do we have a standard routine for this. If no can you please help how the routine will look like for the above scenario.
    Regards,
    Rajneesh

    Thank you.
    I maintained the entry in T001R.
    However in Maintain Pricing Procedure i do not see the Routine 13 as seen in vofm.
    In Cal Type i see routine 13 named as 'Minimum ValueSurchrg' and Routine 17 as 'Rounding as perT001R' with a different functionality as below
    Round the amount according to T001R
    form frm_kondi_wert_017.
      check: rekursiv ne 'A'.
      check: t001r-reinh ne 0.
      xkwert = xkwert * ( 1000 / t001r-reinh ) / 1000 * t001r-reinh.
    endform.
    Any clue friends

  • Rounding Issue with Pricing Conditions

    Currently we have in place a pricing hierchery that consists of two pricing conditions.  ZP for base price and ZD for a +-differential.  Both conditions begin with 00.  ZP00. ZP01, ZP03, ZP04.  If a ZP01 exists it overrides a ZP00.  If a ZP03 exists it overrides ZP00,ZP01, etc.  So basically the higher the number means it overrides anything underneath it.  The ZD conditions are setup exactly the same way.  I am currently running into a round issue.  We settle all transactions in USD however the manual and differentials are often based on prices that go out more than 2 decimal places.  SAP is treating the calculation for the ZP and ZD as two separate calculations.  It rounds each of them and then combines for a total price.  So if the base price ZP02 is $2.245 multiplied by quantity 3,999 = $8,977.755  which it rounds to $8,977.76 and the differential ZD02 is $.0235 this = $93.9765 which it rounds to $93.98 for a total price of $9,071.74.  However if you add the ZD02 + the ZD02 you get a total unit price of $2.2685.  This multiplied times the quantity 3,999 = $9,071.731 which is correct.  But because SAP does each calc separately the price comes out to $9,071.74 or off 1CT.  I have seen various solutions on how to fix this from user exits to creating additional conditions that takes both ZP and ZD conditions and calculates them as one but I was hoping someone had come up with something better?  Or if there was a preferred method?

    Currently we have in place a pricing hierchery that consists of two pricing conditions.  ZP for base price and ZD for a +-differential.  Both conditions begin with 00.  ZP00. ZP01, ZP03, ZP04.  If a ZP01 exists it overrides a ZP00.  If a ZP03 exists it overrides ZP00,ZP01, etc.  So basically the higher the number means it overrides anything underneath it.  The ZD conditions are setup exactly the same way.  I am currently running into a round issue.  We settle all transactions in USD however the manual and differentials are often based on prices that go out more than 2 decimal places.  SAP is treating the calculation for the ZP and ZD as two separate calculations.  It rounds each of them and then combines for a total price.  So if the base price ZP02 is $2.245 multiplied by quantity 3,999 = $8,977.755  which it rounds to $8,977.76 and the differential ZD02 is $.0235 this = $93.9765 which it rounds to $93.98 for a total price of $9,071.74.  However if you add the ZD02 + the ZD02 you get a total unit price of $2.2685.  This multiplied times the quantity 3,999 = $9,071.731 which is correct.  But because SAP does each calc separately the price comes out to $9,071.74 or off 1CT.  I have seen various solutions on how to fix this from user exits to creating additional conditions that takes both ZP and ZD conditions and calculates them as one but I was hoping someone had come up with something better?  Or if there was a preferred method?

  • Pricing condition in sales order-issue

    Experts,
    i am facing a very strange issue, functional consultant
    did some configuration ,such that when header of
    sales order have condition type ,let say some 'ZXX',
    this pricing conditon should be applicable to all
    the schedule line with pricing condition as 'ZXX' where material in schedule line is let say 'ZPP',that mean
    these should only be applicable for material type
    'ZPP',we are facing strange issue , when scheule line no
    10 is having material 'ZPP' ,then pricing conditon is
    working fine('ZXX'),but if scheule line no 10 is having
    material other than 'ZPP' and if scheule line no 20
    is having material 'ZPP' ,then for scheule line no 20
    pricing condition is not getting copied from header

    goto  tcode - <b>vk13</b>
    note that [A]--sequence for plant /material
    note that <b>--sequence for plant /material/cafgroup
    enter ur pricing condition type and
    for the <b>plant/material</b> combination etc.. [A]-
    may be in the access sequence ur consultant ave given it to a new sequence say <b>plant/material/caf group</b> .. --<b>
    like this 
    suppose say item 10 is for option [A] so access sequence is for this only ..cause material is now in plant/material
    now say item 20 is for option <b> so
    material at line item 2 will fall under this sequence ..
    cumulatively u need to get the total ..
    now if the material is same in line 10 20 , u will have to fetch the values from both the tables in sequence and not one table will store the values ..
    cause sequence pass for the material is now [A] and <b>
    rememebr that per classification the values are stored in diff table like a906 ,, a90*..
    in order to fetch that  u need to get it from the tables of classification
    and then cumulate it ..
    this is important ..
    regards,
    VIjay.
    Message was edited by: Vijay

  • Issue in maintaining the freight condition in SRM pricing conditions

    Hi All,
    We have maintained the freight condition in SRM pricing conditions But when a buyer try to add the freight condition it does not give any field to add the value.We want the freight condition at the header level.
    Let me know if there is any service needs to be activated or we have to activate any business function to enable this.
    Please find the attached document to check the settings  and actual issue while entering the freight condition.
    This is urgent and please provide your suggestion to avoid this issue.
    Thanks,
    Ankur

    Hi Anil,
    Its not a standard functionality  to get the Header level price condition in SRM PO . I got to know that we need to implement note 1898304 for SRM 7.13 SP01 and activate a Business function.Can anyone let me know how it used to handle in previous versions.
    Thanks,
    Ankur

  • Issue with BAPI CONTRACT CREATE while uploading pricing conditions

    Hi Experts
                        I am using BAPI CONTRACT CREATE to create Purchase Contract ME31K
    I am facing the issue while passing pricing conditions  Could you please help me regarding this
    Could you please help me along with this what are the values has to pass
    Thanks
    Vijay Kumar Reddy

    Hi Experts
                        I am using BAPI CONTRACT CREATE to create Purchase Contract ME31K
    I am facing the issue while passing pricing conditions  Could you please help me regarding this
          gs_oucondition-item_no = w_data-evrtp.  
          gs_oucondition-serial_id = '1'.     
          gs_oucondition-cond_count = '01'.     
          gs_oucondition-cond_type = w_data-cond1.     
          MOVE w_data-amnt1 TO gs_oucondition-cond_value.     
          gs_oucondition-currency  = w_data-curr1.     
          gs_oucondition-numerator   = '1'.     
          gs_oucondition-denominator = '1'.     
          gs_oucondition-change_id   = 'I'.     
          APPEND gs_oucondition TO gt_oucondition.     
          CLEAR gs_oucondition.
          gs_ouconditionx-item_no = w_data-evrtp.     
          gs_ouconditionx-serial_id = '1'.
          gs_ouconditionx-cond_count = '01'.     
          gs_ouconditionx-item_nox = c_x.     
          gs_ouconditionx-serial_idx = c_x.     
          gs_ouconditionx-cond_countx = c_x.     
          gs_ouconditionx-cond_type = c_x.     
          gs_ouconditionx-cond_value = c_x.     
          gs_ouconditionx-currency  = c_x.     
          gs_ouconditionx-numerator   = c_x.     
          gs_ouconditionx-denominator = c_x.     
          APPEND gs_ouconditionx TO gt_ouconditionx.     
          CLEAR gs_ouconditionx.
    Could you please help me along with this what are the values has to pass.
    these are the parameters passing to the condition structure while executing bapi i am getting error like enter quantity conversion.
    but with the same data i am able to create contract using SE37 by directly executing the Function module.
    and if i have net price in my excel sheet also i am able to create contract using my program.
    the only problem with pricing conditions alternatively there will be no net price..
    Please really it will be a challenging question....
    Thanks
    Vijay Kumar Reddy

  • I have an issue with pricing condition ZPRO (basic price )

    Hello gurus
    I have an issue with pricing condition ZPRO (basic price ).
    users created a sales order, and the basic price ZPRO which is mannual is added twice ,now i want to put a check so that condition tpye zpro is not accepted twice by the system. please let me know how can i restrict  system from accepting condition type zpro  twice during sales order.
    regds
    Edited by: sapuser09 on Jul 26, 2011 8:44 AM

    Hi,
    Solution for this is very simple. Don't make any changes to the sales order user exit. Use condition exclusion  for the condition type.
    Do customization in the following path of IMG
    Sales and distribution---- > Basic Functions--- > Pricing--
    > Condition exclusion -- > Condition exclusion for groups of conditions
    First  In Define condition exclusion groups you have to define condition exclusion group (ZXXX)
    Then  in Assign condition types to the exclusion groups you have to assign condition type to the exclusion group (ZXXX   ZPRO)
    Then in Maintain Condition exclusion for pricing procedures select the pricing procedure where you have the problem and click Exclusion box present in Dialog structure box
    You will be faced with Change view exclusion overview screen Click new entries
    You will be faced with New entries overview of added entries screen.
    Take serial no as 10 Condition exclusion procedure  as B (Best condition with in condition type) In the exclusion group1 add the exclusion group ZXXX.
    Save it and create order.
    In the order pricing you will again observe that ZPRO appearing twice but only one will be active.
    Changing user exit for this issue is not at all required and it must be only the last resort Try replicating the issue in your sand box system. As I had mentioned it will be picked twice but only one will be active.
    Hope this helps.
    Edited by: mokirala tilak on Aug 10, 2011 10:19 AM

  • ECS: New Pricing condition for purchase order on item level

    Hello Experts,
    we use SRM 5.0 with the extend classic scenario.
    We customized a new pricing condition (absolute discount), which we want to use in a purchase order and added it to the calculation schema.
    condition type:
    Application     BBP                      
    Source system LOCAL
    Usage           PR
    Condition Type  ZRBT
    Access Seq.     01CT
    Condition class       discount                  
    Calculat. Type    fixed amount
    Condit.category
    Rounding rule  commercial
    manual has priority
    item level
    delete
    amount/percent
    UoM
    Scale Base Type   quantity
    Check stat             none       
    Max. No. Dimens    no scales
    We see the condition type and can choose it in the transaction which is used to create a po.
    But when we choose it from the drop-down box it isn't added to the calculation.
    Regards,
    Sven

    Hello Sven,
    Thank you very much for posting the OSS note solution for your issue.
    I had similar issue and finally was able to resolve it after reading your post.
    regards
    Vinod

  • How to hide the pricing conditions specified in pricing procedure of sd.

    dear friends,
    my situation is to hide the conditions specified in the pricing procedure. so that it is not viewed by the some users.can you please tell me how to hide the conditions. so some of the persons, who are having authorization to see the conditions , will be able to see the pricing conditions.
    can you please suggest me how to do this.
    regards,
    g.v.shivakkumar

    Authorisation  issues viz. Role Impementations
    Hide Condition Records Line Item & Header Wise from all the transactions QK / So /  P.I. / Enquiry / Invoice etc. for specific user grps. - in CRETATE / AMEND / DISPLAY / REPORTS all
    Only Display the fields
    regards,
    g.v.shivakkumar

  • Sales order: How to add pricing conditions at item level in BDC of VA01

    Hello Experts,
    Am writing BDC for sales order, in this process I need to add ITEM PRICING CONDITIONS, so, am selecting item and pressing the DOLLAR symbol button and am adding the conditions by pressing PLUS button in loop!! but am getting this erorr- Field KOMV-KMEIN (2) is not an input field!! when I execute it in we19-BACK GROUND only!! if I execute the same CODE IN we19-Fore ground, I dont have any issue!!  I checked this SDN (field status in config), Google, but did not helped me!
    Pls. let  me know is there any other way to add conditions at item level in VA01 in BDC code?
    THank you

    Hi,
    It is happening because the second row of the item level data screen is becoming display only. Please check whether In foreground mode you are pressing an extra enter to give data in the second row of the item level data after giving data in the first row and in BDC recording you have not recorded that 'Enter'.
    Regards,
    Gargi

  • Populating the bapi in retreiving the pricing condition

    Hi guys,
    given the ff data, how am i going to populate bapi_salesorder_simulate to retrieve the pricing condition?
    Condition      Table     Field                    SAP Field
    ABCD     907     Sales Org                   LIKP-VKORG
    ABCD     907     Customer                   LIKP-KUNNR         ABCD     907     Material                   LIPS-MATNR    XYZW     855     Sales Org                   LIKP-VKORG
    XYZW     855     Price Group     KNVV-KONDA
    XYZW     855     Material Group     MARA-MATKL
    XYZW     855     Duty Band                    MVKE-MVGR3
    Thanks a lot!
    Regards,
    Mark

    Hi Preet,
    I am sorry that we are back to square one. I checked OSS and two OSS notes specifically mention that you cannot do anything with condition records if you are in a version lower than 4.7.
    That leaves us with the option that I mentioned in your earlier posting which is to make config changes, and then write a small program to do repricing. That way all the sales orders will be repriced and based on the new configuration, the condition should disappear.
    You can give points by clicking the yellow star sign at the header of a post. You can give one 10 points for the post solving your issue, two 6 points for very helpful answers and unlimited 2 points for helpful answers.
    Regards,
    Srinivas
    Sorry forgot to mention the OSS notes. They are 593246 and 597970.
    Message was edited by: Srinivas Adavi

  • Error while creating a pricing condition record.

    Hi
    I am trying to use the Material Group 1 (MVGR1) field from the field catalog to create a pricing condition table(9 series). I was able to create the table with MVGR1 as one of the columns but when I try to maintain condition records in the table, System gives me the following error. I have maintained certain values in the config for material group1. there is neither F4 values for the field Material group nor I can type in config values of MVGR1 in that field. I am getting this error. Any help on how to get past this issue will be highly appreciated.
    Thanks
    Object Material group 1 not provided with characteristic AS. (Note other fields!)
    Message no. VK432
    Diagnosis
    The value entered in a field is not permitted.
    System response
    The system issues an error message.
    Procedure
    Check the entry and make the necessary corrections. Note any relationships between the individual fields. Entries in other fields may also be incorrect.
    Example: There are two fields for maintaining the country and region. These fields are linked. The country chosen would be permitted if it were by itself. So would the region. But the region may not be in the the country chosen. In this case, an error message is issued. The country should then be corrected, not the region!
    Edited by: Suraj Ramakrishnan on Dec 24, 2009 2:45 AM

    Message no. VK432
    Check note 750841
    thanks
    G. Lakshmipathi

  • Error while debugging a FM to get pricing condition details

    Hi,
    when debugging the FM PRC_PD_HEAD_SHOW ( SPC_GET_PRICING_CONDITIONS ) to get the pricing condition details i am getting an error java debugging back end on sapdevsystem is waiting for port 8003.
    Is this bcoz java not properly installed in my system. Can anybody pls tell me how to solve this issue.
    Thanks,
    Leena

    Did not get any answer.. so found all the dates by particular tables a*** from pricing.

Maybe you are looking for