How-toSAP ECC / S/4HANAMM / Purchasing Conditions

Pricing Procedure in SAP MM, with a Worked PO Example

Question
pricing procedure in sap mm with example

Also searched as

  • delivery cost in sap mm
  • sap mm calculation schema RM0000
  • sap purchasing condition types PB00 FRB1
  • how to add freight to purchase order in sap

Short answer

In SAP MM the pricing procedure is a calculation schema (standard RM0000) that lists condition types such as PB00 (gross price), discounts and freight in order, with a calculation base for each line. The schema is found from the vendor's schema group and the purchasing organization's schema group, and condition records come from the info record or from MEK1. Delivery costs are conditions on the PO item or entered in MIRO as unplanned delivery cost.

Applies to: SAP ECC 6.0 and S/4HANA on-premise purchasing. Condition type names are standard SAP examples; your system may use copies.

How the schema is built and used

  1. 1Go to IMG, Materials Management, Purchasing, Conditions, Define Price Determination Process. The sequence is condition tables, access sequences, condition types, calculation schema, schema groups and schema determination.
  2. 2Define the condition types you need: gross price (PB00 for a price with a master record, PBXX for a manual price on the PO), discounts and surcharges (percentage or absolute) and delivery cost types (for example FRB1 absolute, FRC1 quantity based, FRA1 percentage). Check each type's condition class and calculation type.
  3. 3Each condition type uses an access sequence that tells the system where to look for a record (for example material and vendor, then vendor only). Copy standard sequences rather than editing them.
  4. 4Add the condition types to the calculation schema (RM0000 or your copy) in the right order, with reference steps (from and to lines) and the subtotal and requirement rules.
  5. 5Assign the schema through schema groups: vendor master (Purchasing data, Schema group, vendor) and purchasing organization (schema group, purchasing org). Schema determination maps the pair to the calculation schema.
  6. 6Maintain condition records: info record (ME11 or ME12) for vendor and material price, or MEK1 for a condition with its own validity.
  7. 7Create a PO in ME21N. Open the item Conditions tab and check each line, the base and the result. Net value and the item net price follow the schema.

Worked example with discount and freight

A PO item for 100 pieces of material MAT-1 from vendor V1. The info record has PB00 at 50.00 per piece. The vendor has a 5 percent discount (condition type RA01, percentage, on gross price) and the shipping terms add freight FRB1 of 200.00 for the whole item.

Gross price: 100 x 50.00 = 5,000.00. Discount: 5 percent of 5,000.00 = minus 250.00. Net after discount: 4,750.00. Freight: plus 200.00, so the item value that goes into the PO is 4,950.00, which is an effective 49.50 per piece. Whether freight is included in the net price on the PO or only in the effective price depends on your schema subtotal rules and condition category.

On goods receipt, the stock is valued according to the material's price control. With moving average price (V) the freight raises the stock value if it is a planned delivery cost to inventory; with standard price (S) the difference goes to a price difference account. Account keys and OBYC settings decide where each amount lands.

PB00  Gross price      100 x 50.00 =  5,000.00
RA01  Discount 5%                    -  250.00
      Net                            4,750.00
FRB1  Freight (absolute)             +  200.00
      Effective item value           4,950.00  (49.50 / pc)

Delivery cost in SAP MM: planned and unplanned

Planned delivery costs are conditions on the PO (FRB1, FRC1, FRA1 or customs duty types). They are accrued at goods receipt, then cleared when the carrier's invoice arrives. The condition's account key (for example FR1 for freight clearing) is posted through OBYC.

Unplanned delivery costs are charges nobody put on the PO. You enter them in MIRO in the unplanned delivery costs field when posting the invoice, with a tax code and a distribution option (to the item based on value, quantity or equally). Use a separate vendor PO for freight if the carrier is a different vendor from the supplier and you want to receive the cost as a service.

Why the PO has no price or the wrong price

If the net price is zero, no condition record was found. Check the info record validity dates, the purchasing organization and whether the info record is for the right plant or material group. The condition analysis in the Conditions tab of the PO item (analysis button) shows which access was tried.

If the wrong schema is used, check the schema group on the vendor and on the purchasing organization against the schema determination table. Changing a schema group on the vendor does not reprice open POs automatically, because prices are stored on the PO item.

Try it here, free

SAP Pricing Procedure Design Worksheet

Open full tool

An editable worksheet to lay out a pricing procedure step by step, test the net value with example numbers and export it to Excel for the blueprint.

Common pitfalls

  • !Editing the standard schema RM0000 instead of copying it, which complicates upgrades.
  • !Forgetting that a PBXX price is a manual PO price without a record, so it does not update from the info record.
  • !Mixing an absolute freight at item level with a percentage that uses a base line that excludes it, giving unexpected totals.
  • !Posting freight on the PO without the right account key, so it lands in the wrong account at invoice.
  • !Expecting an info record price change to reprice open POs; you reprice the item manually or with a PO price update.

How an ERP-grounded AI assistant handles this

Pricing questions are usually 'why this price' on one PO. An assistant grounded in SAP data (ERPray, read-only, role-aware, can run on-prem) can read the item conditions from the PO tables, compare them to the info record validity and show which condition drove the net price. Schema and condition changes stay with purchasing and finance.

Frequently asked questions

What is the pricing procedure in SAP MM?

It is the calculation schema used for purchasing, standard name RM0000. It lists the condition types (prices, discounts, freight, taxes) in order and defines how each is calculated to reach the net price of a PO item.

What are PB00 and PBXX in SAP?

PB00 is the gross price condition type that uses condition records, such as from an info record. PBXX is the gross price for manual entry on the PO when no record exists. Both feed the first line of the schema.

How is delivery cost handled in SAP MM?

Planned delivery cost is a freight condition on the PO item and accrues at goods receipt. Unplanned delivery cost is entered in MIRO when you post the invoice. Both post to accounts defined in OBYC.

Where do I configure the purchasing pricing schema?

In the IMG under Materials Management, Purchasing, Conditions, Define Price Determination Process. There you maintain condition tables, access sequences, condition types, the calculation schema and the schema determination.

Related

Error fix

SAP Pricing Error: Condition Record Missing for PR00 in a Sales Order

The error means the pricing procedure expected a price condition such as PR00, found no valid record for the key, and the condition was flagged mandatory. Use the pricing analysis in the order item to see which access failed, then create the record with VK11, or fix the pricing procedure determination if the wrong procedure was selected.

How-to

SAP MIRO: invoice blocked for price variance, and how to release it in MRBR

MIRO blocks an invoice for payment when its price or quantity differs from the PO or goods receipt by more than the tolerance limits defined in OMR6. The invoice posts, but it carries a payment block reason (R for price) until someone releases it in MRBR or corrects the underlying data. Release only after confirming which side is wrong.

How-to

SAP GR/IR clearing account balance: reconcile with MB5S and clear with MR11

The GR/IR clearing account holds the value of goods received but not yet invoiced, and invoices not yet matched with receipts. It should trend to zero per PO item. Reconcile it with MB5S, find the PO items that are stuck, and clear true differences with MR11 or automatic clearing in F.13, after correcting the cause.

How-to

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

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.