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
😊