SAP transaction codeObjectVD51ModuleSD_O2C

VD51 — Create Customer-Material Info Record

VD51 creates a customer-material info record, which maps a customer's own material number to the SAP material number for a given sales organization and distribution channel, and can default delivery priority, shipping plant, order unit and partial-delivery rules for that customer-material combination. It is optional master data, not mandatory, and only affects processing when it exists.

VD51 is the create transaction for customer-material info records, the master data object that translates a customer's own material number into the SAP material number and defaults sales-relevant values for that pairing. This page covers when the record actually gets used during order processing, the real failure patterns seen with EDI-driven orders, and how to prove in the data whether a missing or mismatched record explains an order entry problem.

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

Purpose

VD51 creates a customer-material info record: a link between one sold-to customer, one sales organization and distribution channel, and one material, storing the customer's own material number (KDMAT), order unit, delivery priority, default shipping plant, minimum delivery quantity and a partial delivery indicator. The structural fact that causes most confusion is that this record is entirely optional. Nothing in standard order processing requires it. It only comes into play when the customer's material number is used to identify the material, most commonly on inbound EDI orders and IDoc-based order creation, or when someone explicitly wants a customer-specific default for delivery priority or partial deliveries. Consultants coming from a materials-master mindset sometimes assume it is required master data comparable to a customer master record extension; it is not, and its absence is silent, not an error, unless something downstream is coded to demand it.

When it is used

Reached for during customer onboarding when the customer will send orders referencing their own material numbers, typically via EDI, IDoc, or a customer portal that captures the customer's part number rather than the vendor's. Also used when a specific customer needs a different shipping plant than the material's default, a different delivery priority than the sales order type default, or a permanent partial-delivery agreement recorded at the customer-material level rather than negotiated order by order. Not used for pricing (that is condition records via VK11) and not used for general customer master extension (that is XD01/XD02). If the customer never quotes their own material number and needs no per-material shipping override, this record is simply never created and nothing breaks.

How to use it in practice

  • Enter the sold-to customer (KUNNR), sales organization and distribution channel on the initial screen.
  • Enter the SAP material number, or a range/selection if maintaining several materials for the same customer.
  • On the detail screen, enter the customer's own material number (KDMAT) and order unit.
  • Maintain delivery priority, default plant, minimum delivery quantity and partial delivery indicator as needed.
  • Add customer-material texts if the customer requires specific wording on order confirmations or delivery notes.
  • Save; repeat per material or use the multiple-material entry option for bulk creation.

Key data objects

  • KNMT - the customer-material info record itself: customer, sales organization, distribution channel, material, customer material number, order unit, delivery priority, plant, minimum delivery quantity, partial delivery flag.
  • STXH and STXL - header and line items for any long text maintained against the customer-material combination.
  • Change document tables (CDHDR/CDPOS) - record who changed which field on the info record and when, useful when a previously working EDI mapping suddenly fails.

How to prove it in the data

Run SE16 on table KNMT filtering on KUNNR (sold-to), VKORG and VTWEG, and either MATNR or KDMAT depending on which direction the mismatch is suspected. If an inbound EDI order failed on material determination, take the exact customer material number from the IDoc segment and search KDMAT for that literal string, checking for leading zeros, case, and trailing spaces, since KNMT lookups are exact-match. If the record exists but the order still failed, check the sales org and distribution channel on the record against the sales area actually used on the order; a record maintained for the wrong distribution channel will not be found.

ECC vs S/4HANA

The customer-material info record and VD51 behave the same way on S/4HANA as on ECC; the underlying table and the logic that reads it during order and IDoc processing are unchanged. There is no distinct Fiori app in common use that replaces this transaction; mass maintenance is more often handled through upload tools or the classic transaction rather than a redesigned UI. Consultants should not expect a functional change here between releases.

Common pitfalls and how to diagnose them

  • EDI or IDoc material determination failure: the most common ticket. The customer material number in the inbound IDoc segment does not exactly match KDMAT in KNMT. Check for leading zeros, alphanumeric case sensitivity, and trailing whitespace picked up from the customer's file before assuming the record is missing.
  • Sales area mismatch: the info record was created for one sales organization and distribution channel, but orders are entered or received against a different one. VD51 records are sales-area specific, not customer-wide; a record valid for one channel does nothing for another even for the same customer and material.
  • Assumed enforcement that is not there: delivery priority, plant and partial-delivery settings from the info record are defaults copied into the order at creation. If a user or an order type routine overrides them, the info record is not wrong, it was simply not the last value written. Do not diagnose this as a KNMT data error before checking what actually populated the order.
  • Duplicate or conflicting maintenance: the same customer-material key gets touched by two different processes (manual VD51 entry and a mass load or migration), leaving values that look plausible individually but disagree with what the business expects. Change documents on KNMT show the real sequence of edits.
  • Missing record mistaken for an authorization problem: a functional consultant sees an order fail to pick up a customer material number and assumes a role or object issue, when the record simply was never created for that sales area. Confirm with the SE16 check on KNMT before escalating to security.

Whose problem this is

Functional SD master data ownership, usually sitting with the order-to-cash or master data team rather than a dedicated basis or ABAP concern. A clean handover for an EDI mapping failure includes the exact customer material number as it arrived in the IDoc segment, the sales area used on the order, and a screenshot or SE16 extract confirming whether a matching KNMT record exists.

Related SAP objects

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

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