VoiSAP — SAP MM Error Guide

SAP MMPV "Posting Only Possible
in Periods X and Y":
What It Means and the Exact Fix

The most predictable error in SAP — it appears at the start of every month when someone forgets to advance the MM posting period. This guide explains exactly what the error means in plain English, how to fix it in under 5 minutes using MMPV, how to back-date a posting using MMRV, and how to set up a process so it never catches your team off guard again.

Error Explained
MMPV · MMRV Fix
5-Minute Fix
Monthly Prevention
S/4HANA 2026
5min
To Fix
2
Transactions
21
FAQ Answers
0
Config Changes
📖 13 min read
S/4HANA + ECC
Call Us
+1 416-569-4606
Email Us
contact@voisap.com
SAP month-end close calendar — finance team running MMPV to advance the MM posting period at the start of a new month
The MMPV error is the most predictable error in SAP — it appears at the start of almost every month because the MM posting period was not advanced. The fix takes less than 5 minutes. The challenge is not the fix; it is building a process so the error never appears in the first place.

Quick Answer — SAP MMPV Period Close Error

  • The error means the MM posting period has not been advanced to the current month. SAP MM has its own calendar that controls which months are open for inventory postings. Someone needs to advance it at the start of each month using transaction MMPV.
  • The fix: run transaction MMPV. Enter your company code, enter the current open period (the month you want to close), press Execute (F8). SAP automatically opens the next month. Done — 5 minutes.
  • Need to post in a prior period? Use MMRV to temporarily allow previous-period posting. Post your document, then immediately disable MMRV again.
  • This is NOT a configuration error. No transports, no Basis support, no SPRO changes needed. It is an operational step that must happen every month.
  • Identical in ECC and S/4HANA. Same transactions, same MARV table, same fix.

Exact error messages you will see:
"Posting only possible in periods 07 2026 and 06 2026"
"In company code XXXX, only periods 07 2026 and 06 2026 are allowed"
"Enter a document date in the allowed period" (in MIRO)
"Period &1/&2 is not open for account type &3 and G/L account &4" (when FI period is also involved)

MMPV
Advance Period
MMRV
Allow Prior Period
OMSY
Check Period
OB52
FI Period (Separate)
MARV
Period Table
Key Takeaways
1

MMPV is a one-way operation. Once you advance the period, you cannot reverse it through standard transactions. Always check the period shown on the MMPV screen before pressing Execute.

2

MM period and FI period are separate controls. Running MMPV does not open the FI period (OB52). Both must be open for a goods receipt to create both a material document and an accounting document successfully.

3

MMRV is a temporary setting, not a permanent fix. Enable it, post your backdated document, then immediately disable it. Leaving MMRV permanently enabled defeats the purpose of period control and creates audit risk.

4

Use OMSY to check — not MMPV. OMSY is read-only and safe. Opening MMPV and pressing Execute immediately closes the current period. When you only want to check, use OMSY.

5

Automate it. Schedule background job RMMMPERI via SM36 to run on the first working day of each month. Eliminate the human error of forgetting the manual step entirely.

Background

How SAP MM Posting Periods Work — And Why They Need Advancing

SAP organises time into fiscal periods — usually matching calendar months. Every time you post a document in SAP (a goods receipt, a goods issue, an invoice), SAP checks: is the posting date within an open period? If the period is closed, the posting is blocked.

SAP MM (Materials Management) has its own period control that is completely separate from Financial Accounting (FI). Think of it as two gatekeepers. The MM gatekeeper controls inventory postings — goods movements in MIGO, invoice verification in MIRO. The FI gatekeeper (controlled in OB52) controls accounting postings — journal entries, payments, asset transactions. Both gatekeepers must wave you through for a goods receipt to post successfully, because it creates both a material document (MM side) and an accounting document (FI side).

Plain English. Imagine the MM period like a till at a shop that closes at 6pm. Once it is closed for the day, no more transactions go through — even if the bank (FI) is still open until midnight. At the start of each new day (month), someone has to open the till again. MMPV is the key that opens the till. Nobody does it automatically — someone has to run it. When they forget, the till stays locked and every goods receipt, goods issue, and MIRO invoice gets blocked with "posting only possible in periods X and Y."

SAP period control diagram — MM posting period controlled by MMPV separate from FI posting period controlled by OB52
SAP has two separate period controls: the MM posting period (MMPV) covers inventory transactions, and the FI posting period (OB52) covers accounting transactions. A goods receipt creates both a material document and an accounting document — both periods must be open for the posting to succeed.

MM Period vs FI Period — Know the Difference

MM Posting Period
  • Controlled by: MMPV (advance) / MMRV (backdate)
  • View current period: OMSY
  • Stored in: MARV table
  • Scope: company code level (all plants)
  • Affects: MIGO, MIRO, MI07 (physical inventory)
  • Advanced: manually at start of each month
  • Irreversible: yes — cannot be undone in standard SAP
FI Posting Period
  • Controlled by: OB52 (SPRO config)
  • View: OB52 directly
  • Stored in: T001B table
  • Scope: company code + account type
  • Affects: FB50, F-02, vendor/customer payments
  • Advanced: by finance team during month-end
  • Reversible: yes — can open/close periods freely in OB52

Common confusion. Running MMPV does NOT open the FI period. If you run MMPV for August but OB52 still has July open for the relevant account types (K for vendors, S for G/L), MIRO invoice postings will still fail with a different error about the FI period. Check both OMSY (MM period) and OB52 (FI period) when troubleshooting posting errors at month-start.

The Fix

How to Advance the MM Period — Step by Step in MMPV

This is a 5-minute fix. No configuration changes, no transports, no Basis support needed. Just MMPV.

1
Check the current period first — run OMSY
Before touching MMPV, go to OMSY and confirm which period is currently open for your company code. OMSY is read-only — safe to check without risk of advancing anything. Note the current open period (e.g. period 07 / 2026). This is what you will enter in MMPV to close it and open period 08.
2
Open transaction MMPV
Go to transaction MMPV. The screen shows two fields: Company Code and Period/Fiscal Year to be closed. Enter your company code (e.g. CA01). Enter the period and year you want to close — this is the current open period, not the new one you want to open. For example, to open August 2026, you enter period 07 / 2026 (closing July opens August automatically).
3
Verify — then press Execute (F8)
Check the period one more time before pressing Execute. MMPV is irreversible. If you enter period 08 when July is still open (accidentally skipping July's close), you will close both July and August simultaneously, leaving September as the open period — which is almost certainly wrong. Confirm the number is correct. Then press Execute (F8) or click the Execute button. The system will show a confirmation: "Posting period X closed, period X+1 opened."
4
Confirm in OMSY
Go back to OMSY. The current period for your company code should now show the new month (e.g. period 08 / 2026). This confirms MMPV ran successfully. If you have multiple company codes, check each one — they each have independent MM periods and each needs its own MMPV run.
5
Retry the original posting in MIGO or MIRO
Go back to the MIGO goods movement or MIRO invoice that was blocked. The posting date should now fall within the open period. Post. The error should no longer appear. If it still appears, check whether the FI period is also open in OB52 for the relevant account type — this is a separate setting that MMPV does not control.
SAP MMPV transaction screen — company code and period to close fields, showing how to advance the MM posting period
MMPV shows two fields: company code and the period to close. You enter the period you want to CLOSE (not open). Closing July opens August automatically. The one critical rule: check the period number before pressing Execute — this operation cannot be undone through standard SAP transactions.
Key Transactions for MM Period Management
TransactionWhat It DoesWhen to Use
OMSYDisplay current open MM period for all company codes — read-only, safe to checkCheck before MMPV
MMPVAdvance (close) the MM posting period — irreversible, opens the next month automaticallyFirst of month
MMRVAllow posting in the previous MM period temporarily — enable, post, disable immediatelyLate/backdated posting
OB52Control FI posting periods — separate from MM, managed by the finance teamFI period errors
SM36Schedule background jobs — use to automate RMMMPERI for monthly period advanceAutomation setup
CDHDRChange document history — filter by MMPERIOD to see who ran MMPV and whenAudit trail
Backdating

How to Post in a Prior Period — Using MMRV

Sometimes MMPV has already been run — the MM period is now August — but you have a goods receipt or invoice that should have been posted in July. MMPV cannot be reversed, but MMRV lets you temporarily post in the prior period.

Here is how it works in plain terms: SAP normally allows postings in the current open period and one period back. So when August is open, July postings are still allowed by default. But if July has already fully closed (i.e. the system considers the prior period window expired), MMRV manually re-opens that prior period access.

1
Go to MMRV and enable prior period posting
Go to transaction MMRV. Enter your company code. Tick the checkbox "Allow Posting to Previous MM Period". Press Save. This setting takes effect immediately — no transport needed.
2
Post your backdated document in MIGO or MIRO
Go to MIGO or MIRO and post the document with a posting date in the prior period (e.g. July 31, 2026 if you need it in July). SAP will now accept the prior-period posting date. Complete and save the document.
3
Return to MMRV and immediately untick the setting
Go back to MMRV, untick "Allow Posting to Previous MM Period", and save. This restores normal period restrictions. Do not leave MMRV enabled — it is a temporary permission, not a permanent configuration. Leaving it on means anyone on the system can post in the prior period indefinitely, which defeats the control.

MMRV only goes back one period. If you need to post in a period two or more months back (e.g. posting in June when August is the current open period), MMRV is not sufficient. You would need Basis support to reset the MARV table directly — which is a database-level change that requires formal approval and careful testing. This is rarely approved in production systems. The lesson: do not let late postings accumulate across multiple months.

Prevention

How to Stop the MMPV Error from Happening Every Month

The MMPV error is entirely preventable. It only exists because no one ran MMPV at the start of the month. Here are three ways to eliminate it permanently.

SAP background job scheduling — SM36 transaction scheduling RMMMPERI for automated monthly MM period advance
The most reliable way to prevent the MMPV error is to automate it entirely using SM36. Schedule the program RMMMPERI to run at midnight on the first day of each month. No human remembers — no error appears. Test the variant in QA first to confirm the correct company code and period parameters before scheduling in production.

Option 1 — Automate with SM36 (best practice)

Go to SM36 (Schedule Background Job). Create a new job. Add a step: ABAP program RMMMPERI. Create a variant specifying the company code. Schedule the job to run on the first day of each month at midnight (or 06:00 before business hours). Test the variant in your QA system first. Once confirmed, activate in production. From that point, the period advances automatically with zero human intervention.

Option 2 — Month-end checklist (manual but controlled)

Designate a named person (the MM lead, the SAP system admin, or the finance operations manager) who owns the MMPV step. Add it as item 1 on the month-end close checklist with a due date of "business day 1 of new month, before 09:00." Use a simple shared checklist tool — even a recurring calendar reminder works. The key is that it is owned by one person, not assumed by everyone.

Option 3 — Check OMSY daily during month-start week

During the first week of each month, have the helpdesk or SAP support team check OMSY daily. If the current period still shows the prior month after the first working day, trigger MMPV immediately. This is a safety net rather than a primary prevention — but it catches the error before users start hitting it.

Audit trail tip. After running MMPV each month, check CDHDR (Change Document Header) with object class MMPERIOD to confirm the change was recorded. This gives you an auditable log of who advanced the period, when, and for which company code — useful for SOX compliance and internal audit reviews.

FAQ

SAP MMPV Period Close Error — 21 Questions Answered

This error means the Materials Management (MM) posting period has not been advanced to the current month. SAP MM has its own posting calendar — separate from Financial Accounting — that must be manually advanced at the start of each month using transaction MMPV. When someone tries to post a goods receipt, goods issue, or MIRO invoice in August but the MM period is still set to July, SAP blocks the posting and shows "posting only possible in periods 07 2026 and 06 2026." The fix is to run MMPV to advance the period — a 5-minute operation.

MMPV (Close Periods for Materials Management) advances the MM posting period from one month to the next. When you run it to close period 07 (July), SAP automatically opens period 08 (August). It is a one-way, irreversible operation — once a period is closed, it cannot be reopened through standard transactions. Run MMPV at the start of each month as part of the month-end close. The underlying ABAP program is RMMMPERI, which can be scheduled automatically as a background job via SM36.

MMRV (Allow Posting to Previous Period) temporarily allows a goods movement or invoice posting in the prior MM period after MMPV has already advanced to the next month. Use it for late postings — a July goods receipt that was missed and must be posted after August opened. Process: tick "Allow Posting to Previous MM Period" in MMRV, post the document with a prior-period date, then immediately untick the setting. Never leave MMRV permanently enabled — it defeats period control and creates audit risk. MMRV only goes back one period; posting two or more months back requires Basis support.

Two separate controls. The MM posting period (MMPV, stored in MARV) covers inventory postings — goods receipts, goods issues, physical inventory, MIRO invoice verification. The FI posting period (OB52, stored in T001B) covers accounting postings — journal entries, vendor payments, asset transactions. A goods receipt creates both a material document (MM) and an accounting document (FI). Both periods must be open for the posting to succeed. Running MMPV does not open the FI period, and vice versa. Always check both when troubleshooting posting errors at month-start.

No — MMPV operates at company code level and advances the MM period for all plants within that company code simultaneously. You cannot have plant 1010 on period 08 and plant 1020 on period 07 within the same company code. If your SAP system has multiple company codes (e.g. a Canadian entity CA01 and a US entity US01 as separate company codes), each has its own MM period and you must run MMPV separately for each one.

MMPV is irreversible through standard transactions. If you advance to the wrong period (e.g. close period 08 when July is still open, or jump ahead by two months), you need to raise a request with your SAP Basis team. They can use backend tools to reset the MARV table to the correct period, but this is a database-level change requiring system access and formal approval. It is possible but not fast. This is why you always check the period shown on the MMPV screen carefully before pressing Execute — the cost of a mistake is significant.

Use OMSY (Display Current Period for Material Management) — it is read-only and shows the current open MM period for all company codes without any risk of advancing it. Alternatively, look at the MMPV screen and note the period displayed before pressing anything. Do not use MMPV just to check — pressing Execute on MMPV immediately closes the displayed period, which is the opposite of what you want when checking.

Invoice verification in MIRO creates a material document and a financial document simultaneously. The material document side checks the MM posting period — just like a goods receipt. So if the MM period has not been advanced, MIRO invoice postings for the new month fail with the same "posting only possible in periods X and Y" message. The fix is identical: run MMPV. After advancing the MM period, both MIGO and MIRO postings for the current month will succeed (assuming the FI period is also open in OB52).

Yes — schedule the ABAP program RMMMPERI as a background job using SM36. Create a job with a step of type ABAP program, enter RMMMPERI, create a variant specifying the company code, and schedule it to run on the first day of each month at midnight or before business hours. Test the variant in QA first to confirm correct parameters. Once active in production, the period advances automatically with zero human intervention and the MMPV error disappears permanently. This is the recommended approach for any live production system.

The MMPV error directly affects all MM-related postings: goods receipts (MIGO 101), goods issues (201, 261), physical inventory (MI07), and MIRO invoice verification. Direct FI postings — journal entries in FB50, bank postings — are not affected by the MM period; they are controlled separately by OB52. However, because goods receipts create accounting documents simultaneously, a closed MM period effectively blocks the entire goods receipt process even though the FI side would be fine on its own.

The ABAP program behind MMPV is RMMMPERI. To schedule it: go to SM36, create a new job, add a step of type ABAP program, enter RMMMPERI, and create or assign a variant that specifies the company code and the period handling logic. Schedule with a monthly start condition. Always test the variant in your development or QA system before activating in production — confirm the program closes the correct period and produces no errors before the scheduled run goes live.

SAP MM always keeps two periods simultaneously available for posting: the current open period and one prior period. When the current period is August (08), July (07) remains open for a short overlap window to handle late postings. The message "posting only possible in periods 07 2026 and 06 2026" tells you the system is currently set to July — August is not yet open. The two-period overlap is the standard design, not an error. The number of prior periods allowed (default: 1) is configurable in OMSY.

No — within a single company code, all plants share the same MM posting period. MMPV operates at company code level and advances the period for all plants simultaneously. If you need plants in different regions to have different close dates, the standard SAP approach is to use separate company codes for each entity. You cannot set plant 1010 to period 08 and plant 1020 to period 07 within the same company code.

OMSY (Display Current Period for Material Management) is a read-only transaction that shows the current open MM period for all company codes in a single list. You cannot advance the period from OMSY — it is display only. Use OMSY when you want to check the current period status without any risk of accidentally advancing it. It is particularly useful for SAP administrators who monitor period status across multiple company codes before giving users the go-ahead to post.

Typical sequence: (1) Complete all goods movements and MIRO invoices for the closing month. (2) Post physical inventory differences (MI07). (3) Run GR/IR clearing (MR11 or F.13) to clear unmatched goods receipt and invoice lines. (4) Run MMPV to advance the MM period — this is the hard gate. (5) Run material valuation reports (MB5L). (6) Advance the FI period in OB52. Once MMPV is run (step 4), no new goods movements or MIRO postings can be made in the closed month without using MMRV.

Yes — using MMRV. Enable "Allow Posting to Previous MM Period" in MMRV, post your goods receipt in MIGO with a prior-period posting date, then immediately disable MMRV. This works for the one period immediately prior to the current open period. If you need to post two or more months back (e.g. post in June when August is current), MMRV is not sufficient — you need Basis support to reset the period, which is a backend database operation not available through standard transactions.

The current MM posting period is stored in the MARV table (Material Management: Current Period of a Company Code). MARV holds one record per company code with the current open period (field POPER) and fiscal year (field BDATJ). When MMPV is run, it updates this record. You can check the current period via SE16N by querying MARV and filtering by company code. In an emergency where the Basis team needs to correct an accidentally advanced period, they update MARV directly at the database level — a last-resort operation requiring careful authorisation.

The "posting only possible in periods X and Y" error is not user-specific — the MM period applies to everyone in that company code. If it appears for some users but not others, the most common explanation is different posting dates. A user entering a posting date of July 31 will succeed if July is still within the allowed prior-period window. A user entering August 1 will fail if August is not yet open. Check the posting date field in the MIGO or MIRO document — it must fall within one of the two currently open MM periods. Changing the date usually resolves it for the individual posting; running MMPV resolves it for everyone.

Two ways. Fast check: open OMSY and confirm the current period matches the current calendar month. If it shows the previous month, MMPV has not been run yet. Audit check: go to CDHDR (Change Document Header), filter by object class MMPERIOD, and check the change log — it shows who ran MMPV, on which date, and for which company code. CDHDR is the reliable audit trail; OMSY gives you the current status.

Yes — MMPV, MMRV, OMSY, and the underlying MARV table are identical in SAP ECC and S/4HANA. The period advance logic and the two-period overlap window are unchanged. In S/4HANA, MMPV may appear as a Fiori tile in the launchpad rather than a SAP GUI transaction screen, but the function and parameters are the same. Background job scheduling via SM36 and RMMMPERI also works identically. No relearning is needed when migrating from ECC to S/4HANA for this process.

Yes — VoiSAP's SAP MM training covers the full procure-to-pay cycle including month-end activities: MMPV, MMRV, GR/IR clearing (MR11), physical inventory (MI01, MI04, MI07), and account determination for goods movements (OBYC) — all on a live SAP S/4HANA system. Book a free demo to discuss your background and the fastest path to your first SAP MM role.

Learn SAP MM Month-End Close —
On a Real System, Not a Manual.

Book a free demo class with Gourav. See MMPV, MIGO, and MIRO working on a live SAP S/4HANA system, ask your questions, and decide if VoiSAP's training is right for you.

✅ Thank you! Gourav will be in touch within one business day.