Price condition discount percentage working different

Dear Gurus,
I defined a condition. It is a discount.
Condition class: Discount or surcharge
Calculation Type: Percentage included
Pricing Procedure contains only 2 condition; price and discount.
Value of price is 15000
Vavue of discount is 15%
When I run fee calculation, I expect that 15000 - (15000*15%) = 12750, but the result is "12352,94".
What could be the reason?
Thanks,

Did you actually change the sold-to party though or just the payer?  The sold-to party's price list type controls the price list type value copied into the order header.  Even if the payer has a different value, it's not copied to the order header.  You can see this behavior in FV45KFKD_VBKD_FUELLEN.  If you switch sold-to's then you should get a pop-up that new pricing was carried out; you should also see your new price list type value in the order header and you can use the 'analysis' function at the item level to verify that the correct price was used.

Similar Messages

  • Discount Price condition

    Dear friends
    I would like to add the Discount condition as Quantity base from net cost. The thing is we are added the condition but it is deducting tax price also .
    How could make it effect pnly for Net cost as manual entry. Please have some examples and help me
    Basic  Rs./ M.T.              18500.00
    Excise % ADD      14.42   2667.70
    Sub Total                         21167.70
    VAT %   ADD   5.00          1058.39
    Freight  ADD                       2137.00
    G. Total                             24363.09
    CENVAT  LESS                    1058.39
    NET COST                          23304.70
    Discount                                  428.94
    Thenna
    Effective Price                       22875.76

    The condition type A, calculation type C is maintained. But my problem is coming at Price control maintenance at steps level. Infcat our effective price condition is top most below.
    If the discount condition is added at PO while putting the discount based on qty it is affecting the tax conditions, gross price all. We need only in effective price.
    The same conditioned i have changed the step and tried but it is not working. What sub total type has to maintain there?

  • How can I define same Price Conditions for two different Sales Deals ??

    I need to define for the same price condition, lets say ZPMP, two different values or condition records, for two different sales deals and the same valid dates
    For example, Sales deal 1, ZPMP equal to USD 15 and valid dates from 04/15/08 to 04/30/08.
    Another condition record for Sales deal 2, ZPMP equal to USD 20 and valid dates from 04/15/08 to 04/30/08
    How can I do this.
    Thanks in advance.

    While creating condition tables, you have the option to create different key combinations. So if you want the system to take different condition records for different sales deals, there has to be a point of differentiation between those 2 sales deals.
    This can be done in one of the following ways:
    by giving customer specific prices
    by giving material specific prices for a particular customer etc
    All this can be defined as different key combinations while creating the condition tables. For each key combination, you can specify different condition records, so that the system is able to pull prices according to the requirement.
    But if the sales deals are entirely similar (that is even the validity dates, delivery dates etc are also same), and there is no differentiating factor, then you will have to manually input the prices.
    Do get back if you require more clarification. Please reward points if useful.
    Regards,
    Swapna

  • Sales doc copy control not working with price condition

    Here's the situation.
    For OR sales document I have  Procedure ZSALES and price conditions Z001
    For a QT Sales document I have Procedure ZQUOTE which does not have a Z001 condition in that procedure.
    If I create an OR (with the proper customer / matieral) the Z001 populates, based on it's defined record.
    If I then create another OR with reference to the original OR, the Z001 populates with no problem.
    Up to now everything's fine, now here's the probem......
    If I create an OR with reference to a QT, the Z001 does not populate in the OR order.I know there is no Z001 in the QT for it to copy from, but if I do [New Pricing] in the order it still does not come in.(I've tried [new Pricing] with Pricing type A..G)
    I have found OSS Note 413066, but this is in reference to 46c systems. we are on ECC 6.0
    any ideas ?

    Hi Bill,
    If PP assigned for both are different it's not going to populate field even if you are redertermining price, since it would be following the PP of Quotation (ZQUOTE), not Sales Order (ZSALES) because it's gonna copy the elements of that PP in order. Are your PP assigned are same or different?
    Hope this will answer your query
    Regards
    SD

  • Duplicate qty with Different Price after discount column in Inventory Posit

    Hi,
    I am getting Inventory duplicate qty with Different Price after discount column in Inventory Positing List Reports   When I make A/R credit memo thru DI API.
    With regards,
    Venki .A

    hi
    you can just see the above given data there is a filed total_qty there are two rows showing 0 why it happens i dont understand because i wrote same as for others. all were showng what my input but when the prod_id repeats then it was not taken the total_qty it wll show me 0
    Please Guide
    Thanks And Regards
    Vikas Snghal

  • Manual price condition (%) in order creation (using ABAP)

    Dear community members,
    I could use some help on a problem I have encountered while creating a sales order (in the CRM system) using ABAP programming, the details are given hereunder:
    I have two manual price conditions used to set a possible discount, one using a straight value and one using a percentage:
    1. When the order is generated using the value (let us say 100€) it cointains the correct price condition.
    2. On the other hand, when the order is generated using percentages (i.e. 10%), it is created without explicit errors or warnings but with no price condition in it.
    For the latter case I have checked the IPC logs (from transaction SM53) finding this error message:
    Message: Condition cannot be processed manually
    --> com.sap.spe.pricing.transactiondata.exc.ManualChangeNotAllowedException: Condition YSCP cannot be processed manually
    at com.sap.spe.pricing.transactiondata.impl.PricingCondition.changeConditionRate(Ljava/math/BigDecimal;Ljava/lang/String;Ljava/math/BigDecimal;Ljava/lang/String;)V(PricingCondition.java:3124)
    at com.sap.spe.pricing.transactiondata.impl.HeaderCondition.changeConditionRate(Ljava/math/BigDecimal;Ljava/lang/String;Ljava/math/BigDecimal;Ljava/lang/String;)V(HeaderCondition.java:387)
    at com.sap.spe.pricing.transactiondata.impl.PricingDocument.addHeaderCondition(Ljava/lang/String;Ljava/math/BigDecimal;Ljava/lang/String;Ljava/math/BigDecimal;Ljava/lang/String;C)Lcom/sap/spe/pricing/transactiondata/IHeaderCondition;(PricingDocument.java :1472)
    at com.sap.spe.document.rfc.AddPricingConditions.handleDocRequest()V(AddPricingConditions.java:131)
    at com.sap.spe.document.rfc.DocHandlerAdapter.handleRequest()V(DocHandlerAdapter.java:72)
    at com.sap.spe.base.util.jco.HandlerAdapter.handleRequest(Lcom/sap/vmc/RFCContainer/Call;)V(HandlerAdapter.java:117)
    at com.sap.vmc.remserver.RFCDispatcher.handleRequest2(Lcom/sap/conn/jco/JCoFunction;)V(RFCDispatcher.java:995)
    at com.sap.vmc.remserver.RFCDispatcher.handleRequest(Lcom/sap/conn/jco/JCoFunction;)V(RFCDispatcher.java:746)
    at com.sap.conn.jco.rt.VMCServer.dispatchRequest(Lcom/sap/conn/jco/JCoFunction;)V(VMCServer.java:911)
    at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.dispatchRequest(Lcom/sap/conn/jco/rt/ServerWorker;Ljava/lang/String;)V(MiddlewareJavaRfc.java:3415)
    at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.listen(Lcom/sap/conn/jco/rt/ServerWorker;)V(MiddlewareJavaRfc.java:2468)
    at com.sap.conn.jco.rt.VMCServer.listen()V(VMCServer.java:766)
    at com.sap.conn.jco.rt.VMCServer.run()V(VMCServer.java:689)
    at com.sap.vmc.remserver.RfcServer.run()V(RfcServer.java:376)
    at java.lang.Thread.startup(Z)V(Thread.java:1954)
    I have already debugged FM CRM_ORDER_MAINTAIN but to no avail, maybe I just missed something and I can assure that the customizing is correct and aligned between the systems and both the conditions are set to be processed manually.
    At this point, since the condition is applied when the commit is yet to be done I wonder whether it is possible to apply a discount percentage on prices which are yet to be generated, it would be illogical to do so and then again while using a straight value (which does not require a calculation) the order is correctly generated.
    Furthermore when I add the conditions in an order (from both the GUI and the WUI) the table IT_PRIDOC is alway empty, even if CT_INPUT_FIELD is populated.
    I know that there are similar posts here in SCN but sadly I was not able to find a solution so any help would be greatly appreciated.
    Thanks in advance for any replies given,
    Alessandro.

    Dear Padma,
    apologies for my late reply. I also thought it should be possible to use a percentage but I was not sure.
    Sadly the debugging did not bring about any positive result.
    I also tried to make a second CRM_ORDER_MAINTAIN call after the system generated all the pricing conditions but that also did not work.
    There is one thing that caught my attention though:
    - YSCV (fixed amount): still no problem at all (passed to KBETR);
    - YSCP (percent): if I assign a value to KWERT or if I leave all the fields empty, the condition is created in the sales order but it is always set to 0%. However, if I try to assign it to KBETR, I always get the message: "Condition YSCP cannot be processed manually".
    I made some attempts with the customizing, for example adding the condition to the "easy entries" or playing with the options of "Create Condition Types" (always aligning the systems) without getting positive output.
    I am beginning to think that it could be an IPC-related problem (which is not my area of expertise... yet).
    Alessandro.

  • How to update multiple Price conditions in FM CRM_ORDER_MAINTAIN

    Hi All,
          need to update multiple price conditions in a contract Thru FM CRM_ORDER_MAINTAIN.
    please see the piece of code that am using...
      am able to update single price condition...but not able to populate 2 or more .......i,e..ADD A Condition
    i,e...DATA : ls_cond TYPE prct_cond_external_input,
           lt_cond TYPE prct_cond_external_input_t.
    DATA : ls_con TYPE PRCT_COND_DU,
           lt_con TYPE PRCT_COND_DU_TAB.
    Create Condition Type
    *ls_con-KNUMV = lv_header_guid.
    *ls_con-KPOSN = lv_item_guid.
    ls_con-stunr  = '134'.
    IF Y EQ 1.
      ls_con-ZAEHK = '001'.
    ELSE.
       ls_con-ZAEHK = '002'.
    *ENDIF.
    *ls_con-kschl = 'ZFP1'.
    **ls_cond-waers = 'CNY'.
    *ls_con-kbetr = '0.00'.
    *ls_con-kpein = '1'.
    ls_cond-kschl = 'ZFP1'.
    ls_cond-waers = 'CNY'.
    ls_cond-kbetr = '0'.
    ls_cond-kpein = '1'.
    ls_cond-knumh = lv_item_guid .
    CLEAR ls_Price_doc.
    ls_Price_doc-ref_guid = lv_item_guid.
    ls_Price_doc-ref_kind = 'A'.
    IF Y EQ 1.
    ls_Price_doc-ref_handle = '000000001'.
    ELSE.
      ls_Price_doc-ref_handle = '000000002'.
    ENDIF.
    *ls_price_doc-PRIC_COND[] = lt_cond[].
    *INSERT ls_con into table ls_price_doc-PRIC_COND.
    INSERT ls_cond into table ls_price_doc-COND_ADD.
    INSERT ls_price_doc INTO TABLE lt_price_doc.
    ls_input_fields-ref_guid    = lv_item_guid.
    ls_input_field_names-fieldname = 'KNUMH'.
    INSERT ls_input_fields INTO TABLE lt_input_fields.
    ls_input_field_names-fieldname = 'KPOSN'.
    INSERT ls_input_fields INTO TABLE lt_input_fields.
    ls_input_field_names-fieldname = 'KSCHL'.
    INSERT ls_input_fields INTO TABLE lt_input_fields.
    ls_input_field_names-fieldname = 'KPEIN'.
    INSERT ls_input_fields INTO TABLE lt_input_fields.
    ls_input_field_names-fieldname = 'STUNR'.
    INSERT ls_input_fields INTO TABLE lt_input_fields.
    ls_input_field_names-fieldname = 'ZAEHK'.
    INSERT ls_input_fields INTO TABLE lt_input_fields.
    ls_input_field_names-fieldname = 'WAERS'.
    INSERT ls_input_fields INTO TABLE lt_input_fields.
    ls_input_field_names-fieldname = 'KBETR'.
    INSERT ls_input_fields INTO TABLE lt_input_fields.
    CLEAR ls_input_fields.
    Ls_input_fields-ref_guid    = lv_item_guid.
    ls_input_fields-ref_kind    = 'B'.
    ls_input_fields-objectname  = 'PRIDOC'.
    *ls_input_fields-logical_key = '0001'.
    ls_input_fields-field_names = lt_input_field_names.
    INSERT ls_input_fields INTO TABLE lt_input_fields.
    CLEAR ls_input_fields.
    CLEAR ls_Price_agreement.
    Clear ls_cond.
    I kept this under code. loop, for item records.....
    Though the internal table lt_price_doc. is holding all the records, it is updating only one record. can you any one pls guide me ,

    This example works fine for me. Modify it according to your needs...
    Price
                  IF it_item-value IS NOT INITIAL.
                    ls_cond-kschl = 'PR00'. " add price
                    ls_cond-kbetr = it_item-value.
                    ls_cond-waers = st_head-currency.
                    INSERT ls_cond INTO TABLE ls_pridoc_com-cond_add.   
                    index_2 = 1.
                    CLEAR: ls_cond.
                  ENDIF.
    Discount
                  IF it_item-discount IS NOT INITIAL.
                    ls_cond-kschl = 'ZPPP'. " add discount
                    wa_procent_calc = it_item-discount * 10.
                    ls_cond-kbetr = wa_procent_calc."it_item-discount.
                    ls_cond-waers = '%'."st_head-currency.
                    INSERT ls_cond INTO TABLE ls_pridoc_com-cond_add.   
                    index_2 = 1.
                    CLEAR: ls_cond, wa_procent_calc.
                  ENDIF.
                  IF index_2 = 1.
                    ls_pridoc_com-ref_handle = counter.
                    ls_pridoc_com-ref_kind = 'B'.
                    INSERT ls_pridoc_com INTO TABLE gt_pridoc_com.
                    CLEAR: index_2,ls_pridoc_com.
                  ENDIF.

  • How to avoid user from entering new price condition in return order

    Dear Expert
    We are facing a scenario where we make return order; the Price is copied from the invoice. And it is working perfectly. The system does not allow us to change the price.
    The issue we are facing here is that user can input new condition like discount /premium and change the net value for the return order pricing, and this will reflect in the credit note for returns.
    Is there a way to restrict the user from entering any pricing condition in the header or item conditions tab.
    although we cannot change the original price coming from invoice referenced for return order, but the user can input new price conditions as below. This must not be allowed.
    The price must come according to the Qty being referenced.
    While making the credit for returns, the user has a chance of further making changes to the net value by adding new conditions. Hence this must also be restricted for any changes.
    Thanks
    Edited by: Lakshmipathi on Jan 31, 2012 6:55 PM
    Thread Locked - Reason Cross Post

    okie .... i will tell briefly what is the problem ....
    Take a scenario wherein a user has logged into my application and he is performing a task which will put his user id and his employee id into the session. Then he opens another window by using either ctrl+n or through files->new window.
    So now a new browser will open but the session will be same ..... in this newly opened browser, user performs some operation which will remove the user id and employee id from the session .... Now if he again comes back to the first window and tries to do some operation, then a null pointer exception will be thrown saying that the employee id is null .... because he has deleted that in the newly created browser ..... to avoid this situation what can we do ???? can you please help me in this regard ??? you got my problem right !!!

  • Restrict new price conditions in the return order and credit note

    Dear Expert
    We are facing a scenario where we make return order; the Price is copied from the invoice. And it is working perfectly. The system does not allow us to change the price.
    The issue we are facing here is that user can input new condition like discount /premium and change the net value for the return order pricing, and this will reflect in the credit note for returns.
    Is there a way to restrict the user from entering any pricing condition in the header or item conditions tab.
    although we cannot change the original price coming from invoice referenced for return order, but the user can input new price conditions as below. This must not be allowed.
    The price must come according to the Qty being referenced.
    While making the credit for returns, the user has a chance of further making changes to the net value by adding new conditions. Hence this must also be restricted for any changes.
    Thanks

    Hi
    Firstly,In copy control maintain anyone of the pricing types
    D: Copy pricing elements unchanged
    E: Copy pricing elements and values unchanged
    To avoid all these things go with  USEREXIT_FIELD_MODIFICATION but before going with the user exit,also check with transaction variant SHD0.
    Regards
    Srinath

  • How to know when the PRICE AFTER DISCOUNT changed and get the value

    Hi,
    Everything I do to see if a value changed in the grid works except for PRICE AFTER DISCOUNT
    which seems to be inaccessible.
    Any idea how to know when exactly this value changed and do actions accordinly ?
    Also I always get 0.00 if I try to get the value of it
    This works to get in the condition of a vlaue changing but I always get 0.00 as the value of the column
    if (pVal.ItemUID == "38" && pVal.ColUID == COL_DISCOUNT.ToString() && pVal.EventType == BoEventTypes.et_VALIDATE && pVal.ItemChanged == true && pVal.ActionSuccess == true)
        try
            SAPbouiCOM.Matrix Matrix = (SAPbouiCOM.Matrix)SBO_Application.Forms.ActiveForm.Items.Item("38").Specific;
            SAPbouiCOM.EditText Editor = (SAPbouiCOM.EditText)Matrix.Columns.Item(COL_DISCOUNT).Cells.Item(pVal.Row).Specific;
            SBO_Application.MessageBox("Discount changed for : " + Editor.Value + "...", 1, "Ok", "", "");
        catch (Exception ex)
            SBO_Application.MessageBox(ex.Message, 1, "Ok", "", "");
    And this do not even get into the condition even tought I SEE the column PRICE AFTER DISCOUNT:
    if (pVal.ItemUID == "38" && pVal.ColUID == COL_PRICEAFTERDISCOUNT.ToString() && pVal.EventType == BoEventTypes.et_VALIDATE && pVal.ItemChanged == true && pVal.ActionSuccess == true)
        try
            SAPbouiCOM.Matrix Matrix = (SAPbouiCOM.Matrix)SBO_Application.Forms.ActiveForm.Items.Item("38").Specific;
            SAPbouiCOM.EditText Editor = (SAPbouiCOM.EditText)Matrix.Columns.Item(COL_PRICEAFTERDISCOUNT).Cells.Item(pVal.Row).Specific;
            SBO_Application.MessageBox("Price after discount changed for : " + Editor.Value + "...", 1, "Ok", "", "");
         catch (Exception ex)
             SBO_Application.MessageBox(ex.Message, 1, "Ok", "", "");

    just idea, maybe it will works
    Create one udf in row level and set there FS based on changes on price after discount and fill value what is in price after discount. Then the validation make on this field instead of standard SAP field.

  • Discount Percentage

    Hi
    how would we add discount percentage in a purchase order for each line item since it differs from one item to another.
    please help me in this issue
    regards,
    senmani.

    hi senmani,
    If you have defined the discount condition type as percent and manual, in your scema then just select the line item in PO and in ITEM DETAILS there is tab called as CONDITION click on that, now here in last row just give the condition type and give the required % (percentage)
    do same for other Items
    regards

  • Is it possíble upload spreadsheet for price condition?

    Hi!!
        My company would like to work with pricing list, but we have a lot of differents SKU and price by customer. For example, we have for one customer more than 500 different SKU's  and price.
        If we use the standard transaction VK11, we will have much work to update the price,
        I would like to know if is it possible upload spreadsheet for price condition, by BAPI, ABAP program, etc~.
        Our price condition have the follow key fields.
                             Sales organization
                             Customer
                             Material
                             Incoterms (CIF/FOB)
        We will use Date to validate the price too.
        Best regards,
    Juoio César

    Hi
      You can use program RV14BTCI - Batch Input for Uploading Condition Pricing.
    Check below links
    Is there a way we can upload pricing condition ... | SCN
    Standard Upload Program

  • Price conditions in bid.

    Hi all,
    I have a simple question: it is possible to deactivate the range of validity in the price conditions of a bid.
    The price conditions is available for the vendor if the flag USE_CONDITIONS is set in the bid invitations, but I have to insert two price conditions with the same range of dates.
    Best regards,
    Norberto.

    Hi Muthu,
    Yes, i can. I have simulated the creation of on PO via me21n with the same conditions, and all works fine.
    Just to be clearer.
    The case that raise the issue was the follwing:
    SRM - Bid Offer
    1 Line item:
    Gross amount 15,17
    Discount %: 25%
    Then the PO is created in R/3 and we find the following:
    Gross Amount: 11,38
    Discount %: 25%
    Final price: 8,54
    The final price calculated is wrong, because the discount has been apllied two times.
    I hope this help to clarify the issue.
    Thanks & Regards,
    Valentino

  • Price conditions selection

    Hello,
    I just want to read some price conditions from SD.
    I see that there is FM RV_T681_SELECT_AND_GENERATE that geenrates (if needed) a dynamic standard program for data selection, I see in this generated program that some subroutines are for external execution (FILL_COMM_AREA_FROM_VAKEY, ...) and it seems that by passing VAKEY field with required data for selection, standard program is able to make a selection in to respective DataBase.
    Does anyone know how to use this external subroutines from this dinamic program for reading conditions?

    Hi Jorge,
    this is taken from an IS-Media order print program:
        CONCATENATE ls_jhaga-pos_nr ls_jhaga-gruppabrnr INTO lv_vbdpaposnr.
        CLEAR ls_komk.
        ls_komk-mandt                         = sy-mandt.
        ls_komk-kalsm                         = ls_jhaga-kalsm.
        ls_komk-kappl                         = 'JA'.
        ls_komk-waerk                         = ls_jhaga-waerg.
        ls_komk-knumv                         = ls_jhak-knumv.
        ls_komp-kposn                         = lv_vbdpaposnr.
        CALL FUNCTION 'RV_PRICE_PRINT_REFRESH'
          TABLES
            tkomv                             = lt_komv.
        CALL FUNCTION 'RV_PRICE_PRINT_ITEM'
          EXPORTING
            comm_head_i                       = ls_komk
            comm_item_i                       = ls_komp
            language                          = nast-spras
          IMPORTING
            comm_head_e                       = ls_komk
            comm_item_e                       = ls_komp
          TABLES
            tkomv                             = lt_komv
            tkomvd                            = lt_komvd.
    It should work for you with some minor changes: Find out what is the calculation scheme and application. knumv is in the document header; kposn might be a little tricky. In our case it is concatenated item and invoice grouping number; this might be different. You can set a breakpoint on function module RV_PRICE_PRINT_ITEM because it is used in many transactions to select conditions. If your transaction runs into the breakpoint you can check the parameter values.
    The best will be to run the function in test environment SE37, but: You have to start transaction all over again after one try; in program you have to call 'RV_PRICE_PRINT_REFRESH' before (or after) calling because RV_PRICE_PRINT_ITEM stores internal data hurting subsequent calls.
    The resulting tables
    tkomv will have ALL conditions
    tkomvd the conditions to be printed.
    Regards,
    Clemens

  • Determination of price conditions

    Hi all !!
    We have a problem with our price determination.
    The situation that is working wrong is the following:
    When we create a sales order which is giong to be delivered in several steps (For instance, 400 units of the material XXXX, delivering 100 units per month) our system calculate the price conditions using the date of the outbound delivery instead of the pricing date of the sales order. Taking this into consideration, when the billing documents are created, for each outbaund delivery we've got a different price, and we should have the same price for every outbound delivery.
    We've have been checking the copy control and everything is ok.
    Anyone can help us?
    Of course if you need more information, please let us know.
    Thanks a lot.

    Please check the copy controls (T-code VTFL, at the item category level field "Price Source", over there select the option "order" instead of delivery/order.
    All the prices relevant at the order level will be applicable in the billing document
    Plz reward points if this was useful to you.
    Regards,
    Sanjay

Maybe you are looking for