Technical Articles
How to handle the INVFO-ZLSPR payment block field in MIRO
Hello everyone,
I hope you are fine! I am Rafael Rhoden from SAP Product Support. I have been working for SAP in Product Support since 2007. I started working with SRM Supplier Self-Services (SUS) and now I am working with Logistic Invoice Verification (MM-IV) and FIORI (MM-FIO-IV).
I would like to share with you my experience helping our customers with different topics from my area. For this blog, I would like to talk about Payment Block, how this works in MIRO, and how to manipulate the Header Blocking. Then, I invite you to keep here with me to learn a little more about this LIV functionality š
Why this Topic is so interesting?
IĀ“ve been working with some different cases related to the field ZLSPR, the Payment Block field in the MIRO Header Tab ā Payment. I noticed that this topic sometimes can be hard to be understood.
In many cases, the customers were expecting different behaviors, such as these:
- A behavior that is not standard, for example, blocking the Invoice in the header directly for a Company Code or a group of users without blocking in the item and without a user“s action blocking manually.
- Others were trying to manipulate this field INVFO-ZLSPR to be blocked in all scenarios, requiring that all Invoices needs to be released by MRBR.
- And scenarios where the Header“s blocking should happen due to the Payment Terms set in the Purchase Order.
- A different Blocking Reason /key than “Invoice Verification – R”
I going to start by providing a quick explanation about the Blocking functionality in MIRO, the standard fields that we have to block an Invoice, and finally, the options that we have to manipulate the MIRO“s header.
Invoice Blocking Fields
In MIRO we have three fields related to invoice blocking:
1. In the Tab Payment: Pmnt Block – field INVFO-ZLSPR which can be set manually by MIRO.
Payment Tab
2. In the PO line, the field DRSEG-SPGRP. This is set when the amount, quantity, etc, or other reason exceeds the value determined by the Tolerance Key in OMR6. In this example, the Tolerance Key used is āPPā ā Price Variance.
Blocking Reason = Price
3. Manual Blocking Reason field DRSEG-SPGRQ is set in the PO Item:
Manual Blocking Reason in the PO line Item
Standard Settings
The Tolerance keys configuration is done by transaction OMR6. About the tolerance keys available, you can check and read these blogs. They are an excellent source of information and examples from each Tolerance Key:
Invoice Tolerance Keys ā An Insight ā Part 1
Invoice Tolerance Keys ā An Insight ā Part 2
Common Issues in the MRBR
Sometimes when MRBR is executed, the results are not bringing all Invoices that the user is expecting. A common reason for this is that the MM authorization objects are not correctly configured. For further information, please read the SAP KBA 2103443 – MRBR does not return all the blocked invoices.
Another common issue when performing MRBR is the error “M8657 – The list of blocked invoices is incomplete”. For this issue I recommend reading and following the checks provided in the KBA 2103402 – MRBR shows message M8657 after the selection screen
Example with Tolerance Key “PP”
Okay, as mentioned, we will use the tolerance Key PP. To configure this tolerance and its value run tcode OMR6. Create or edit the existing one for the Company code and Tlky = PP. In my example, the upper limit is the absolute value 10,00:
Transaction OMR6
Once this is set, the system will check the price variance. In this case, this is a purchase order with no GR_BSD-IV flag set.Ā (For further information about the influence of this flag for Blocking functionality, please read this SAP KBA: Ā 2055131 – Invoice posted for more than the quantity delivered and GR-Bsd IV is set or not)
Posting the Invoice with more than EUR 10,00 which is expected by the Purchase Order, the warning message is displayed ā M8082 – Price too high (tolerance limit of 10,00 EUR exceeded):
Warning Message M8082 displayed due to tol.key PP
The message is a warning, so it is possible to post the Invoice which is going to be blocked. If it is required not to allow the user to post the Invoice, you can add the message M8082 in the OMRM and set this as an Error.
When a user post this Invoice which is blocked, the message confirms that Invoice was blocked:
A message confirming the blocking
This blocking information is available in the PO line item in the PO reference tab:
Blocking Reason = Price
And in the Header the Invoice is blocked with ā Invoice Verification ā R:
Checking in the FI accounting document we see the āRā option in the Vendor line:
Payment Block flag in the vendor line in the accounting document
To release this Invoice, the correct process isĀ carried out by MRBR. If the blocking reason is not valid anymore, then the release option is āRelease Automaticā, and if still exists then the option is āRelease Manuallyā. This is explained in this SAP KBA 1933251 – MRBR: determination logic for quantity variance.
Now, how I can handle a different Header Blocking during MIRO Posting?
You are seeking to set other payment reasons, or enter some logic to determine this, these are the options:
A) Manipulate the E_ZLSPR field in theĀ BADI MRM_PAYMENT_TERMS, so you can set this depending on your developed logic. For example, depending on the vendor, Company Code, user, etc.
This is an example just to illustrate what I mean:
Example of how to manipulate the field ZLSPR
B)Ā Set the field “Blocking Key” in the transaction codeĀ OBB8 for the Payment Terms. So, this way, you can control the Invoice Blocking in the Header Level in MIRO depending on the Payment Terms used.
Block Key in the Terms of Payment
C)Ā Set the field E_ZLSPR as “Blocked” by transaction SHD0, creating a custom layout to be used in MIRO. This way the field is set as blocked from when you start the transaction. However, bear in mind that if the Payment term is set in the OBB8 to be blocked (Block Key), this will overwrite the SHD0 settings.
I hope that this information helps you. See you in the next blog š
Really good content!
Good morning
I would like you to support me in this consultation, Currently at the time of generating the invoice from MIRO, the block "R" appears, but it is not for all invoices documents, we still have not found the reason for that block.
Is this blockage due to any specific tolerance? What is the tolerance that applies for this type of block?, could you give me an example of when the block "R" applies?
Best regards,
Mariann
Hi Mariann, Good day!
For sure some Tolerance Key is blocking the documents. Sometimes we believe that the scenario is the same, I mean, same invoice data for both ones, and one is blocked and the other is not.
I recommend you check in the Invoice the PO Reference Tab. In the line of the PO, scroll to the right side, At the end, you will see what is the reason for the blocking (Price, Quantity), which is shown in this blog. If it is due to the "Price", so you can check in the OMR6 the PP, and check the Tolerance settings.
Also, you can review the OMR6 settings. Check for the Company Code the Tole. Key set. One of them is blocking the Invoices.
And finally, you can debug this. Reproducing the issue in MIRO, and entering the PO, the FM MRM_TOLERANCE_CHECK will be called. Here you can see what the Tol.check that is blocking the document. This way you can adjust this by OMR6.
Here is an example of this analysis:
Tolerance Key AP is blocking the document
I hope this help you š
Kind Regards,
Rafael
Hi Rafael, Good day!
I'm going to check what you're telling me.
Thank you very much for your help!.
Kind Regards,
Mariann
Hi Rafael,
In this case, the invoice block is the quantity.
What tolerance applies to the quantities?
Kind, Regards,
Mariann
Hi Rafael,
thank you for your help!
In this case, the invoice block is the quantity, what tolerance applies?
Regards,
Mariann