How-toSAP ERP / S/4HANAMM Purchasing / ME21N

How to Create a Purchase Order in SAP MM (ME21N)

Question
how to create po in sap mm

Also searched as

  • sap mm order processing
  • create purchase order ME21N step by step
  • create purchase order from requisition sap
  • sap po with account assignment

Short answer

Create a purchase order in SAP with ME21N: enter the vendor and organisational data in the header, add items with material, quantity, plant and price, and save. A PO can also be created from a requisition through ME21N adopt, ME58 or ME59N.

Applies to: SAP ECC 6.0 and S/4HANA (ME21N); S/4HANA also offers Fiori apps for PO creation

How to create a PO in ME21N

  1. 1Run ME21N. Choose the document type, normally NB (standard PO), from the dropdown.
  2. 2In the header enter the vendor and, on the Org Data tab, the purchasing organisation, purchasing group and company code.
  3. 3In the item overview enter material, PO quantity, delivery date, net price and plant. Storage location is optional.
  4. 4For consumables or services without stock, set an account assignment category, for example K for cost center, and fill the Account Assignment tab.
  5. 5To copy from a requisition, open the document overview, choose Purchase Requisitions, select the PR and use Adopt.
  6. 6Check the item conditions on the Conditions tab, then Save. The PO number is assigned. If a release strategy applies, the PO is blocked until released.
  7. 7Release with ME28 or ME29N, then post the goods receipt in MIGO with movement type 101 referencing the PO.

Creating from a requisition

Requisitions are created manually in ME51N or by MRP. Buyers then convert them: ME58 creates POs from assigned requisitions, ME59N creates them automatically if sources are assigned, and ME57 assigns sources first.

In ME21N you can instead adopt requisition items through the document overview. This is useful when you need to combine several requisitions for the same vendor on one PO.

The requisition and PO are linked. After conversion, the PR item shows the PO number, and reports like ME5A reflect the status.

Account assignment and special items

Account assignment category decides where the cost goes. K posts to a cost center, A to an asset, F to an internal order and P to a project. For a normal stock material with no account assignment, GR posts to inventory.

Item categories change behaviour. Standard is the default, B is limit, L is subcontracting, S is third-party, and D is service. Use them when the process needs special handling, for example subcontracting components.

Price comes from the info record if one exists, or from a contract. If no info record exists you enter the net price manually, and you can create the record automatically through the PO item settings.

The order-to-invoice flow

After the PO: goods receipt in MIGO (movement 101), then invoice verification in MIRO. The system compares PO, receipt and invoice in a three-way match. Differences beyond tolerance block the invoice.

If goods receipt is not required, mark the item accordingly and the invoice posts directly. For services, a service entry sheet (ML81N) takes the place of goods receipt.

Changes after creation use ME22N and are tracked in change documents. Display with ME23N.

Try it here, free

SAP PO Item Category, Account Assignment and Special Stock Reference

Open full tool

Searchable list of the codes you choose on a PO line: item category, account assignment category and special stock indicator.

Common pitfalls

  • !The wrong document type changes number ranges and release strategy. Check it before saving.
  • !A missing info record or price makes the PO value zero and can fail the release check.
  • !Delivery date in the past triggers warnings and blocks MRP's view of the receipt.
  • !A PO with account assignment cannot be changed freely to another category once receipts exist.
  • !If the release strategy applies, buyers often forget to release. See the release strategy page.

How an ERP-grounded AI assistant handles this

An assistant can draft the PO fields from a requisition or a vendor email, show them for review, and leave the posting to the buyer or to a controlled write-back with human approval. It should never post to SAP on its own. Keeping the model on-prem avoids sending vendor pricing outside the company.

Frequently asked questions

What is the transaction code to create a PO?

ME21N creates a purchase order, ME22N changes it and ME23N displays it. ME21N is the current version; the older ME21 is obsolete.

How do I create a PO from a purchase requisition?

Use ME58 or ME59N for conversion in bulk, or adopt requisition items in ME21N through the document overview.

What is the standard PO document type?

NB is the standard purchase order document type. Others cover stock transfers, framework orders and subcontracting.

Why can I not post a goods receipt for my PO?

Usually the PO is still blocked by a release strategy, or the item is flagged as not requiring goods receipt. Check the status in ME23N.

Related

Error fix

Release 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-to

SAP MM BAPI for PO Create and Change: BAPI_PO_CREATE1 and BAPI_PO_CHANGE

Use BAPI_PO_CREATE1 to create a purchase order and BAPI_PO_CHANGE to change one. Each takes a data structure and a matching X-structure that flags which fields to apply, returns messages in the RETURN table, and only persists after you call BAPI_TRANSACTION_COMMIT when no error message came back.

How-to

SAP MM Approval Process: Release Strategies, Workflow and Fiori

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.

How-to

SAP MM Return to Vendor Process: Return PO, MIGO 161 and Credit Memo

There are two standard ways to return goods to a vendor in SAP MM: post a return delivery in MIGO (movement 122, referencing the original material document) or create a return purchase order item and post movement 161. Then settle the money with a credit memo in MIRO or by receiving a replacement.

Error fix

SAP 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 fix

SAP 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 ERP

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

AI for ERP

Get AI Value From SAP ECC Now, and Use It to De-Risk the Move to S/4HANA

SAP ECC 6.0 mainstream maintenance ends in 2027. Add AI value on ECC now, using its existing BAPIs and IDocs, and use it to de-risk the S/4HANA migration.

Stuck on SAP ERP / S/4HANA?

Talk to engineers who work inside SAP ERP / S/4HANA every week, and who build private AI that answers these questions from your own ERP data.

Keep exploring