Sales order change after Invoice

Standard SAP would allow us to change the Partners in a sales order even after an invoice has been created for the sales order.
My question is that how can we prevent doing this. I want that the SO partner functions should not be changed after we have billed the customer.
I wonder why SAP has kept it like this.Can anyone help me out in ths?
James

It is possible to control by identifing UserExit andproviding the logic to the Abaper, as per requirement.
Regards,
Rajesh Banka

Similar Messages

  • Vendor code in Purchase order changed after invoice,net price showing zero.

    Dear Experts ,
    In one purchase order , user had done GR & invoice for a line item ( service ),item category "D" , and
    thereafter somehow the system allowed user to change the vendor code. The PO line is now having amounts in
    the sub-service line items , but net price for the line item is showing as zero. Since the PO was made
    directly without any contract/RFQ/PR , there is no reference document or info record shown against the line
    item.
    In the conditions tab of Item details,the condition for basic price is not seen & since there are no amounts
    applicable for the other conditions such as insurance , octroi etc., the NET price shown for the item is
    Zero, which is also getting printed in the PO as zero , which is not acceptable , as we can not send to the
    vendor PO copy having prices for individual services printed correctly but the total gross price showing
    zero.
    Pl advise what can be done so that Net Price is shown correctly & not zero.

    I think the new vendor is having a different pricing schema than the old vendor. Check the pricing schema for the old vendor (in purchasing view in field 'Schema Group. vendor) and compare it to the new vendor. I think they're different.
    If it is then what i think happening is the user already input the price for the condition type in pricing schema A, then the vendor is changed and the new pricing schema is kiciking in thus making the old condition type missing.
    Try to either:
    A. Change to the old vendor back,
    B. Change the pricing schema of the new vendor to be the same with old vendor

  • Sale order 'value changes' after invoice creation

    Experts,
    A sale order was created / shipped / invoiced. The invoice did not go to accounting because of credit auth error. We have a procedure to fix it and then release it to accounting (transaction VFX3). All OK until this point.
    While fixing the auth error, an user changed the freight condition value in the sale order. Then invoice is released to accounting. Now, the value of freight in order and invoice match. How is it possible to change the value of an invoice after its creation?
    Any input would be appreciated.
    UV

    when the value is changed in the sale order, it would automatically transfer
       the new pricing to the existing open SD invoice pending accounting entry??
    Certainly not.  The control is in VTFL where if you select the billing item category for the combination of your delivery type and billing type, you can see a field "Pricing Type".  If you maintain any value other than "B", system will copy the price from sale order to billing and you can, as I said above, can change manually in billing.  On the other hand, if you have maintained "B" in the above field, system will not  consider sale order price but will check your pricing condition maintained in VK11 which you can check in VK12 or VK13.
    thanks
    G. Lakshmipathi

  • Sales order, Delivery and Invoice changes history tables

    Dear All,
    I want to know how to find out the changes done in Sales Order, Delivery and Invoice.
    As far as sales order is concerned, I know CDHDR and CDPOS are tables can be used to find out the changes.
    But I am not sure about the "Object ID". Where we need to find out this Object ID?
    In the Data element "VBELN_VA" "Change Document" option has been checked under "Further Characteristics" tab.
    Please confirm about the "Object ID".
    Similarly give inputs for Delivery and Invoice change history also.
    Regards,
    Mullairaja

    Hi,
    Could you please explain, how to use these programs?
    Regards,
    Mullairaja

  • Address data changed after invoice is created

    Hi,
    I've a problem to solve and it's related with data changed after invoice is created.
    The scenario is the follow:
    1º - create a complete and standard sales process - order => delivery => invoice, with the standard partner scheme and without edit the address data, for any kind of partner
    2ª after the invoice is created, I change the address data on Client Master Data, for the same client that I've used on previous process
    3º I'll go to the VF03 transaction and take a look at the partner data on header level. Here I can see that the changes on the Client Master Data ar updated to the invoice document wich is already created and printed when I maked the changes
    I think that could be a program error because, once the documento is created, you only can change texts and accounts if this document is not yet created.
    And, I can't edit this kind of data on invoice creation because it must be done at order level.
    So I don't understand why it happen, but it happen on more than one client.
    I'll hope that anyone can help me to solve this issue.
    Kind regards,
    Nuno Rodrigues

    Hi Nuno,
    the adresses of all Clients are stored in table adrc. If there are no changes in the order, the system takes the standard adress of the client. That is made for not having an extra adress for each order.
    If you change the adress - the system will create a new adressnumber ( 999........ - see in VBPA ).
    If you have different adressnumbers in your orders, you are not able th collect several orders into one delivery note - for the adressnumber ist normally a split-criteria.
    Ich you will have an extra Adress for each Order, change the adress - for example by an user exit.
    But if you have different adressnumbers - the delivery and the invoice will split the different orders - if you dont do something against in an user-exit.
    Hans

  • Sale Order changes View

    Dear Guru's
    Is there any T-Code for verifying Sale Order changes (Step wise), as in my company Invoices are generated with lot of changes which not matching with Sale Order conditions. So I would like to moniter the Sale Order conditions changes. Kindly help me out.
    Thanks in advance

    Hi
    Sales order changes can be seen in the report only if the changes are made by any user(userid). If your problem is with changes in pricing conditons...then before comparing the sales orders and invoices, I advise you to check the copy controls and the price type used in the copy controls. If the price type selected is to redetermine the pricing, then you should check the validity of the conditon records. Sometimes, the conditon records may be different during sales order creation and invoice creation.
    Thanks,
    Ravi

  • How to make the connection between a sale order and an invoice in SDK

    Hi,
    Im trying to make the connection between a sales order and an invoice using the SDK.
    Here is how i create each of them:
    Invoice:
    public int SalesInvoiceInternalSave(string buisnesspartnerCardCode, DateTime dueDate, double discountPercent, string id, IList<InternalItem> items, ref int invoiceId)
          int res = 0;
          SAPbobsCOM.Documents invoice_entry = (SAPbobsCOM.Documents)Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oInvoices);     
          invoice_entry.CardCode = buisnesspartnerCardCode;
          invoice_entry.DocDueDate = dueDate;
          invoice_entry.DiscountPercent = discountPercent;
          invoice_entry.Reference2 = id;
          foreach (InternalItem item in items)
            invoice_entry.Lines.WarehouseCode = item.Shopid;
            invoice_entry.Lines.ItemCode = item.Code;
            invoice_entry.Lines.ItemDescription = item.Name;
            invoice_entry.Lines.Quantity = item.Quantity;
            invoice_entry.Lines.UnitPrice = item.Price;
            invoice_entry.Lines.Add();
          res = invoice_entry.Add();
          return res;
    Sales order:
        public Boolean SalesOrderInternalSave(string orderId, string buisnesspartnerCardCode, DateTime dueDate, IList<InternalItem> items)
          SAPbobsCOM.Documents order_entry = (SAPbobsCOM.Documents)Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oOrders);
          order_entry.CardCode = buisnesspartnerCardCode;
          order_entry.DocDueDate = dueDate;
          foreach (InternalItem item in items)
            order_entry.Lines.WarehouseCode = item.Shopid;
            order_entry.Lines.ItemCode = item.Code;
            order_entry.Lines.ItemDescription = item.Name;
            order_entry.Lines.Quantity = item.Quantity;
            order_entry.Lines.UnitPrice = item.Price;
            order_entry.Lines.Add();      
          int res = order_entry.Add();
          return res == 0;
    What do i need to change to get the connection between the two of them?
    And how do you insert a amount (not percent) discount into an invoice?
    Regards,
    Torben

    Hi,
    Add the sale order, then add the invoice. and while adding the invoice please add the following details to the invoce documen
    invoice_entry.Lines.BaseEntry = 'Doc entry of the newly created SO
    invoice_entry.Lines.BaseLine = 'Line No of the SO
    invoice_entry.Lines.BaseType = 17 'For sales order document type.
    Hope it helps,
    Vasu Natari.

  • Billing Block removal not updated in the sales order change log

    Hi Gurus,
    A specific Billing Block is automatically assigned to the sales document header (VBAK-FAKSK) when the net value of the sales order is negative. This is an order related billing.
    Sometimes the Billing block is getting released automatically and the Negative Invoice is getting created in the Background job run for creating the invoices. When we check the sales order, the Billing block is not existing and the removal of the billing block is not recorded in the Change Log of the sales order.In the CDHDR table also there are no details about the release of the billing block.
    This is happening only occassionally. When I tried to replicate the issue, the system is not allowing me to create the invoice as long as the billing block is there in the sales order and if I remove the block, it is recorded in the sales order change log.
    My doubt is.,
    1. How the billing block is getting released automatically?
    2. Even if the block is released,  why it is not recorded in the Change Log of the sales order?
    Looking forward your for suggestions and solutions.
    Thanks,
    Ravi

    Hi
    Did u check in sales doc. details screen.There u can block for billing.

  • Determine Sales Order change (ECC6.0 using Enhancement-point)

    Hi all,
    I want to determine Sales Order change e.g. if any item added to sales order or any item deleted fron sales order and also if Sales Order is deleted .... how can I achive this???
    I am using ECC6.0 , in which I am using Include          MV45AFZZ and FORM USEREXIT_SAVE_DOCUMENT to determine change at SAVE. The table XVBAK and structure VBAP is available but from this I am not able to determine the change.
    How to do this..?
    Regards,
    NiLesH.

    Hi Nilesh,
    Please see USEREXIT_SAVE_DOCUMENT_PREPARE instead of the one you are using in the Include MV45AFZZ.
    SAP comments this customer form as:
    * This userexit can be used for changes or checks, before
    * a document is saved.                                           
    * If field T180-TRTYP contents 'H', the document will be  
    * created, else it will be changed. This form is called at the
    * beginning of form BELEG_SICHERN
    For the deletion, try to code your check in the form USEREXIT_DELETE_DOCUMENT in the Include MV45AFZZ provided for the customers.
    I feel these would be more suited for your requirement.
    Cheers,
    Sougata.
    You can use tables CDHDR/CDPOS for change documents but on a large scale reporting this would be very slow.
    Alternatively, for performance reasons, you can use the form USEREXIT_READ_DOCUMENT to capture the sales order at its original state (in an internal table) then use form USEREXIT_CHECK_VBAP for any changes made while in the sales order create. Then in USEREXIT_SAVE_DOCUMENT, compare the previous and current condition values. If any changes exist, insert a row in a custom table with the change information. At the end you can base your report on your custom table rather than change document tables which will be slow on processing large volume of data.
    Note: Go the user-exit way only if you are dealing with high volume of data
    Edited by: Sougata Chatterjee on Jan 1, 2008 11:38 PM
    Added after considering Ranjith's post

  • Any function module or bapi to get sales order number and invoice number?

    hi all,
    with delivery order number provided, do we have any function module or bapi to get sales order number
    and invoice number?
    thanks.

    Hi,
    Check
    BAPI_SALESORDER_CREATEFROMDAT1
    BAPI_REMUREQSLISTA_CREATEMULT  Agency Business: BAPI Create Invoice Lists from Vendor Billing Documents
    BAPI_REMUREQSLISTB_CREATEMULT  Agency Business: BAPI Create Invoice Lists from Payment Documents
    BAPI_REMUREQSLISTC_CREATEMULT  Agency Business: BAPI Create Invoice Lists from Posting Lists
    BAPI_REMUREQSLIST_CHANGEMULT   Agency Business: Change Invoice List Documents BAPI
    BAPI_REMUREQSLIST_GETLIST      Agency Business: BAPI Determine Detailed Data for Invoice List Documents
    BAPI_REMUREQSLIST_RELEASE      Agency Business: BAPI Release Invoice List Documents to FI
    Edited by: Neenu Jose on Nov 26, 2008 8:53 AM

  • Have to provide a popup when there is a Sales order change(VA02)

    Hello,
    I would like to know how to capture Sales order changes(VA02) through an enhancement. Based upon users changes which can be either a addition or deletion in sales order then I have to provide a popup. I am unable to find out whether Sales order has undergone a change or not. Field r185d-dataloss is alway having 'X' whether data has changed or not. System field SY-DATAR is not capturing any deletion is sales order.
    I am using USEREXIT_SAVE_DOCUMENT_PREPARE but unable to check sales order is changed or not.
    I need to provide popup after user clicks on Save. Tables CDPOS & CDHDR won't have current sales order change.
    Thanks for your replies.
    Edited by: harryibm on Dec 11, 2011 8:07 PM

    I am using USEREXIT_SAVE_DOCUMENT_PREPARE but unable to check sales order is changed or not.
    Donot do any changes and hit save. check if this routine is triggered if you are not changing anything.
    In program MV45AF0B_BELEG_SICHERN there is a condition
    IF R185D-DATALOSS = SPACE       FORCE_UPDATE   = SPACE     AND
           UPD_VBUK IS INITIAL        AND
           UPD_VBUP IS INITIAL.
    The else part will only tirgger if its changed. The routine USEREXIT_SAVE_DOCUMENT_PREPARE is called in the else part.

  • Extending sales order change BAPI and updating custom fields

    Hi
    i added 3 new fields into VA01/02/03 screen.i added at the header level in the additional data tab B area and appended them in VBAK table.
    i want to change these values using sales order change BAPI.i added the fields in the structure VBAKKOZ,VBAKKOZX,BAPE_VBAK,BAPE_VBAKX.
    may i know what else i need to do?should i move them anywhere with in the code or does the bapi take those values automatically using EXTENSIONIN structure?
    also can some one send me code to actually check if bapi is changing my values?
    if poss tell me how should i populate values into BAPI.

    After adding field in structures VBAKKOZ,VBAKKOZX,BAPE_VBAK,BAPE_VBAKX, create pair of name-value pair extensiot structure and value.
    Fill values as follows :
    Data :   ls_parex  TYPE  bapiparex,
                lt_parex  TYPE STANDARD TABLE OF  bapiparex.
    ls_parex-structure = 'BAPE_VBAK'.
    ls_parex-valuepart1+0(10) = Sales order no
    ls_parex-valuepart1+10(XX) = somevalue.  <---- Value for custom field no 1
    ls_parex-valuepart1+XX(XX) = somevalue.  <---- Value for custom field no 2
    APPEND ls_parex TO lt_parex  .
    clear ls_parex.
    ls_parex-structure = 'BAPE_VBAKX'.
    ls_parex-valuepart1+0(10) = Sales order no
    ls_parex-valuepart1+10(1) = 'X'. <--- checkbox mark for custom field no 1
    ls_parex-valuepart1+11(1) = 'X'. <--- checkbox mark for custom field no 2
    APPEND ls_parex TO lt_parex.
    Same pair for VBAKKOZ & VBAKKOZX
    Updating custom fields
      CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
        EXPORTING
          salesdocument    = Sales order number
          order_header_inx = 'U'   <--- U for update
        TABLES
          extensionin      = lt_parex[].
    Edited by: nkarwa on Oct 25, 2010 12:39 PM

  • Status Profile - Sales Order Change

    Hi,
    I have a issue regarding Status Profile in Sales Order.
    I have a sales order with two status - 
    Awaiting Approval ( Initial at the time of creation of Sales Order )
    Approved ( Approval by HOD after creation )
    No changes has to be done in Sales Order once approved, if any changes to be done then, needs resetting of the status to initial.
    How to control the same.
    I have checked the transactional control in user status but change sales order control is not there.
    Can be controlled through user exit then how can it be be done.... User Exit name and brief logic of possible.
    Regards
    SD Consultant.

    Hi
    You can use MV45AFZZ include to find appropriate User exit for your requirement with the help of your ABAPer.
    USEREXIT_SAVE_DOCUMENT would be suitable to you.
    User status are maintained at JEST table, so you can write code to activate status 1 and deactivate status 2 if sales order changed.

  • Blocking Sales Order change

    Hi,
    We have a requirement that sales orders should no be able to be changed after a month that it has been created/opened.  I would like to know if ithere is a standard way of blocking sales order change (include new items and quantity change) considering its creation date.
    Thank you and regards,
    Renata Prataviera

    Hi,
    I am not sure any standard settings can help with the requirement.
    However you can use user exit, USEREXIT_SAVE_DOCUMENT in the include MV45AFZZ. to satisfy your requirement.
    Regards,

  • Table For Open Sales Order And Customer Invoices

    Dear Gurus,
    Are there any table to know open Sales orders and pending invoices for Customers?
    Wishes,
    Abhishek

    Hi,
    Go to T code VA05 and select open sales order radio button. Put other input parameters like date range or sold to . Execute you shal get list of all open sales order.
    For pending invoices go to T code VL04 and you get list of all billing not yet created even though GI is done.
    These are standard SAP functionality and can be used rather than looking in a table level.
    Regards
    Vivek

Maybe you are looking for

  • Error while running BIP report, in one of our ST environments

    we are getting this exception while running one of our BIP report(RTF template). the same code is working in the other ST environments NOTE: we observed some special cases if the report contain any Graph(chart) then this error is coming, with the pla

  • Changed from rolling contract, but billing is more...

    I've been on a rolling contract for several years, BB option 3 and unlimited calls, just over £40 per month, I rang BT to ask them to match an "Orange" price of £21 for the same service, and BT quoted £23.28 made up of £12.99 Broadband with calls, an

  • Problem with Mail (maybe self induced?)

    Hello all - I have recently upgraded my Mac to Leopard from OS10.4. When first reopening Mail, I was taken through a dialogue intended to convert my messages into (I presume) a format compatible with the new version of Mail. For some (inexplicable) r

  • "no content" after syncing

    background: this is a brand new itouch. I am attempting to sync it for the first time. I have the latest iotunes sw and it all works fine with my old nano. When I go to sync my itouch, it acts as if it does it, with the progress bar duly noting the s

  • I have lost access to itunes and cannot reconnect so have lost my library.  Can anyone suggest a solution?

    iTunes became corrupted on my PC so had to unistall.  I now cannot re-install on the same PC.  I have installed iTunes on another PC but have no idea how to get my library back.  I am fairly computer illiterate so can anyone suggest something I can e