EINE table — Purchasing Info Record - Purchasing Org Data
EINE holds the purchasing organization level data of a purchasing info record: one row per info record number per purchasing organization, category, and optionally plant. It carries the net price, price unit, planned delivery time, order unit, and tolerances that feed purchase order defaults, keyed by the record category (standard, subcontracting, pipeline, consignment) stored in ESOKZ.
EINE is the purchasing-org-specific counterpart to EINA in the vendor-material purchasing info record. This page covers which price and terms actually get read from EINE versus from condition tables, and the multi-row traps that make lookups on this table misleading if EKORG, ESOKZ and WERKS are not all restricted.
Published 15 Sept 2026· 1,096 words
What it stores
Each row in EINE represents the conditions a vendor offers for a material (or service) for one purchasing organization, one info record category, and optionally one plant. The same info record number in EINA can have several EINE rows: one plant-independent row for the purchasing org as a whole, plus separate plant-specific rows if plant conditions were maintained, plus separate rows again if the same vendor-material combination is also relevant as subcontracting or consignment (a different ESOKZ). The row stores the net price and price unit last entered or derived from the last purchase order or quotation, the planned delivery time used to propose the PO delivery date, the order unit, rounding quantity, minimum quantity, and over/under-delivery tolerances. It does not store the vendor, material or plant master data itself; those live upstream in EINA and the material/vendor masters.
Key fields
- MANDT - client
- INFNR - info record number, links back to EINA
- EKORG - purchasing organization the row applies to
- ESOKZ - info record category: standard, subcontracting, pipeline, consignment
- WERKS - plant, blank if the row is plant-independent
- EKGRP - purchasing group associated with this purchasing org row
- LOEKZ - deletion flag at this purchasing org level
- NETPR - net price
- PEINH - price unit that NETPR is scaled against
- BPRME - order price unit
- APLFZ - planned delivery time in days
- MINBM - minimum order quantity
- NORBM - rounding quantity
- UEBTO - over-delivery tolerance percentage
- UNTTO - under-delivery tolerance percentage
- WAERS - currency of NETPR
How it joins the data model
- EINE-INFNR = EINA-INFNR to reach the vendor and material for the record
- EINA-MATNR = MARA-MATNR for the material master
- EINA-LIFNR = LFA1-LIFNR for the vendor master
- EINE-WERKS = T001W-WERKS when the row is plant-specific
- EKPO-INFNR = EINE-INFNR when a purchase order item references an info record
- EORD table shares INFNR with EINE when the info record is tied to a source list entry
How to read it safely
MANDT is the client field and should always be implicit in any tool-based selection. INFNR alone is not selective enough because one info record can carry several EINE rows across purchasing organizations, categories and plants; always add EKORG, and add WERKS and ESOKZ whenever the business question is plant- or category-specific. Selecting on MATNR or LIFNR directly does not work because those fields sit on EINA, not EINE, so any cross-table pull has to join through INFNR first. The table itself is not huge in most landscapes, but a selection with only INFNR against a vendor with many plant-specific entries will return more rows than expected and the wrong one may get picked up by a downstream program that assumes a single hit.
How to prove it in the data
To confirm which price and delivery time a purchase order item should have defaulted to from the info record, take the vendor and material from the PO, find INFNR in EINA for that LIFNR/MATNR pair, then select EINE with that INFNR restricted to the PO's EKORG, the PO's WERKS if a plant-specific row exists, and the ESOKZ matching the procurement type (standard vs subcontracting vs consignment). Compare NETPR/PEINH there against the PO item's condition record, not against what the PO item currently shows, since the info record price only proposes a default and may since have been overridden.
ECC vs S/4HANA
EINE remains a transparent table on S/4HANA with the same role and largely the same shape as in ECC. Reporting and app layers increasingly read purchasing info record data through CDS views rather than direct table access, and condition-based price determination for info records has become more common as the default, which shifts more of the 'live' pricing logic away from EINE-NETPR toward the pricing condition tables even though EINE still stores the info record's own reference price and terms.
Common pitfalls
- Treating EINE-NETPR as the price that will always appear on a new PO. It is only a default; if condition-based info record price maintenance is active, the real determination runs through the pricing condition tables, and EINE-NETPR can be stale or simply mirror the last condition record rather than drive it.
- Forgetting that one INFNR can have multiple EINE rows. A lookup without EKORG and WERKS restrictions can return a plant-independent row when a plant-specific one exists and should have taken precedence, or vice versa.
- Ignoring ESOKZ and assuming a single info record per vendor-material pair. The same vendor and material can have separate EINE rows for standard procurement, subcontracting, pipeline and consignment, each with its own price and delivery time; picking the wrong ESOKZ row explains a price that looks 'wrong' but is actually correct for a different procurement type.
- Reading LOEKZ as a hard block. A deletion flag on the EINE row at one purchasing org only blocks new proposals for that org; it does not delete EINA or other EINE rows for the same info record, so the info record can still be very much alive elsewhere.
- Assuming APLFZ (planned delivery time) is what drove a specific PO's delivery date after the fact. Once the PO is created, the date is fixed on the PO item; APLFZ on EINE may have changed since, and comparing the two to explain a historical delay is comparing today's master data to a past transaction.
Whose problem this is
The MM/purchasing functional lead owns interpretation questions about which EINE row a given purchasing organization should be using and why a price default did or did not appear on a PO. Master data or procurement operations teams own the maintenance process for info records; a data question that turns out to be a maintenance gap (missing plant-specific row, wrong ESOKZ) routes back to them, not to a technical fix.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-tables/eineERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.