MIRO in SAP: Invoice Verification Tcode
โก Smart Summary
Invoice Verification in SAP closes the Procure-to-Pay cycle by matching a vendor invoice against the purchase order and the goods receipt using transaction MIRO. This process validates quantities, prices, and tolerances before the document posts to Accounts Payable.

What is Invoice Verification in SAP?
Invoice Verification is the SAP MM process that completes the Procure-to-Pay cycle. After a purchase order is created and a goods receipt is posted, the vendor sends an invoice. Invoice Verification confirms that the invoice agrees with what was ordered and received, then posts the liability to Accounts Payable in SAP FI.
Key responsibilities of the Invoice Verification step:
- Match the invoice against the referenced purchase order and goods receipt.
- Apply tolerance checks for price, quantity, and schedule date.
- Record taxes, freight, and other planned and unplanned delivery costs.
- Update vendor sub-ledger and the GR/IR clearing account.
SAP performs verification through transaction MIRO (Logistics Invoice Verification). MIRO replaces the older MR01/MRHR transactions and is the standard entry point in ECC and S/4HANA today.
Three-Way Match in Invoice Verification
The three-way match is the control principle behind MIRO. Before SAP posts a vendor invoice, the system confirms that three documents agree:
- Purchase Order (PO): the contractual commitment created in transaction ME21N.
- Goods Receipt (GR): the proof of delivery posted in MIGO.
- Invoice: the document submitted by the vendor.
If price, quantity, or amount fall outside the tolerance keys configured in customising (transaction OMR6), MIRO either warns the user or blocks the invoice for payment. Blocked invoices stay in the system until released via MRBR, providing a clear audit trail and preventing duplicate or fraudulent payments.
How to Perform Invoice Verification in SAP MIRO
The procedure below walks through invoice verification in SAP using transaction MIRO.
Step 1) Enter the basic invoice data.
- Enter transaction code MIRO.
- Choose Invoice as the transaction type.
- Enter the invoice date.
- Enter the purchase order number.
- Press ENTER to retrieve PO data and goods receipts.
Step 2) On the Payment tab, choose R โ Invoice Verification as the payment block reason if you need to hold the document for review.
Step 3) Review system messages before posting.
- Click the Messages button.
- Read each message and correct any errors or warnings.
In the example below, a warning appears because the entered price is below the tolerance limit. The message is informational and does not stop the post โ it was triggered intentionally by changing the Item 1 price from 28.000 to 22.000 to demonstrate the behaviour.
When the price is corrected back to 28.000 for Item 1, the warning disappears. Note that the total amount entered is 30.400 (= 28.000 for Item 1 + 2.400 for Item 2).
Step 4) Click the Simulate button to preview the accounting document.
The simulation result is displayed below. Confirm that the debits and credits hit the expected GL accounts (vendor, GR/IR, tax).
Step 5) Save the document. A confirmation message appears at the bottom of the screen with the new invoice number.






