SAP MM Approval Process: Release Strategies, Workflow and Fiori
sap mm approval process
Also searched as
- purchase order approval process in sap
- purchase requisition release strategy sap
- sap po approval workflow fiori
- how to configure release strategy for purchase order
Short answer
SAP MM approval is built on release strategies: rules that block a purchase requisition (PR) or purchase order (PO) until the right people release it with release codes. Strategies are configured with classification characteristics and can be released in ME28 or ME29N, through workflow, or in Fiori approval apps. In S/4HANA there are also flexible workflows for PRs.
Applies to: SAP ECC 6.0 and S/4HANA on-premise. Fiori app names vary by release. The classic release procedure is identical in both.
How to configure a PO release strategy
- 1Decide the approval rule: for example POs above 10,000 in plant 1000 for document type NB need the department head, and above 50,000 also the finance director.
- 2Create the characteristics in CT04 using the communication structure CEKKO (for PO header fields such as GNETW net order value, BSART document type, WERKS plant, EKGRP purchasing group). For PRs, use CEBAN (item level).
- 3Create a class in CL02 with class type 032 and assign the characteristics.
- 4In IMG go to Materials Management, Purchasing, Purchase Order (or Purchase Requisition), Release Procedure, Procedure with Classification. Define release groups, release codes, release indicators and release strategies (transaction OMGSCK is the combined entry).
- 5For each strategy set the release codes needed, the release prerequisites (which code must release before which) and the release statuses.
- 6Open the classification of each strategy (the Classification button) and enter the characteristic values that make the strategy apply, for example GNETW 10,000 to 50,000.
- 7Assign users to release codes through authorization object M_EINK_FRG (and the release code and group values).
- 8Test: create a PO in ME21N, save, check the Release strategy tab in ME23N, and release in ME29N (single) or ME28 (collective).
PR versus PO release
A PR release strategy is item level by default (collective release in ME55, individual in ME54N). A PO strategy is header level (ME28 collective, ME29N individual) and uses the PO header fields. A PR can also be released as an overall document in classification setup, but most customers release per item because items may have different cost centers or amounts.
If the PO is created from a released PR, the PO still needs its own release if the PO rules apply. Many sites release both at different thresholds: PR for budget approval, PO for commitment approval.
Workflow and Fiori approval
Release can be delivered to the approver's inbox with SAP Business Workflow (the standard release workflow is attached to the release codes) so people do not need to open ME28. The approver sees a work item and releases from there.
In Fiori, approval apps such as Approve Purchase Orders and Approve Purchase Requisitions (names depend on the release) work on top of the same release strategies. In S/4HANA, flexible workflow can be configured for PRs with conditions and approvers without classification. For POs most sites still use classic release strategies.
Test cases to run before go-live
Test each strategy boundary: a PO of 9,999, 10,000, 10,001 and 50,001. Test each document type, each plant, a PO changed after release (does it reset?) and a PO with multiple items of different values.
Test the negative cases: a user without the release code authorization tries to release, a user releases at the wrong step order, the release is reset, and the PO is changed with a value change above tolerance. Also test printing and goods receipt on a blocked PO to confirm what is blocked.
Try it here, free
SAP Purchase Requisition Approval Form Template
An approval form that mirrors the fields of an SAP purchase requisition so approvers see what they release in ME54N.
Common pitfalls
- !Overlapping strategies where two match the same PO; the first match wins and the other is ignored.
- !Not assigning release codes to users through authorization, so nobody can release.
- !Using the PO net value as a characteristic but expecting changes after release to re-trigger; check the changeability settings of the strategy.
- !Forgetting that PR and PO need separate classes and strategies.
- !Putting the same document type in a catch all strategy that hides the specific one.
How an ERP-grounded AI assistant handles this
Approvers lose hours to 'what is waiting for me and why'. An assistant grounded in SAP data (ERPray, read-only, role-aware, can run on-prem) can list open release items per approver, the strategy and the amount, and show who is blocking a PO. It does not release anything; release stays with the person holding the release code.
Frequently asked questions
How does the PO approval process work in SAP MM?
A release strategy checks the PO against rules (value, plant, document type, purchasing group). If it matches, the PO is blocked until one or more release codes release it. Users release in ME28 or ME29N, or through workflow and Fiori.
What is the difference between ME28 and ME29N?
ME28 is collective release: a list of POs to release at once. ME29N releases one PO at a time and shows the document. PRs use ME55 for collective release and ME54N for individual release.
Can I do approval without classification?
In S/4HANA you can configure flexible workflow for purchase requisitions and some other documents without classification. For purchase orders, the classic release strategy with classification remains the main approach.
Which authorization object controls release?
M_EINK_FRG checks the release group and release code. A user needs the right release group and code in their role to release a document, in addition to the usual purchasing authorizations.
Related
SAP ME21N: why the release strategy is not determined on a purchase order
When a purchase order saves without a release strategy, no strategy in the release group matched the PO's characteristic values. Compare the PO header values (value, document type, purchasing group, plant) against the value ranges in the strategy classification (CL24N), and check that the release group and code are active for the PO document type.
Error fixRelease Strategy in SAP MM Not Working: A Troubleshooting Checklist
When a release strategy does not trigger, the cause is nearly always in one of five places: the characteristic values do not match the document, the strategy is not assigned to the class (CL24N), the release group or class is wrong for the document type, the document was created before the change, or the user lacks the release code authorization. Work through the checklist in order; each step is a quick check.
How-toSAP open purchase orders report: ME2N, ME2M, ME2L and the underlying tables
Use ME2N for a flexible open PO list, ME2M by material and ME2L by vendor, with the selection parameter Still to be delivered. The open quantity is the scheduled quantity in EKET minus goods received in EKBE, excluding deleted and delivery-completed items. For custom reports, read EKKO, EKPO, EKET and EKBE.
Error fixSAP MM Errors and Solutions: The Common Ones, by Process Step
Most SAP MM errors fall in five places: purchasing document creation and release (ME21N), goods movements (MIGO), period control, invoice verification (MIRO) and account determination. This page lists the ones that come up most, what causes each, and the first fix, with links to detailed pages for the biggest ones.
Error fixSAP M7 021: Deficit of SL Stock Quantity
M7 021 fires during a goods issue, delivery, or confirmation when SAP checks the unrestricted-use (SL) stock for the exact plant, storage location and batch combination and finds less than what you are trying to post out. Fix the entry (batch, storage location, quantity) first; only enable negative stock or downgrade the message to a warning if the business genuinely needs to post ahead of a receipt.
Error fixSAP IDoc Status 51: Application Document Not Posted
Status 51 tells you the IDoc reached the application layer and failed to post, but the status text itself is not the error - the real cause sits in the status record's long text or the linked application log. Fix the underlying data or configuration, then reprocess the IDoc through BD87 rather than editing the status.
AI for ERPAI for SAP S/4HANA Procurement (MM) That Reads POs, Receipts and Invoices Together
AI for SAP S/4HANA procurement: query purchase orders, goods receipts and invoice matching in plain English, on-prem if needed, read-only by default.
AI for ERPAI for SAP S/4HANA, Running On-Prem or in Your Private Cloud
Run AI on SAP S/4HANA without sending ERP data to a public API. On-prem and private-cloud architecture, CDS views, OData, and honest deployment trade-offs.
Stuck on SAP ECC / S/4HANA?
Talk to engineers who work inside SAP ECC / S/4HANA every week, and who build private AI that answers these questions from your own ERP data.
Keep exploring
Free tools
- SAP Purchase Requisition Approval Form TemplateAn approval form that mirrors the fields of an SAP purchase requisition so approvers see what they release in ME54N.
- SAP Release Strategy Design TemplateFill-in design document for a classic SAP release procedure: groups, codes, characteristics, approval levels and test cases.
- SAP B1 Approval Procedure TemplateFill in thresholds and approvers to generate a written SAP Business One approval procedure you can sign and configure from.
ERP fixes and how-tos
- PO Not Released in SAP: Release Strategy, ME28 and ME29N FixesA SAP PO stays blocked when its release strategy is assigned but no one can release it. Check ME29N, release codes, ME28 and the workflow approver, step by step.
- Release Strategy in SAP MM Not Working: A Troubleshooting ChecklistSAP PO or PR release strategy not triggering? Checklist: classification, characteristic values, CL24N, release codes, ME28, ME29N and authorizations.
- SAP ME21N: why the release strategy is not determined on a purchase orderA PO saved in ME21N with no release strategy means the classification did not match. How to debug class 032, CEKKO values and release groups step by step.