← All articles
MMMMMIROinvoice6 July 2026By Automate & Graduate

SAP MIRO Invoice Verification Tutorial

Master SAP MIRO invoice verification with this practical step-by-step guide. Learn how to match invoices, manage discrepancies, and complete the three-way match process efficiently.

What is SAP MIRO and Why Should You Care?

If you're working in accounts payable or procurement, SAP MIRO invoice verification tutorial content will save you weeks of manual fumbling. MIRO is the transaction code for Logistics Invoice Verification in SAP ERP, and it's where the magic of invoice matching happens. Think of it as the checkpoint where your vendor's invoice meets your purchase order and goods receipt—and everything either lines up perfectly or you're hunting for the discrepancy.

For early-career consultants and SAP learners, MIRO can feel overwhelming at first. There are blocking reasons, tolerance groups, and three-way reconciliation to navigate. But once you understand the flow, you'll realise it's actually one of the most logical processes in SAP. Let's walk through it together.

The Three-Way Match: Foundation of MIRO Invoice Verification

Before you open MIRO, you need to understand what you're matching. The three-way match is the cornerstone of invoice verification:

  • Purchase Order (PO): Your promise to buy something at a set price and quantity (created in transaction ME21)
  • Goods Receipt (GR): Confirmation that you actually received what you ordered (created in transaction MIGO)
  • Invoice: The vendor's bill asking you to pay (matched in MIRO)

If all three documents match on quantity and price, your invoice sails through. If not, MIRO flags it, and you investigate. This is called logistics invoice verification, and it's your safety net against overpayment and fraud.

Getting Started: Accessing MIRO and Basic Navigation

Open transaction MIRO in your SAP client. You'll see a screen with several tabs and sections. Here's what you're looking at:

  • Invoice header: Where you enter the vendor invoice number, invoice date, and amount
  • PO reference: The system either auto-fills this or you search for it
  • Item detail: Line-by-line matching between your PO/GR and the invoice
  • Tax information: Captured from the Customizing table TCOM (Tax Commodity) or manually entered

The key table underpinning MIRO is RBKP (Invoice Header) and RSEG (Invoice Item). When you save an invoice in MIRO, these tables are populated, and your financial accounting (FI) and materials management (MM) modules update automatically.

Step-by-Step: Processing an Invoice in MIRO

Let's walk through a typical invoice verification scenario. Assume you've received a vendor invoice for office supplies.

  1. Open MIRO. Navigate via SAP menu: Logistics → Materials Management → Logistics Invoice Verification → MIRO, or simply type /nMIRO in the command field.
  2. Enter the invoice header details. In the first section:
    • Enter the Vendor invoice number (field MIRO_INVOICE_NUM in the UI)
    • Enter the Invoice date
    • Select the Document type (usually Vendor invoice, document type RE)
    • Enter the Gross invoice amount
  3. Assign the purchase order. In the "PO Reference" section, either:
    • Enter the PO number directly if you know it, or
    • Use the search icon to find it by vendor, date range, or amount range
    Once you select a PO, the system pulls in the line items and any matching goods receipts. This is the automated part—SAP does the heavy lifting here.
  4. Review the item details. For each PO line:
    • Check the Invoiced quantity matches your GR quantity
    • Check the Unit price matches your PO price
    • Review the tax code and tax amount (the system often defaults these, but verify)
    • If there's a discrepancy (e.g., the vendor invoiced for 10 units but you received 9), SAP flags this—you'll see a message or blocking reason
  5. Handle blocking reasons (if any). Blocking reasons are SAP's way of saying "Hold on—something doesn't match." Common ones include:
    • Quantity discrepancy: Invoiced quantity ≠ GR quantity
    • Price variance: Invoiced unit price ≠ PO price beyond tolerance
    • Tax variance: Tax amount doesn't match expected tax
    Your organisation's tolerance rules (maintained in customizing under Accounts Payable → Invoice Verification → Tolerance Settings) determine whether the discrepancy is small enough to ignore or large enough to block posting. If it's blocked, you need to either correct the invoice details or get authorisation to override.
  6. Post the invoice. Click Post (Ctrl + S or the post button). If there are no blocking reasons, the invoice posts immediately. SAP creates:
    • An entry in table RBKP (Invoice Header)
    • Line items in table RSEG (Invoice Line Items)
    • Accounting entries in FI (your GL accounts update for AP liability and expense/asset accounts)

Common MIRO Blocking Reasons and How to Resolve Them

Blocking reasons are frustrating but essential. Here's how to handle the most common ones:

Quantity Variance

You ordered 100 units, received 100, but the vendor invoiced for 105. SAP blocks it if your tolerance is set strictly. Your options: Ask the vendor for a corrected invoice, or adjust the invoiced quantity in MIRO to match the GR (if approved). To adjust, click into the item line and modify the Invoiced quantity field (MIRO_ITEM_QTY).

Price Variance

The invoice unit price doesn't match the PO. This happens when vendors make mistakes or PO prices change. Verify with your vendor or procurement team, then adjust the Unit price field in MIRO if approved.

Tax Issues

Tax variances are common with international vendors. Check the Tax code (table KOMK) in the invoice. If incorrect, update it in MIRO. If the tax amount in the invoice doesn't match SAP's calculation, review the tax configuration with your tax/FI team.

Advanced Tips for MIRO Mastery

Batch Invoice Entry: If you have multiple invoices from the same vendor with the same PO, use the MIRO mass processing feature (transaction MRRO) to enter them faster. This is a game-changer when you're processing high volumes.

Reference Documents: Before posting, click the Log button to see any informational messages or warnings. These won't block posting, but they alert you to potential issues (e.g., "Invoice date is in the past").

Hold Documents: If you need to pause an invoice without posting (e.g., waiting for clarification from the vendor), save it as a hold instead of posting. You can return to it later via transaction MIRO or the Document overview in the Accounts Payable module.

Parking Invoices: SAP lets you park incomplete invoices. A parked invoice isn't posted but is saved for editing later. Use this when you're missing information. Return to parked invoices via transaction MIR4.

Practice and Build Confidence

MIRO invoice verification is a hands-on skill. The best way to master it is to work through real scenarios—whether in your SAP system or a sandbox environment. Explore our SAP modules at Automate & Graduate where you can practise MIRO in a safe learning environment and build the confidence you need.

The key takeaway? MIRO isn't complicated—it's just systematic matching. Once you've processed 10 or 20 invoices, the flow becomes second nature. You'll spot discrepancies faster, handle blocking reasons confidently, and move invoices through the system like a pro.

Ready to deepen your SAP skills? Visit Automate & Graduate to explore more procure-to-pay tutorials and hands-on learning resources designed for professionals like you.

Practice what you've learned

Automate & Graduate has games, modules, AI tutor, and daily challenges to make SAP stick.

Try it free →
SAP MIRO Invoice Verification Tutorial — Automate & Graduate | Automate & Graduate