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.

  • ๐Ÿงพ Core Transaction: MIRO is the standard SAP MM transaction for entering and posting vendor invoices.
  • ๐Ÿ” Three-Way Match: SAP cross-checks purchase order, goods receipt, and invoice before allowing the post.
  • โš ๏ธ Tolerance Messages: Price or quantity deviations trigger warning or error messages that block bad postings.
  • ๐Ÿงช Simulate First: Always click Simulate to preview the accounting document before saving.
  • ๐Ÿ’ฐ Financial Impact: A posted MIRO document creates an open item in Accounts Payable and reverses the GR/IR clearing account.
  • ๐Ÿค– Automation: AI and OCR tools can pre-fill MIRO fields directly from PDF or e-invoice files.

How to Perform Invoice Verification in SAP

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:

  1. Purchase Order (PO): the contractual commitment created in transaction ME21N.
  2. Goods Receipt (GR): the proof of delivery posted in MIGO.
  3. 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.

  1. Enter transaction code MIRO.
  2. Choose Invoice as the transaction type.
  3. Enter the invoice date.
  4. Enter the purchase order number.
  5. Press ENTER to retrieve PO data and goods receipts.

MIRO initial entry screen with invoice header data

Step 2) On the Payment tab, choose R โ€“ Invoice Verification as the payment block reason if you need to hold the document for review.

MIRO Payment tab with R - Invoice Verification block

Step 3) Review system messages before posting.

  1. Click the Messages button.
  2. 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.

MIRO warning message about price below tolerance limit

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).

MIRO item screen with corrected price and balance

Step 4) Click the Simulate button to preview the accounting document.

MIRO Simulate button preview

The simulation result is displayed below. Confirm that the debits and credits hit the expected GL accounts (vendor, GR/IR, tax).

MIRO simulation results showing posting preview

Step 5) Save the document. A confirmation message appears at the bottom of the screen with the new invoice number.

MIRO save confirmation message

FAQs

MIRO posts an invoice directly, while MIR7 parks the invoice for later review and posting. Use MIR7 when invoice data is incomplete or when approval is required before the document hits the ledger.

Use transaction MRBR. Filter by blocking reason, select the invoices that have been validated, and click Release. Released invoices then flow into the regular payment proposal in F110.

Tolerance limits are maintained in customising via transaction OMR6 for each tolerance key (PP, DQ, BD, etc.) by company code. They define the absolute and percentage deviations allowed for price, quantity, and amount.

Yes. AI-powered solutions such as SAP Business AI and ICC (Invoice Capture Center) extract data from PDF or e-invoices, match against PO and GR, and feed MIRO automatically. Exceptions are routed to humans, reducing manual work significantly.

Generative AI agents summarise blocked invoice reasons, suggest the correct tolerance group, and draft vendor communications. SAP Joule can guide users through MIRO errors in natural language, shortening resolution time for AP teams.

Summarize this post with: