How to handle the INVFO-ZLSPR payment block field in MIRO
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.
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.
3. Manual Blocking Reason field DRSEG-SPGRQ is set in the PO Item:
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:
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:
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):
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:
This blocking information is available in the PO line item in the PO reference tab:
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:
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:
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.
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 😊