Invoiceing party at header level in MIRO

Hi,
We have different invoicing parties defined for the same vendor at the plant level in Alternative Data. But, the invoicing party in MIRO is at the header level. When we do MIRO by vendor, it does pull in all the POs but those POs have different IPs because they are from different plants. However, in MIRO, the system deposits the IP from the first PO at the header level and will create the A/P for all the POs against that IP.
Any way around this? To make the system determine the IP from the underlying PO and do the MIRP-A/P accordingly i.e. post the A/P to the correct IP defined in the PO? Of course, we could do MIRO by plant but considering the very high volumes and the number of plants we have, that is rather inefficient and we would prefer doing it by the vendor code if possible.
Thanks.

Dear Tengku
Please try with this.
Go to V/08, for the net value field, maintain Routine 16 in the Alt. Cal. Type. Also add Routine 17 to Netvalue.
As you know Condition types are assigned at each item level. So rounding off is calculated at each item level. But by assigning a tick in the Group Condition while defining Rounding off Condition, you can do rounding off at invoice level. The difference is automatically adjusted at each item.
thanks
G. Lakshmipathi

Similar Messages

  • BAPI_SALESORDER_CHANGE - Want to change the Ship-to-party at header level

    Hi
    I want to change the Ship-to-party at header level in the Sales Order created. I tried using the BAPI BAPI_SALESORDER_CHANGE  as shown below.
    When I run the program I get the log as Sales Order 45 saved succesfully. However, I don't find the SO changed. Apart from this I get an Express Message saying the Updation failure. Not sure of what'z wrong here.
    Pls help
    thanks
    girish
    REPORT  ZBAPI_SALESORD_CHANGE.
    data : zBAPISDHD       type BAPISDH1,
           zSALESDOCUMENT  type BAPIVBELN-VBELN.
    data : zORDER_ITEMS_IN     like /AFS/BAPISDITM occurs 0 with header line,
           zORDER_SCHEDULES_IN like /AFS/BAPISDSCHD occurs 0 with header line,
           zORDER_PARTNERS like BAPIPARNR      occurs 0 with header line,
           zRETURN         like BAPIRET2 occurs 0 with header line,
           so_no           type BAPIVBELN-VBELN,
           zORDER_HEADER_INX    TYPE BAPISDH1X,
           zPARTNERCHANGES like  BAPIPARNRC occurs 0 with header line.
    clear : zBAPISDHD.
    so_no = '0000000045'.
    data : l_comp_qty like zORDER_ITEMS_IN-COMP_QUANT.
    l_comp_qty = 10.
    zBAPISDHD-SALES_ORG = 'BP01'.
    zBAPISDHD-DISTR_CHAN = '02'.
    zBAPISDHD-DIVISION = '01'.
    zORDER_HEADER_INX-UPDATEFLAG = 'U'.
    zORDER_HEADER_INX-SALES_ORG  = 'X'.
    zORDER_HEADER_INX-DISTR_CHAN = 'X'.
    zORDER_HEADER_INX-DIVISION = 'X'.
    Ship to pary
    zORDER_PARTNERS-PARTN_ROLE = 'WE'.
    zORDER_PARTNERS-PARTN_NUMB = 'BPAFS0007'.
    append zORDER_PARTNERS.
    zPARTNERCHANGES-DOCUMENT = '45'.
    zPARTNERCHANGES-ITM_NUMBER = '10'.
    zPARTNERCHANGES-UPDATEFLAG = 'U'.
    zPARTNERCHANGES-PARTN_ROLE = 'WE'.
    zPARTNERCHANGES-P_NUMB_OLD = 'BPAFS0001'.
    zPARTNERCHANGES-P_NUMB_NEW = 'BPAFS0007'.
    append zPARTNERCHANGES.
    CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
      EXPORTING
        SALESDOCUMENT               = so_no
        ORDER_HEADER_IN             = zBAPISDHD
        ORDER_HEADER_INX            = zORDER_HEADER_INX
      SIMULATION                  =
      BEHAVE_WHEN_ERROR           = ' '
      INT_NUMBER_ASSIGNMENT       = ' '
      LOGIC_SWITCH                =
      NO_STATUS_BUF_INIT          = ' '
      TABLES
        RETURN                      = zRETURN
      ORDER_ITEM_IN               =
      ORDER_ITEM_INX              =
        PARTNERS                    = zORDER_PARTNERS
        PARTNERCHANGES              = zPARTNERCHANGES.
      PARTNERADDRESSES            =
      ORDER_CFGS_REF              =
      ORDER_CFGS_INST             =
      ORDER_CFGS_PART_OF          =
      ORDER_CFGS_VALUE            =
      ORDER_CFGS_BLOB             =
      ORDER_CFGS_VK               =
      ORDER_CFGS_REFINST          =
      SCHEDULE_LINES              =
      SCHEDULE_LINESX             =
      ORDER_TEXT                  =
      ORDER_KEYS                  =
      CONDITIONS_IN               =
      CONDITIONS_INX              =
      EXTENSIONIN                 =
    data : s_BAPIRET2 like  BAPIRET2.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    exporting
    wait = 'X'
    importing
    return = s_bapiret2.

    Thanks Prashanth. It worked !!!!!!!!!!!!!
    Now I am facing another type of problem. The requirement is to change the Sales Order Item Quantity. I basically planned to update the quantity of Schedule Item which needs to be changed. When I run the below code, it works and says the Sales Order changed succesfully. However I get an express message saying the Database update failure. I don't get any sort of technical information.
    Appreciate if you could help me finding the error.
    Thanks
    regards
    girish
    Note --> I am trying to change the Quantity for 2 line item in SO '56' to 40 Units.
    REPORT  ZBAPI_SALESORD_CHANGE.
    data : zBAPISDHD       type /AFS/BAPISDHD,
           zORDER_HEADER_INX    TYPE /AFS/BAPISDHDX,
           zSALESDOCUMENT  type BAPIVBELN-VBELN.
    data : zORDER_ITEMS_IN     like /AFS/BAPISDITM   occurs 0 with header line,
           zORDER_ITEM_INX     like /AFS/BAPISDITMX  occurs 0 with header line,
           zORDER_SCHEDULES_IN like /AFS/BAPISDSCHD  occurs 0 with header line,
           ZSCHEDULE_LINESX    LIKE /AFS/BAPISDSCHDX occurs 0 with header line,
           zORDER_PARTNERS like BAPIPARNR      occurs 0 with header line,
           zRETURN         like BAPIRET2 occurs 0 with header line,
           so_no           type BAPIVBELN-VBELN,
           zPARTNERCHANGES like  BAPIPARNRC occurs 0 with header line.
    data : l_comp_qty like zORDER_ITEMS_IN-COMP_QUANT.
    data : g_qty like /AFS/BAPISDSCHD-REQ_QTY.
    g_qty = 40.
    l_comp_qty = 40.
    clear : zBAPISDHD.
    so_no = '0000000056'.
    zBAPISDHD-REFOBJTYPE = '/AFS/ORDER'.
    zBAPISDHD-SALES_ORG = 'BP01'.
    zBAPISDHD-DISTR_CHAN = '02'.
    zBAPISDHD-DIVISION = '01'.
    zBAPISDHD-PMNTTRMS = '0001'.
    zORDER_HEADER_INX-UPDATEFLAG = 'U'.
    zORDER_HEADER_INX-SALES_ORG  = 'X'.
    zORDER_HEADER_INX-DISTR_CHAN = 'X'.
    zORDER_HEADER_INX-DIVISION = 'X'.
    zORDER_HEADER_INX-PMNTTRMS = 'X'.
    **********ITEM ***************************************
    zORDER_ITEMS_IN-ITM_NUMBER = '00020'.
    zORDER_ITEMS_IN-MATERIAL = 'F1202'.
    zORDER_ITEMS_IN-PLANT = 'BP01'.
    zORDER_ITEMS_IN-ITEM_CATEG = 'TAS'.
    zORDER_ITEMS_IN-SHIP_POINT = 'BP01'.
    zORDER_ITEMS_IN-COMP_QUANT = l_comp_qty.
    zORDER_ITEMS_IN-TARGET_QTY = l_comp_qty.
    zORDER_ITEMS_IN-TARGET_QU = 'ST'.
    append zORDER_ITEMS_IN.
    zORDER_ITEM_INX-ITM_NUMBER = '00020'.
    zORDER_ITEM_INX-UPDATEFLAG = 'U'.
    zORDER_ITEM_INX-MATERIAL = 'X'.
    zORDER_ITEM_INX-PLANT = 'X'.
    zORDER_ITEM_INX-ITEM_CATEG = 'X'.
    zORDER_ITEM_INX-SHIP_POINT = 'X'.
    zORDER_ITEM_INX-COMP_QUANT = 'X'.
    zORDER_ITEM_INX-TARGET_QTY = 'X'.
    zORDER_ITEM_INX-TARGET_QU = 'X'.
    append zORDER_ITEM_INX.
    *********SCHEDULE LINE******************************
    refresh zORDER_SCHEDULES_IN.
    clear zORDER_SCHEDULES_IN.
    zORDER_SCHEDULES_IN-ITM_NUMBER = '000020'.
    zORDER_SCHEDULES_IN-SCHED_LINE = '0001'.
    zORDER_SCHEDULES_IN-REQ_DATE = '20070525'.
    zORDER_SCHEDULES_IN-DATE_TYPE = '1'.
    zORDER_SCHEDULES_IN-SCHED_TYPE = 'CS'.
    zORDER_SCHEDULES_IN-GRID_VALUE = 'BLK2728'.
    zORDER_SCHEDULES_IN-REQ_CATEGORY = '1DE'.
    zORDER_SCHEDULES_IN-REFOBJTYPE = '/AFS/ORDER'.
    zORDER_SCHEDULES_IN-REQ_QTY = g_qty.
    append zORDER_SCHEDULES_IN.
    refresh ZSCHEDULE_LINESX.
    clear ZSCHEDULE_LINESX.
    ZSCHEDULE_LINESX-ITM_NUMBER = '000020'.
    ZSCHEDULE_LINESX-SCHED_LINE = '0001'.
    ZSCHEDULE_LINESX-UPDATEFLAG = 'U'.
    ZSCHEDULE_LINESX-REQ_DATE = 'X'.
    ZSCHEDULE_LINESX-DATE_TYPE = 'X'.
    ZSCHEDULE_LINESX-SCHED_TYPE = 'X'.
    ZSCHEDULE_LINESX-GRID_VALUE = 'X'.
    ZSCHEDULE_LINESX-REQ_CATEGORY = 'X'.
    ZSCHEDULE_LINESX-REFOBJTYPE = 'X'.
    ZSCHEDULE_LINESX-REQ_QTY = 'X'.
    append ZSCHEDULE_LINESX.
    CALL FUNCTION '/AFS/BAPI_SALESORD_CHANGE'
      EXPORTING
        SALESDOCUMENT               = so_no
        ORDER_HEADER_IN             = zBAPISDHD
        ORDER_HEADER_INX            = zORDER_HEADER_INX
      SIMULATION                  =
      BEHAVE_WHEN_ERROR           = ' '
      INT_NUMBER_ASSIGNMENT       = ' '
      LOGIC_SWITCH                =
      TABLES
        RETURN                      = zRETURN
        ORDER_ITEM_IN               = zORDER_ITEMS_IN
        ORDER_ITEM_INX              = zORDER_ITEM_INX
        ORDER_SCHEDULE_LINES        = zORDER_SCHEDULES_IN
        ORDER_SCHEDULE_LINESX       = ZSCHEDULE_LINESX.
      PARTNERS                    =
      PARTNERCHANGES              = zPARTNERCHANGES
      PARTNERADDRESSES            =
      ORDER_CFGS_REF              =
      ORDER_CFGS_INST             =
      ORDER_CFGS_PART_OF          =
      ORDER_CFGS_VALUE            =
      ORDER_CFGS_BLOB             =
      ORDER_CFGS_VK               =
      ORDER_CFGS_REFINST          =
      ORDER_TEXT                  =
      ORDER_KEYS                  =
      CONDITIONS_IN               =
      CONDITIONS_INX              =
      EXTENSIONIN                 =
    *CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
    EXPORTING
       SALESDOCUMENT               = so_no
       ORDER_HEADER_IN             = zBAPISDHD
       ORDER_HEADER_INX            = zORDER_HEADER_INX
    TABLES
       RETURN                      = zRETURN
       ORDER_ITEM_IN               = zORDER_ITEMS_IN
       ORDER_ITEM_INX              = zORDER_ITEM_INX
       PARTNERS                    = zORDER_PARTNERS
       PARTNERCHANGES              = zPARTNERCHANGES
      PARTNERADDRESSES            =
      ORDER_CFGS_REF              =
      ORDER_CFGS_INST             =
      ORDER_CFGS_PART_OF          =
      ORDER_CFGS_VALUE            =
      ORDER_CFGS_BLOB             =
      ORDER_CFGS_VK               =
      ORDER_CFGS_REFINST          =
      SCHEDULE_LINES               = zORDER_SCHEDULES_IN
      SCHEDULE_LINESX              = ZSCHEDULE_LINESX.
      ORDER_TEXT                  =
      ORDER_KEYS                  =
      CONDITIONS_IN               =
      CONDITIONS_INX              =
      EXTENSIONIN                 =
    data : s_BAPIRET2 like  BAPIRET2.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    importing
    return = s_bapiret2.

  • Invoice blocking at header level

    Dear team,
    Could you kindly provide your inputs for the following issue;
    While posting invoice with MIRO with a different ( higher) price than PO price, price blocking is happening only at the item level. But user wants to know  why it is  not blocking at header level why it was happened only for Item level.
    At what circumstances, header level will be blocked.
    Thanks in advance.
    Regards
    Madhav

    Hi Madhav,
    In your case, the system can determine that blocking is required only when the price in entered on MIRO. The system compares the price with PO price. So blocking will always be at line level, since price is entered at line level.
    Header blocking means blocking the PO completely( by checking Final Invoice check) or by blocking the Vendor in master data from posting. Both these options are not suitable for your case. The blocking can only be handled at line level.
    Hope this helps,
    Thanks.
    Uma

  • Outline agreement - invoicing party at header

    All,
    I have couple of outline agreemnts which are contracts actually.
    At header level, invoive party field is coming grayed out for some contracts and some other its editable.
    I think for central Pur Org it's grayed out, not sure.
    Any one any idea why this field is grayed out.
    Please advice.
    Thanks,

    call offs means release orders , right?
    I have both released and non released contracts which have Invoice party field non editable.
    Released means released to PO.
    Please advice.
    Thanks

  • Invoice output  at header level

    hi friends,
    here i have one problem i.e my clint want to have purchaze order number in the invoice print out
    if the invoice print out is taking at header level asume that there are two items in the invoice those two items are from diffrent delivery document numbers,and again those two delivery numbers are raised from two other sales orders for those two sales orders the po number is differ.if there are ten items in the invoice fro those all items are having differ po numbers hou should i trace and what po number should i print in the invoice
    and what could be the solluation for above scenario
    please help me out it
    thanks

    In VBRK table system always show only one purchase order number..That we cannot change.
    But in case of output ofof the onvice then u can do it.
    Add logic in a program which is assigned to the output type.
    The logic should be : Pass the Invocie document number in VBFA table and capture sales document numbers  with document category "C".
    Pass this sales document numbers in VBKD table and capture POSNR and BSTKD field value and get pass this values to Invoice output.
    Contact ur ABAPer with this logic he will help u better.
    Hope this helps.
    Thanks & Regards,
    Shaik Hussain

  • Enhancement Field at Header level of MIRO doc & FB60 doc

    Hello
    We have required a field at MRIO or FB60 details tab, if an enhancement are available so that help me.
    Regards
    avijit

    Hi
    You can use Badi BADI_FDCB_SUBBAS01
    If you have a look at badi BADI_FDCB_SUBBAS01 in se18 you´ll see that there is an example implementation class named CL_EXM_IM_BADI_FDCB_SUBBAS01 .
    Read carefully as well the documentation of BADI_FDCB_SUBBAS01.
    This will work for both MIRO and FB60
    Regards
    Sanil Bhandari

  • Invoice Tolerance Check at Invoice Header Level

    Hi Experts,
    Can you advise on this query please?
    We would like to be able to check for this scenario. Where the Invoice exceeds the GR by 5% or $50 we want to have this invoice blocked so that it cannot be posted in MIRO. We want to stop the users posting it in MIRO rather than allowing it to post and then blocking for payment.
    The indivdiual price tolerances such as PP or PS will not work for us because these tolerances check at item level. Our PO's can have multiple line items so in total these can add up to more than $50 depending on the value of the line item.
    So we ant to be able to apply the 5% or $50 limit to the overall invoice.
    The BD small differences checks (we believe) at the invoice level. However, it only allows an absolute value to be specified and does not seem to allow both a value and a percentage to be specified.
    Is there a way to apply the 5% or $50 at overall invoice level?
    If not, is BD the correct tolerence to use to block for the $50 value at overall invoice level?
    If we use the BD, must we then blank out the other tolerances so as to avoid these coming into effect and overrding the effective $50 limit for the overall invoice if the individual line items totoal to more than $50.
    Appreciate your advice on how we can achieve this 5% or $50  to apply to the overall invoice.
    Thanks and regards
    M. Ryan.

    Hi Michael,
    Just wondered if you managed to find out how to set up an invoice tolerance at header level ? I have a similar requirement and wondered if this can be done. It seems the tolerances are all at item level (except for the small difference as you mentioned).
    Regards,
    Jacklyn.

  • Validate ship to party- VA01 at header level

    I am adding some validation logic to userexit routime USEREXIT_MOVE_FIELD_TO_VBKD in MV45AFZZ.
    While testing, I have noticed that while entering the ship to party in the screen (VA01) in VBAK  i could not able to find ship to party. But i can see sold-to-party.
    where can i find ship-party at header level?

    Solved.
    Its available in screen field KUWEV-KUNNR.

  • Alternate Ship to party selection in item and header level

    Hi,
    How a alternate ship to party in header level and item level be selected please.
    Best Regards
    RD

    Hi Durai
    I try to make it simple.
    You maintain partner relationship in two places.
    They are,
    1. Customer master data ( sales area data > partner function tab )
    2. In sales document ( at both header & item level ).
    Difference between the two are,
    In Customer master, you can have multiple Partners for  one Partner function, but in Sales documents you can not have more then one Partner for one Function.
    Only, Outline agreement is an exception where you can have more one partner ( alternative SP & SH ) for one Partner function.
    In the customer master, if there are more then one Ship-to-party, then when you create a Sales order, then system will give you a pop-up/a list of SH to choose the one you want.
    Therefore add the  multiple Ship-to-parties in the customer master of your Sold-to-party,so that system will give you a pop-up.
    So you can select the SH you require.
    As beacuse already multiple SH are there in the cust master of SP, so you can change the SH at Item level for some items.
    Select the Item, go to item details, in the partner tab you can change the Ship-to-party (remember you can not add here one more SH ).

  • Adding new field (ie Goods Recievd date ) at item level in MIRO tcode.

    Hi Friends,
    I got on issue on screen exits.
    I have to add one more field in the transaction mir4 and that field is
       '  Good received Date '. So please explain me how to add this field in the screen and what is the process to do this one. i dont know about user exsit.
    So please help me for this issue and its very urgent....
    Thanks in Advance.....
    Anil.

    Hi
    Try the user exit
    LMR1M001  this contains a screen exit in which you can add an extra field at header level of MIRO.
    You can also try the BADI
    INVOICE_UPDATE
    reward points if useful
    regards
    Anji

  • FQ event to populate invoicing party in DFKKOP during invoicing from EASIBI

    Hi Experts,
    I am looking for an event to update invoicing party field in DFKKOP table during invoicing from transaction 'EASIBI'. As per standard process Invoicing party field is populated in DFKKOP when Invoicing party at contract level is a third party.
    In my case invoicing party at contract is not third party but still invoicing party field need to be populated in DFKKOP. I tried event 402 and 432 but these are not workig.
    Any help on this is appreciated.
    Thanks for your help in advance!!!
    Vibhor

    Hi Vibhor,
    Try using the event R408\R433.
    The event is called up after the posting document for consumption billing has been created.
    Here, you are getting the FICA document no. (DFKKOP-OPBEL) against which the invoicing has happened.
    Once you get the FICA document no., you can update the corresponding INVOICING PARTY field in DFKKOP by using any std FM.
    Hope it helps...
    Thanks,
    Amlan

  • Invoicing party display made through OMRMB not working

    Dear Experts,
    We have made the field RBKP-LIFNR invoicing party display only through OMRMB, but it is not working when you running MIRO.
    The field is still input only and the invoicing party can be changed at MIRO, what could be reason of not working.
    Client wants that field to be display only in MIRO.
    rgds

    is there any way if I can attach or modify one existing screen variant to standard transaction miro...since I do not want to change the tcode, this I have asked since omrmb is not working so only transaction variant is the way..
    Kindly suggest.
    rgds

  • Tolerance for Invoice at header level

    Hi,
    In our business process we use unplanned delivery cost for freight. It is allowed upto 5% of purchase order value. If it is more than purchasing need to review with vendor.
    In this scenario I want to set the tolerance limit in LIV when ever invoice value exceeds PO value by 5% system has to block the invoice.
    I used tolerance key PP, but it will not work at header level. It is specific to each PO line item.
    Please advice if there is any we can block the invoices when tolerance limit exceeds the PO value for total goods received.
    Best Regards

    Jaya,
    Unfortunately there are no tolerance keys designed to work in the manner that you desire. All the standard tolerance keys work at the item level.
    The only solution I can think of would be do some sort of validation on the unplanned delivery cost field via a user exit/BADI in MIRO.
    Hope this helps {or probably not:)!}
    H Narayan

  • MIRO - Invoice Party - User Exit needed

    Hi,
    I have a requirement like this....
      On MIRO tcode, the i need to put a condition if the user gives a Inv Party (3rd tab 'Details' on Header data of MIRO screen) other than the defalut one (vendor which comes by default with the PO)
    <u>Inputs to MIRO are :</u>
    1. invoice date on first tab of header data
    2. Existign PO number in Purchase Order/Scheduling Agreement ( just below the header data block
    3. in 3rd tab of header details (Details tab), on Inv.Party field, it takes the vendor number by default when we give the 2nd input (PO number)
    Can any body tell, which function module exit to work with ?
    PLEASE DO NOT GIVE ME the list of exits and badis by executing the ZUSEREXIT program.
    I have already done this.
    I would like to know which user exit to select out of this total exits.
    Thanks for your Help
    "Share and Learn"

    Hi Ali,
    My requirement is like,
    the user should not be allowed to give the Invoice Party field - value as different from the one different from the vendor number which already assigned to the PO while PO Creation.
    Please read the query in this thread for more details.
    I have found the list of exits, for MIRO, by executing ZUSEREXIT, and i got a list of exits and one BADI. But I am not sure which Exit will work for my requirements.
    ========== xxx ============
    Please, also tell me, how to identify the exact 'function module exit' which suits to our requirement, from the set of all exits displayed after executing ZUSEREXIT program.  (approaches/methods , u follow to identify)
    Thanks

  • Freight at header level in PO is not appearing Invoice

    Hi Experts,
    I have entered "Freight" condition at header level which is distributed to items as per their value. When i did the goods receipt, freight charges were showing in FI document created. But now when i am doing invoice for the same purchase order, freight charge is not appeared in Invoice or in FI documents. Please advise.
    Regards,
    Kamal

    Hi Kamal,
    While doing MIRO,Please check the layout in right side of screen.There is three options:
    1.Good/Service items
    2.Planned delivery costs
    3.Good/Service items+Planned delivery costs
    Please select option 3 and then try.
    Regards,
    Manish

Maybe you are looking for