SAP transaction codeObjectME12ModuleMM_P2P

ME12 — Change Purchasing Info Record

ME12 changes an existing purchasing info record - the vendor/material/purchasing-organization combination that stores negotiated prices, conditions, delivery times, and texts. It does not retroactively touch prices already copied into open purchase orders; those need a separate price update or a new PO to pick up the changed condition.

This page covers ME12, the transaction for changing purchasing info records that hold vendor pricing and delivery data for a material/vendor/purchasing-org combination. It focuses on the org-level scoping that trips up most consultants and on why a price change here does not automatically flow into open POs.

Reviewed by an ERPClimb SAP consultant on 15 Sept 2026· 1,179 words

Purpose

ME12 opens an existing purchasing info record for change - the record linking a vendor and a material at a given purchasing organization (and optionally plant) that carries the net price, gross price, scales, planned delivery time, minimum order quantity, and vendor-specific texts used when creating purchase orders. The structural fact that explains most confusion: an info record is scoped to a purchasing organization and plant, not global to the vendor or material. A buyer changing the price for purchasing org 1000 has changed nothing for purchasing org 2000, even though both source from the same vendor and material. A second source of confusion is that conditions are date-validity driven, so ME12 usually means editing or adding a condition record with a start and end date rather than overwriting a single price field.

When it is used

ME12 is reached for whenever a negotiated price changes, a new validity period needs to be entered, planned delivery time needs correction after a logistics delay, or a text or standard quantity needs updating on a record that already exists. It sits between vendor negotiation and purchase order creation - buyers update the info record first so that the next PO for that vendor/material picks up the correct price automatically. For high-volume condition maintenance across many info records at once, MEK1/MEK2 or a mass-maintenance transaction is used instead, since ME12 only handles one record per call. In S/4HANA, the equivalent Fiori app for managing purchasing info records covers the same maintenance with a worklist view, but ME12 remains valid for single-record edits.

How to use it in practice

  • Call ME12 and enter vendor, material, purchasing organization, and plant (plant only if the info record is plant-specific), or enter the info record number directly if known.
  • Select the info record category if the system prompts for it (standard, subcontracting, pipeline, consignment) - picking the wrong category opens a different record entirely.
  • On the initial screen, navigate to the purchasing organization data or conditions screen depending on what needs to change.
  • Update the net price and any scale prices, planned delivery time, minimum order quantity, or texts as needed, entering a validity start date if a new condition period is required.
  • Save. The system writes a new or updated condition record and a change document; it does not touch any purchase order already created against the old price.

Key data objects

  • EINA - general (client-level) info record data: vendor, material, info record number, info record category.
  • EINE - purchasing-organization-level data: purchasing org, plant, net price, effective price, planned delivery time, minimum order quantity, order unit.
  • Condition tables underlying the PB00 (or equivalent) condition type - store the actual price/scale records with validity dates that ME12 maintains behind the info record screen.
  • CDHDR / CDPOS - change documents recorded against object classes for EINA and EINE, capturing old and new values, changed-by user, and timestamp.

How to prove it in the data

In SE16 on EINE, filter by INFNR (info record number), EKORG, and WERKS to confirm which org/plant combination actually holds the price the buyer expects; check NETPR and EFFPR and the validity dates on the linked condition record. Cross-check EINA for the info record category to rule out a subcontracting or pipeline record masquerading as standard. Pull CDHDR/CDPOS for the object class tied to EINA or EINE, filtered on the info record number, to see exactly when and by whom the price last changed and what the old value was.

ECC vs S/4HANA

ME12 continues to function in S/4HANA without a compatibility warning; the underlying EINA/EINE structure and condition technique are unchanged. A Fiori app for managing purchasing info records is available as a modern alternative, offering list-based editing and mass changes more comfortably than the classic screen, but it edits the same tables and is not a functional replacement requiring migration. Teams standardizing on Fiori for purchasing typically keep ME12 available for edge cases like subcontracting or pipeline info records.

Common pitfalls and how to diagnose them

  • Wrong org level maintained - the buyer updates ME12 for purchasing org 1000 but the PO being created is for purchasing org 2000 or a different plant; EINE has no matching record so the system falls back to a manual price entry or an old record. Confirm the purchasing org and plant on the PO match the one just changed.
  • Price change not reflected in an open PO - ME12 changes the info record, but a purchase order already created keeps its own price frozen at creation time. Fixing the info record does not fix the PO; the PO line price must be updated manually or through a price redetermination step, or a new PO must be raised.
  • Validity period gap or overlap - a new condition record is entered with a start date in the future, or an old record's end date was never closed, leaving two active records and an ambiguous price. Check the date ranges on the condition record directly rather than trusting the info record screen's displayed 'current' price.
  • Deletion flag or blocking indicator set on the info record - ME12 opens but changes appear to save without effect because the record is flagged for deletion at the org level, which some purchasing configurations silently respect during PO pricing.
  • Wrong info record category selected at the start screen - a standard info record and a subcontracting info record for the same vendor and material are separate objects; editing the wrong one leaves the intended price untouched and confuses the next person who checks EINE.
  • Unit of measure or currency mismatch - the price entered in ME12 is per order unit, and if the order unit differs from the base unit used in the PO or material master, the net price appears wrong until the conversion factor is checked.

Whose problem this is

Functional MM/purchasing territory. A buyer or purchasing team lead normally makes the change directly; MM configuration involvement is needed only if a custom condition type, pricing procedure, or exclusion rule is suspected. ABAP gets pulled in only for a custom pricing routine. A clean handover states the info record number, purchasing org/plant, old and new price with validity dates, and whether any open PO still shows the stale price.

Related SAP objects

Reviewed pages this object connects to in the ERPClimb knowledge graph.

Source: ERPClimb — https://erpclimb.com/sap-tcodes/me12ERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.