SAP
SAP T-Code MIRO: How to Post Invoices in Logistics Invoice Verification
Learn what SAP transaction code MIRO does, how invoice verification works, what to check before posting, and how MIRO relates to purchase orders, goods receipts, and accounting documents.
On this page
- What SAP T-Code MIRO Does
- MIRO in the Procure-to-Pay Process
- Key Data Entered in MIRO
- How Three-Way Matching Works
- A Practical MIRO Posting Workflow
- Common MIRO Errors and Checks
- MIRO Compared With Related SAP Transactions
- Controls and Best Practices
- How to Study MIRO Effectively
- Final Checklist for MIRO
- Frequently Asked Questions
SAP T-Code MIRO: A Practical Guide to Invoice Verification
SAP transaction code MIRO is used to enter and post supplier invoices in Logistics Invoice Verification. It is commonly used in the Materials Management purchasing process when an invoice must be checked against a purchase order, goods receipt, or service entry before accounting is completed.
MIRO is not simply a data-entry screen. It connects purchasing, inventory, invoice verification, and financial accounting. A correct posting depends on the purchasing document, receipt history, tax data, payment terms, quantities, and prices all being consistent.
What SAP T-Code MIRO Does
MIRO creates an invoice document from a supplier invoice. Depending on the process and configuration, SAP can compare the invoice with a purchase order and a goods receipt. This is often called three-way matching.
The transaction can also be used for related invoice verification activities, such as credit memos, subsequent debits, subsequent credits, and invoices entered with reference to a purchase order or goods receipt. The available options depend on the SAP release, configuration, authorizations, and business process.
A successful posting generally creates two linked records:
- A logistics invoice verification document containing the invoice information.
- An accounting document that records the financial impact in the relevant company code.
The document may be posted immediately or placed on payment block when configured tolerances are exceeded. A blocked invoice can require review and release before it is paid.
MIRO in the Procure-to-Pay Process
MIRO usually appears after a purchase order has been created and the supplier has delivered goods or services. The simplified process is:
- A buyer creates a purchase order.
- The organization receives goods or confirms a service.
- The supplier sends an invoice.
- An accounts payable or invoice verification user enters the invoice in MIRO.
- SAP compares relevant values and posts, blocks, or rejects the invoice.
- The invoice is cleared through the payment process after required approvals.
The goods receipt step is often recorded with MIGO or another receiving process. For a related overview, see SAP MIGO basic function. The exact sequence can differ when a purchase order uses invoice receipt before goods receipt, when service entry sheets are required, or when a company follows a non-PO invoice process.
Key Data Entered in MIRO
Before posting, collect the invoice information and confirm it against the purchasing documents. Typical fields include:
- Invoice date: The date printed on the supplier invoice.
- Posting date: The date used for the accounting period.
- Reference: The supplier invoice number or another identifying reference.
- Amount: The gross invoice amount, including or excluding tax according to the screen and process.
- Currency: The invoice currency and any relevant exchange-rate information.
- Tax code: The applicable tax treatment for the transaction.
- Purchase order or reference document: The document used to retrieve items, quantities, and prices.
Users should distinguish the invoice date from the posting date. The invoice date describes the supplier document, while the posting date determines the accounting period in which SAP records the transaction. Period controls may prevent posting to a closed period.
The reference field is also important for duplicate prevention and later research. Enter the supplier’s invoice number consistently and follow local rules for formatting, leading zeros, and special characters.
How Three-Way Matching Works
Three-way matching compares three business records:
- The purchase order establishes what was ordered and at what price.
- The goods receipt confirms what was received.
- The supplier invoice states what the supplier is charging.
When quantity and value differences remain within configured tolerances, SAP may allow the invoice to post without a payment block. When a difference exceeds tolerance, the system may block the invoice or require an exception process.
A mismatch does not always mean the invoice is incorrect. Common explanations include freight charges, partial deliveries, price changes, unplanned delivery costs, a missing goods receipt, or an invoice arriving before the receipt is recorded. The correct response is to investigate the source document rather than simply changing values to force a match.
A Practical MIRO Posting Workflow
Use the following workflow as a study and process guide. Your organization’s screen layout, field requirements, and approval rules may differ.
- Open MIRO and select the appropriate transaction type, such as an invoice or credit memo.
- Enter the invoice date, posting date, reference, amount, currency, and tax information.
- Choose the relevant reference category, commonly a purchase order or goods receipt.
- Enter the reference document number and review the proposed line items.
- Confirm quantities, prices, tax codes, account assignments, and delivery costs.
- Review the balance and investigate any red or warning messages.
- Use the simulation or check function when available to inspect the expected accounting result.
- Post the document only after the invoice and reference data agree.
- Record the generated document numbers and retain the supplier invoice according to local controls.
A simulation can reveal an incorrect tax code, an unbalanced amount, an invalid account assignment, or a period issue before the document is posted. It is a useful control, but it does not replace review of the original invoice and supporting documents.
Common MIRO Errors and Checks
Invoice amount does not balance
Check whether the entered gross amount, tax amount, delivery costs, and selected line items agree with the supplier invoice. Rounding differences can also affect the balance.
Quantity or price variance
Compare the invoice with the purchase order and goods receipt. Determine whether the difference comes from a legitimate price change, a partial receipt, a missing receipt, or an incorrect invoice.
Missing goods receipt
Confirm whether the purchase order requires a goods receipt before invoice posting. If the goods have arrived, verify that the receipt was recorded for the correct purchase order and item.
Posting period is closed
Check the proposed posting date and the company’s period status. Do not change dates arbitrarily; use the approved period-end procedure.
Tax code or currency problem
Review the supplier invoice, company code rules, tax jurisdiction, and currency. Escalate uncertain tax treatment to the responsible finance or tax team.
Invoice is blocked for payment
A payment block may result from quantity, price, date, or other tolerance differences. Identify the blocking reason, document the resolution, and follow the organization’s release controls.
MIRO Compared With Related SAP Transactions
MIRO is focused on invoice verification, while other transactions support different stages of the process.
| Transaction or process | Typical purpose | Relationship to MIRO |
|---|---|---|
| MIGO | Goods movements, including goods receipts | The receipt history may be used for invoice matching |
| MIRO | Logistics invoice verification | Creates the invoice verification and accounting impact |
| Purchase order display | Review ordered quantities, prices, and terms | Provides reference data for invoice verification |
| Accounting document display | Review the financial document | Helps trace the posting created by MIRO |
| Invoice release process | Approve blocked invoices | May be required before payment |
For a broader reference, use this SAP transaction code list. Transaction availability and exact behavior can vary between SAP ERP and SAP S/4HANA systems, so use your system documentation and role-specific guidance when validating a procedure.
Controls and Best Practices
Good MIRO processing combines accurate entry with segregation of duties and document traceability.
- Match the invoice to the correct purchase order and company code.
- Check that the supplier invoice number is entered consistently.
- Review tax, currency, quantity, and price before posting.
- Confirm that duplicate invoices are not already posted.
- Use attachments or document references when the system supports them.
- Investigate blocks instead of bypassing established tolerances.
- Keep invoice verification and payment approval responsibilities appropriately separated.
- Record the logistics and accounting document numbers for audit follow-up.
Automated workflows can improve efficiency, but automation does not remove the need to validate exceptions. A clean process makes it easier to explain why an invoice was posted, blocked, changed, or released.
How to Study MIRO Effectively
To understand MIRO, study it as part of the integrated procure-to-pay flow rather than as an isolated transaction code. Start with the relationship between the purchase order, goods receipt, invoice receipt, and accounting document.
A useful practice sequence is:
- Read the purchase order and identify its items, quantities, prices, tax indicators, and receipt requirements.
- Review the goods receipt history and note partial or over-deliveries.
- Compare a sample supplier invoice with the purchasing documents.
- Predict which values MIRO should propose.
- Simulate the invoice and explain any variance messages.
- Trace the resulting logistics and accounting documents.
- Repeat the exercise with a credit memo, partial invoice, or blocked invoice scenario in a permitted training system.
Use a sandbox or training client and follow your organization’s authorization rules. Do not experiment with live financial postings unless the responsible system owner has approved the activity.
Final Checklist for MIRO
Before selecting Post, confirm:
- The transaction type is correct.
- The company code and reference document are correct.
- Invoice date, posting date, reference, amount, and currency agree with the source document.
- The selected quantity and price are supported by the purchase order and receipt history.
- Tax and account assignment information is appropriate.
- The balance is correct and no unexplained messages remain.
- Any block or variance has been reviewed according to procedure.
- The resulting document numbers can be retained for audit and reconciliation.
MIRO is best understood as the invoice-verification point where purchasing, receiving, and accounting data meet. Careful document matching and disciplined exception handling are more important than memorizing screen fields.
Frequently Asked Questions
In practice: What is SAP T-Code MIRO?
MIRO is the SAP transaction commonly used to enter and post supplier invoices through Logistics Invoice Verification, often with reference to a purchase order or goods receipt.
In practice: Is MIRO used for goods receipts?
No. MIRO is used for invoice verification. Goods receipts are normally recorded through a goods movement process such as MIGO, depending on the organization’s configuration.
In practice: What happens when an MIRO invoice is blocked?
The invoice may remain posted but blocked for payment because a configured tolerance or validation rule was exceeded. The responsible team must investigate and release or resolve it according to company procedure.
In practice: Can MIRO post a non-PO invoice?
The available invoice types and non-PO options depend on configuration, roles, and the organization’s process. Some non-PO invoices are handled through other applications or accounting transactions.
In practice: What should I check before posting in MIRO?
Check the reference document, invoice and posting dates, amount, currency, tax code, quantities, prices, receipt history, balance, and any system messages. Also verify that the invoice is not a duplicate.