DOUBLE INVOICE CHECK VALIDATION

Hi All,
We have one client in USA ,Their requireemnt is as follows for Double invice check for FB60 ,FV60 AND F-47
Double Invoice check required ,if REFERENCE NUMBER AND VENDOR NUMBER same for all business transactions irrespective of dates. In SAP there is Double check procedure with respective of Invoice date also. Can anybody help out in this regard?
is it possible to add validation for that ? or If any BTE ?
Rgds
Suma

Hello Lisa,
Your first question,
Yes system does not check MIRO invoice while posting FB60 invoice. Because when you post invoice with using FB60 transaction, system check BSIP table for duplication. But when you post MIRO invoice system doesn't fill BSIP table.
So that your question answer is YES, you can register an invoice in MIRO with same reference without a warning.
Your second question,
BTE means Business Transaction Event. Those events are known as FI user-exit.
So that when you posting an invoice with using FB60, system triggered on BTE 00001110 as i said on my previous message.
I try to explain step by step how can you activate this BTE. But you need to ABAPer for giving warning message on this exit.
Call FIBF transaction -> Settings -> Products -> ...of a customer
Create a new line,
Product : ZXX
Text : BTE Products for FI Exit
Product active : tick checkbox.
Call SE37 for exit function and copy from FM SAMPLE_PROCESS_00001110 to ZFI_PROCESS_00001110. Then active your FM and go to FIBF transaction again.
FIBF -> Settings -> Process Modules -> ...of a customer
Define a new line.
Process : 00001120
Function Module : ZFI_PROCESS_00001110
Product : ZFI
And then you can some write ABAP code for validation and give warning message.
In this FM, If you don't want to check duplicate invoice for your cases you can set export parameter e_nostd = 'X'.
I hope it helps to you,
Regards,
Burak

Similar Messages

  • Configuring double invoice check for vendor invoices posted through FB60

    Dear all
    Can anyone tell me how to configure double invoice check for vendor invoices posted through FB60.
    for miro documents..we can use Tcode OMRDC
    Is there any such tcode which can be used for configuring fi invoices for double checking..
    regards
    Expertia

    Dear Expertia,
    In FI,when checking for duplicated invoices, the system compares the
    following :Vendor, currency, company code, gross amount of the invoice,
    reference document number and Invoice document date.
    SAP Note 305201 clarifies this in a more details; please read it.
    The following fields must be identical for Duplicate invoice check
         Company code                              (BUKRS)
         Vendor number                             (LIFNR)
         Currency                                  (WAERS)
         Reference number                          (XBLNR)
         Amount in document currency               (WRBTR)
         Document date                             (BLDAT)
    If the document is having any one of the above filed different then the
    system does not consider it as a duplicate invoice.
    Also It will check duplicate invoice check in vendor master data and
    in posting key is there check box selected for sales related
    The setting you making in OMRDC i.e Materials management->Logistics
    Invoice Verification->Incoming Invoice ->Set Check for Duplicate
    Invoices is only valid for MM and not  FI invoices posted via FB60/FB65
    You should check the F1 help on field "Chk double inv." (LFB1-REPRF)
    in the relevant vendor master record (transaction FK03).
    Please also check, that message F5 117 has been set correctly in the
    IMG using this path:
    Financial Accounting -> Financial Accounting Global Settings ->
    Document -> Default Values for Document Processing -> Change Message
    Control for Document Control For Document Processing
    Finally & mainly, go to the relevant posting key is defined as sales
    related in transaction OB41. You have to flag this field if the
    duplicate invoice check should work.
    I hope this helps You.
    mauri

  • Double invoice check for customers

    Hello,
    I was surprised that there was no double invoice check functionality in AR. What I have done is in transaction OBA5, maintained the following entries:
    Message type - 117
    Online - E
    Batchl - E
    However when I put an invoice with the same reference for customer, there is no error message displayed. When I do the same for vendor invoice, it works fine. I am surprised that the functionality is active for AP and not for AR.
    Is there something that I am missing? Please advise.
    Regards
    Keyur

    Hello,
    We normally use transaction VF01. However, sometime we also use transaction FB70 to post direct FI Invoices relating to rebates etc.
    This is where the functionality of double invoice check will be useful.
    Thanks
    Keyur

  • Double Invoice check across company code

    Hi All,
    I have been trying to use the double invoice check functionality across company codes. i.e. when an invoice is posted in Company code A with ref no: xxx, and when I try to post a new inovice with the same reference ie. xxx in company code B, system does not give error message.
    Please note: I have maintained message in application F5, no: 117 and 312.
    Also in customization for double invoice check, I have unchecked "Check Company code" and checked "check reference" and "check invoice date"
    I have also maintained the double invoice check flag in the vendor master.
    Please help at the earliest.
    Regards,
    Ankush

    Hi Ankush,
    Good Day,
    Duplicate invoice check across company code will not check for FI related invoice ( Like FB60)
    But you can able to achive this with BTE ( SAMPLE_PROCESS_00001110 for FI Duplicate invoice check)
    Steps for Implementing a BTE
    (1)Goto transction FIBF menu Environment->Info System (P/S )
    (2)Select the BTE you want to implement.
    (3)Press button Sample function module
    (4)This brings you to SE37 - Copy the sample function module to a Z-function module (First create a new function group for the function module) . Note: The name of the Z-functionmodule is not important
    (5)Edit the code in the new function module
    (6)Go back to transaction FIBF - Menu Settings->Products -> Of a customer and create a new product whicj identifies the new product . Remember to mark the Active field.
    (7)Go back to FIBF menu Settings->P/S function modules->of a customer - Create an entry that links the BTE and Product with the new function module
    Best Regards,
    KSK

  • Double Invoice Check - Against the Delivery Note/ Bill #

    Dear All,
    I have a requirement here, Bit different from the Regular Double Invoice Check,
    I will receive the Material A, 10 different times, will do the GR 10 times & enter the Bill # & Challan # during GR. While posting the Invoice i want the system to check against which Bill # i am posting the invoice. Say during GR my Bill #s were 1 to 10. I receive the Invoice from my Vendor from 1 to 5 today, so i posted the invoice. After few days He will send a duplicate Invoice with Bill # as 5, & he will inform me that he lost original Invoice so he is sending the duplicate. As i have'nt posted Bill # 6 to 10, system will accept the Bill 5 also again. How can i avoid these things ?
    regds,
    CB

    Hi,
    Already I am maintaining these Bill # & Delivery Challan # during GR. My issue is during Invoice i want a check. In Invoice we have a reference field at header, If i am posting a single GR as a single invoice thats OK. But if I am posting more than 1 GR in single Invoice, where can i maintain the Bill # ? Any solutions pls ?
    regds,
    CB

  • Double Invoice Check

    Hi
    How do we set the double invoice check in SPRO for Invoice Number and Reference field for Vendor Incoming Invoices
    Regards
    Sanil Bhandari

    Hi,
    Please go to vendor master > Payment Transaction Tab
    Check the Double Invoice option...
    System will carry out checking as mentioned below:
    Checking Logistics documents
    Firstly, the system checks whether the invoice documents have already been entered in the Logistics invoice verification; the system checks invoices that are incorrect, or invoices that were entered for invoice verification in the background.
    Checking FI documents
    The system then checks whether there are FI or Accounting documents that were created with the original invoice verification or the Logistics verification, and where the relevant criteria are the same.
    Checking Logistics documents
    In checking for duplicate invoices, the system compares the following characteristics by default:
    Vendor
    Currency
    Company code
    Gross amount of the invoice
    Reference document number
    Invoice document date
    If all of these characteristics are the same, the system issues a message that you can customize.
    When you enter credit memos or subsequent adjustments, the system does not check for duplicate invoices.
    Exception: Country-specific solution for Argentina, where invoices and credit memos are checked for duplicate documents.
    No message is issued if you enter a document that has previously been reversed.
    Dependencies
    The system only checks for duplicate invoices in Materials Management if you enter the reference document number upon entering the invoice.
    In Customizing for the Logistics invoice verification, you can specify that the following characteristics should not be checked:
    Reference document number
    Invoice document date
    Company code
    This means that you can increase the likelihood that the system will find a duplicate invoice, because you can reduce the number of characteristics checked.
    I Hope u found useful
    Please Reward Points if Found Useful
    Regards,
    Jigar

  • Double Invoice Check Failed-Trax FB60/FB65

    Dear Sap Gurus,
    When iam posting invoice by using FB60 it is allowing duplication.iam able to post two invoices with same data.system is not giving any error. how to get error messages. i have done all necessary settings
    1.vendor master double invoice check is activated
    2.ob41 -posting keys -Sales related check
    any input in this regards is highly appreciated
    regards,
    siva

    Hi,
    FI_DUPLICATE_INVOICE_CHECK which is called when invoices are posted
    via trans FB60. Duplicate invoice checking criteria can be customized using the open FI interface SAMPLE_PROCESS_00001110 (custom function module) in Rel 4.6,
    Duplicate check looks also at the reference field in the header where you input the invoice number.
    Assign points in reply to thanks

  • Double Invoice Check for Vendors

    Hi
    How can we create a check for Double Invoices for Vendors?
    regards
    Rupal

    HI
    Pls follow the path to set the status for Double Invoice Check
    IMG>Materials Management>Logistics Invoice Verification>Incoming Invoice>Set Check for Duplicate Invoices
    Moreever, in vendor master, you need to maintain the double invoice check tick in the company code data. I suggest you make this as a compulsory field in Field Status group for all your vendor account groups.
    Thanks & Regards
    Sanil K Bhandari

  • SAP double invoice checking

    Dear Forum,
             Since in for FI documents will check double invoice when we post invoice with the same 
             - Company code
             - Vendor
             - Currency
             - Document date
             - Reference number
             But our client would not like the system to check the document date, they want the system to check      
             - Company code
             - Vendor
             - Currency
             - Reference number
             For example, if we post invoice in FI with
             - company code: 1000, vendor code: A, Currency SGD, Document date: 01.04.2009 and invoice no. 1234
             and we also post invoice in FI with
             - company code: 1000, vendor code: A, Currency SGD, Document date: 02.04.2009 and invoice no. 1234
             the standard SAP will not show warning or error since the doc. date is not same.  
             But our client want to show error message in this case.
             (they don't want the system to check invoice date)
    Please kindly advise.
    Thanks and Best Regards,
    Mary_K

    Hi,
         Thank you for your reply. But we want to set the checking double invoice for FI document not in LIV document.
         For LIV checking double invioce, we already known.
    Thank you very much.
    Mary_K

  • Duplicate vendor Invoice check in FB60

    Hi Experts,
    I want to put the duplicate invoice check while posting the vendor invoice through FB60. I want the system to check the duplicate invoices in combination of the Vendor code and vendor invoice number ( we put the vendor invoice no. in the reference field of FB60 ). How to make this possible. I do not want to make the FI validation for the same. Can you please suggest how to go ahead with this.
    Thanks,
    BABA

    Hi Shailesh,
    phuu, ok, let's start from the beginning then.
    Some theory first:
    you need the validation because the standard check takes the doc.date ito consideration and this is not wanted. And you need the exit from the validation (! not a separate exit! not the original), locate the IF-statements where there is an ELSE option ending with function CUSTOMIZED_MESSAGE. It is up to you what to do here. In the original functoin module, the messages are issued here immediately. It can be an error or a warning, depending on the setting in table T100C. If my understanding is correct,  you always want to see an error message, bt this should be done in the validation, not in the function module. So you should skip the customized_message function call and just issue the messages here as info message regardless of T100C settings. In this case, remove the function call customized_message (as many times as it occurs) and issue the message included directly as an information. Right after the message was issued, set E_RC to 4, infoming the validation that the check has failed. (Note that the customized_message function is only called if the check has failed, so no worry that you always get the message.
    4. Define the exit for the validation
    =========================
    Go to your form pool Z_RGGBR000 (defined in V_T80D) and locate the statement APPEND EXITS. It should appear few times, locate the last occurence.
    Right after that, enter the following:
    exits-name = 'U901' .
    exits-param = c_exit_param_none.
    exits-title = text-901.
    append exits.
    This will define a new exit namd U901 for the validation routines. If in V_T80D, you already had a Z (or Y) report, check if the string U901 is used in that code already (check for the main program). If this is the case, instead of U901, use another name, it should begin with U followed by 3 digits. Also, you make sure the text symbol text-901 (or the 3 digits you are using) is existing, doubleclick it and enter a description like "Duplicate invoice check validation" or similar.
    Well, the exit is published, we have to write the main code now.
    go to the very end of your Z_RGGBR000 report and add a new form U901 like follows:
    Duplicate invoice check validation
    FORM U901 USING B_RESULT.
    Vendor master flag
    data: l_reprf like lfb1-reprf.
    Result of function module
    data: l_rc like sy-subrc.
    Check vendor master first
    select single reprf into l_reprf from lfb1 where bukrs = bkpf-bukrs and lifnr = bseg-lifnr.
    Do not continue if flag is not set.
    if L_REPRF is initial.
      b_result = b_true.
    endif.
    check not L_reprf is initial.
    Call modified function module
    CALL FUNCTION 'Z.....your function'
        EXPORTING
          i_bukrs = bkpf-bukrs
          i_lifnr = bseg-lifnr
          i_waers = bkpf-waers
          i_bldat = bkpf-bldat
          i_xblnr = bkpf-xblnr
          i_wrbtr = bseg-wrbtr
          i_koart = bseg-koart
          i_reprf = L_reprf
          i_shkzg = bseg-shkzg
          i_xumsw = bseg-xumsw
          i_bstat = bkpf-bstat
          i_belnr = bseg-belnr                                 
          i_gjahr = bkpf-gjahr                          
          i_blart = bkpf-blart
    EXPORTING
          e_rc = L_RC.                                
    Decide if validation message must be issued or not
    if L_RC = 4.
      b_result = b_false.
    else.
      b_result = b_true.
    endif.
    endform.
    After this, activate the source code. Make sure you have defined the text-symbol 901 before!
    5. Define the validation
    =================
    Go to OB28 now, and enter your company code(s) and the call-up point 002 (line item). If there is a validation defined already, you have to add a new step only, if not, you have to create the validation anew.
    I assume there is no validation defined yet, so enter a name for the validation like FI_2 or similar. It should NOT be named DUPLIC or similar, i.e., you should not include the purpose in the validation name. This is because the validation is defined on company code / call-up point level and it may contain many steps for different purposes later. A generic name FI-2 or probably your company code followed by 2 (2 is the call-up point) is the best choice.
    Before presing enter go to the last column Validatin active and enter 1 here.
    Then press enter and you will get an error that the validation does not exist. No problem, go to menu path Environment --> Validation and let's create a new validation.
    First, enter a description for your new validation in the right hand panel. Again, this should be a generic description, tell nothing about duplicate invoice checks here.
    You may be asked here to assign a message class to the boolean class 009. You should enter here a Z message class where the validation message should be issued from. If no appropriate message class exits, open a new session go to SE91, enter a new message class Z... press create, enter a description. Then go to the Messages tab there, and create a new message with number 001 (NOT 000) and enter the message text there. E.g. Duplicate entry not allowed.
    Coming back to the validation, if the message class was already assigned (this is the case if there was a validation defined earlier), you can create a new step. In case of a new validation, it will become the first step. But if there was already a validation in OB28 for your company code and call-up point 2, then it will be the last step. In the left hand panel, make sure the new (or existing) validation is selected and press the Create Step button (Ctrl-Shift-F5).
    In the right hand panel, enter a description for your step. This is the point where you can enter Double invoice check or similar.
    We have three parts here, a Prerequisite and a Check part, finally a message.
    In the left hand panel, select the Prerequiste. This will activate that screen block in the right side. We have to make sure that our validation is called only for the relevant vendor line items, so press Ctrl-F3 to hange to expert mode ) and enter the following in the Prerequiste window in the right hand panel:
    BSEG-LIFNR <> '' AND BSEG-XUMSW = 'X' AND BSEG-KOART = 'K' AND
    BKPF-BSTAT = ''
    Beware '' is a ' followed by another ' and not a single " !!
    Then switch back to normal mode using Ctrl-F1 and check the small lamp below that should be green now. Also, you can see the field descriptions now. If the lamp is red, press Ctrl-F3 again, delete all and copy the above again. Do not bother with line breaks. Switch to Ctrl-F1 again until the lamp is green. OK, what we have told here was please call the validation only if we have a vendor number and if this is a sales relevant item (invoice or credit memo, but not a payment or similar, this is the standard logic as well), and the account type is vendor (K) and this is a normal document.
    WHen you are done here and the lamp is green, then go to the left side again and select the Check part. Now you should be able to edit the Check screen lock in the right hand side again. Switch to expert mode and enter simply U901
    This is the name of the form in your Z_RGGBR000 report. NO brackets, no spaces, only U901 here. Switch back to Ctrl-F1 and instead of U901, you should see the text of your form (text symbol 901 in report Z_RGGBR000).
    Finally, click the Message part in the left side to be able to maintain the message in the right side. If you issued an error from the function module already, you can give here an information, or you can give it as an error if you like. The message number is one of the messages from your Z message class, you have to define the text in SE91 (see above).
    When done, save the validation and you can test it immediately.
    Here a brief summary what is happening:
    OB28 setting defines that in your company code a validation like FI-2 or similar is active on line item level. Whenever a line item is abut to be created, the validation will be called.
    However, the prerequisite of the validation is quite strict: only a limited number or vendor items will allow to continue, other line items (G/L, customer, not sales relevant vndor, etc.) will just skip the whole validation.
    If the prerequsite was met, the Check part is carried out. Here we have the exit U901.
    In the exit, first we check if the vendor is flagged for double invoie checks. If not, we quit and processing can be continued. B_TRUE means it is OK. If the vendor is flagged, we call the new Z function which is almost the same as the original one.
    The Z function will check table BSIP, but it will skip the document date comparison. If the current invoice seems to be entered earlier (regardless of the doc.date), instead of the standard customized message (which can be E or W for instance), the very same standard message will be issued as an information. So the user will be informed about the previous document number but the processing won't be stopped. In addition, a return code will be set to 4, meaning check has failed.
    Jumping back to the exit, if the return code is 4, we have to tell the validatin that the check has failed (B_RESULT = B_FALSE), otehrwise we can tell the validation that the check was OK (B_RESULT = B_TRUE).
    Now we are back in the validation, and, depending on B_RESULT, we just continue processing (B_TRUE), or issue an error message from a Z message class (B_FALSE). As the main standard message was isued already from the Z function, the user should know at this stage what the matter is. Your Z message can be a bit generic one, no need to include the vendor number or the previously issued invoice, etc.
    Hope that helps, points welcome
    Csaba

  • Double Invoice

    All,
    Suppose I have a PO for 100 KG. Then I have done GR for this PO for full quantity .
    Now done Invoice verification for 100 kg .
    Now if again I am doing Invoice verification for some quantity against the same PO ,its allowing me to do it .
    I have already activated 'Set check for double invoices ' in SPRO .
    Now how I can prevent this double invoicing .?
    Kindly advise.
    regards

    Dear PVS,
    Also check the double invoice check in the Vendor Master of that perticular vendor.
    Then try to do the invoice again.
    In SPRO also, set double invoice check select for the C.code,Doc date and ref.
    Thanks & Regards,
    Krishna Reddy

  • How can we block double invoicing ?

    Hello Experts ,
    I have done PO for quantity 1 , with GR based IV ticked & invoice receipt ticked . When I create IR for this , it allows me to create it twice with quantity 1. Whether there is any way we can block this ? 
    (GR is statistical since it is third party scenario wherer goods are not received in the company premises , vendor delivers goods directly to customer. )
    Field "Check double invoice" is ticked in Vendor master , but still its the same. How can I block this double invoicing ?
    Thanks in advance.
    Abhishek.

    Check
    Double invoice Check
    Through the below link you will find the solution with the screenshots.
    http://sapfunctional.com/MM/Duplicate/Invoices.htm

  • Settings for Double invoice

    Hi All,
    What are the settings for Double invoice check?
    Thanks in Advance
    Arjun

    Go to OMRDC trxn...
    and tick the options of Check compcode, Check reference & Check inv date..
    then go to the Vendor in XK02 and tick for Check double inv box..

  • Create a validation for check double invoice

    Hi,
    I have read here on SDN for check double invoice on reference number. We want to create an warning message if same reference number is posted twice, not depending on invoice date. So if I, on 1st of October have posted an invoice with reference number 123 and then want to post with same reference number on 2nd of October I want to have an warning message. If I had understand right I need to make a validation for that. Is it true that I need to have a programmer to do that or how am I doing (one thread said that this was the solution, see; )?
    I suppose that my prerequisite will look as follows:
    BKPF-BLART = 'KR' OR BKPF-BLART = 'RE' (I want the check when entering both an invoice in FB60 and MIRO)
    How will my "check step" look like when I want to check if this reference has been entered before? Please describe in technical name.
    Is it possible to do a validation for getting a warning, or is it just possible with error message?
    I have also tried to change in IMG, in Material management > Logistics Invoice Verification > Incoming invoice > Set check for Duplicate invoices. Here we have all fields selected (check co. code, check reference, check inv. date). I changed to just select check reference, but this doesn´t solved my problem.
    Best regards Lisa

    Hello Lisa,
    Your first question,
    Yes system does not check MIRO invoice while posting FB60 invoice. Because when you post invoice with using FB60 transaction, system check BSIP table for duplication. But when you post MIRO invoice system doesn't fill BSIP table.
    So that your question answer is YES, you can register an invoice in MIRO with same reference without a warning.
    Your second question,
    BTE means Business Transaction Event. Those events are known as FI user-exit.
    So that when you posting an invoice with using FB60, system triggered on BTE 00001110 as i said on my previous message.
    I try to explain step by step how can you activate this BTE. But you need to ABAPer for giving warning message on this exit.
    Call FIBF transaction -> Settings -> Products -> ...of a customer
    Create a new line,
    Product : ZXX
    Text : BTE Products for FI Exit
    Product active : tick checkbox.
    Call SE37 for exit function and copy from FM SAMPLE_PROCESS_00001110 to ZFI_PROCESS_00001110. Then active your FM and go to FIBF transaction again.
    FIBF -> Settings -> Process Modules -> ...of a customer
    Define a new line.
    Process : 00001120
    Function Module : ZFI_PROCESS_00001110
    Product : ZFI
    And then you can some write ABAP code for validation and give warning message.
    In this FM, If you don't want to check duplicate invoice for your cases you can set export parameter e_nostd = 'X'.
    I hope it helps to you,
    Regards,
    Burak

  • Check Flag for Double Invoices or Credit Memos

    hello
    can i one please explain me the effect of
    "Check Flag for Double Invoices or Credit Memos"
    please explain with explain
    thanks
    vijay

    as terms itself says that u can post the same invoice twice it helps u in posting the same invoice twice
    suppose u have post invoice 1103#
    now by mistake user trys to enter the sam e invoice to release the payment then system dispalys a messge wrning or error
    but to activate it u need to do the settings in spro-mminvoice---incoming invoice
    and mark the check box in vendor master

Maybe you are looking for