SAP SD Material Determination — Automatically Substitute Materials in Sales Orders
Condition technique · OV14 & OVRQ · VB11 records · product selection · troubleshooting · Last updated October 2026
Your company stops selling material OLD100 tomorrow. Hundreds of customers, several EDI partners and every order-entry clerk still know it by that number. How do you move all of them onto NEW100 without retraining anyone, chasing customers, or trusting the order desk to remember?
You do not. You let SAP swap it. This guide covers how material determination works, how it is configured, what the substitution reason really controls, how it differs from listing/exclusion and from advanced ATP substitution, and why a correct-looking VB11 record sometimes does nothing at all. Written for SAP S/4HANA on-premise and Private Edition; the mechanism is unchanged from ECC.
On this page
The problem it solves
Material numbers outlive products. A customer’s purchasing system, an EDI message, a printed catalogue and a salesperson’s memory all keep using the old number long after your material master has moved on. Rejecting those orders is bad service; correcting them by hand is error-prone and does not scale.
Material determination solves it at the point of entry: when the old number is typed or received, SAP replaces it with the new one and the order continues as if the new material had been entered. It is the condition technique — the same machinery as pricing — applied to the material number instead of a price.
The one-line version: a record says “when someone enters OLD100, sell them NEW100 instead”, with validity dates and a reason that decides how visible the swap is.
Where it sits in order entry
Scroll the diagram sideways to see all of it →
Material determination runs as the item is entered — everything downstream sees the substitute.
The order of events matters: substitution happens before availability and pricing. So the availability check runs on the substitute, the price comes from the substitute’s condition records, and item category determination uses the substitute’s item category group. A substitution is never “only” a number change.
Real business cases
Discontinued material
The classic one. OLD100 is withdrawn and NEW100 replaces it. Customers, EDI partners and order-entry staff keep sending the old number for months, and every order quietly becomes the new one.
Promotional packaging
For December the product ships in festive packaging under its own material number. One record with validity dates swaps it for the promotion period and stops automatically afterwards.
The customer’s own number
A customer orders by their internal part number. Material determination can map it to yours — though for a long-term relationship, the customer-material info record is usually the better home for this.
EAN / barcode entry
Orders arriving with an EAN instead of a material number are resolved to the material, which matters for scanned and EDI-driven order entry.
Alternative products
Several materials can satisfy the same demand. With product selection, SAP can offer the alternatives or pick one automatically — see the substitution reason section.
Free download
Free: SAP SD Interview Starter Kit
A free sample of The SD Vault, sent to your inbox. No payment, no account.
- ✓25 most-asked interview questions, with full answers
- ✓1 complete configuration scenario, IMG paths and T-codes
- ✓A 7-day prep plan you can actually follow
One email with your kit. Occasional SAP SD tips after that — unsubscribe any time.
How it works: condition technique
If you know pricing, you already know this. The same five building blocks, pointed at a different outcome:
| Building block | In material determination |
|---|---|
| Condition table | The key: entered material, or customer + entered material |
| Access sequence | The search order — most specific key first |
| Condition type | A001 (material entered) in standard |
| Procedure | A00001 in standard, holding the condition type(s) |
| Assignment | Procedure assigned to the sales document type in OV14 |
| Condition record | The VB11 entry: old material → new material, validity, reason |
One caution on codes: material determination’s condition type A001 is a different object from the A001 used in material listing. They live in different applications and procedures — the name collision catches people out in interviews and in debugging alike.
Configuration step by step
Review the condition tables
SPRO → SD → Basic Functions → Material Determination → Maintain Prerequisites
Standard delivers tables keyed on the entered material, and on customer plus entered material. The second is what lets one customer get a substitution that others do not.
Access sequence and condition type
Same path — access sequences and determination types
Standard condition type A001 (material entered) sits on an access sequence that reads the more specific table first. Copy rather than change it if you need your own key.
Determination procedure
Same path — procedures
Standard procedure A00001 contains A001. A procedure can hold several condition types if you want more than one substitution key.
Assign the procedure to the sales document type
OV14
This is the switch that turns material determination on. No assignment, no determination — and it is per document type, which is why substitution often works in OR but not in a custom order type.
Define substitution reasons
OVRQ
The reason carries the behaviour: automatic or a selection list, replace the item or add a sub-item, which material prints on documents, and whether the user is warned. Detailed in the section below.
Create the condition record
VB11 (change VB12, display VB13)
Entered material → substitute material, with validity dates and a substitution reason. This is master data, not configuration: business users maintain it once the rest is in place.
Remember OV14: steps 1 to 3 are usually already in place from standard. The assignment in OV14 and the substitution reason are the two that projects actually have to think about — and the assignment is the one most often missed on custom order types.
Creating the record in VB11
With configuration done, the day-to-day work is one record per substitution — master data a product manager can own:
| Field | Example | Why it matters |
|---|---|---|
| Entered material | OLD100 | What the customer or EDI message sends |
| Substitute material | NEW100 | What SAP sells instead — must be fully maintained for the sales area |
| Valid from / to | 01.11.2026 – 31.12.9999 | A promotion ends by itself; a discontinuation usually does not |
| Substitution reason | Z001 | Decides automatic vs selection list, replacement vs sub-item, and what prints |
A record can carry more than one substitute. Where several are listed, the sequence decides which is proposed first — and with the right substitution reason, SAP can present them to the user instead of choosing silently.
Substitution reasons and product selection
This is the part most tutorials skip, and the part that decides how the business experiences the feature. Four settings on the reason (OVRQ):
Strategy
blank = automatic · A = selection listWhether SAP substitutes silently in the background, or shows the alternatives in a dialog box for the user to choose from. Automatic for discontinued materials; a list where a human should decide.
Outcome
blank = replace the entry · B = keep it as a sub-itemWith B the entered material stays as the main item (item category TAX) and the substitute is added beneath it (TAPS, via item usage PSEL) — the pattern used for product selection, where the main item carries the requirement and the sub-items carry the actual materials.
Entry
which material appears on printed documentsLets you confirm back to the customer in their language: show the material they ordered, or the one you actually ship. In an EDI relationship this choice is usually part of the agreement.
Warning
on / offIssues a message when the substitution happens, so the order-entry user sees that the material changed.
Automatic product selection: the sub-item outcome is what makes it work. The entered material stays on the order as the main item carrying the customer’s requirement, and the materials that will actually ship sit beneath it as sub-items. That structure is what lets several alternatives — different batches, pack sizes or equivalent products — fulfil one line.
vs Material listing and exclusion
Both are condition technique on the material, both are set per sales document type, and they are constantly confused. One changes the material; the other decides whether it is allowed.
| Material determination | Listing / exclusion | |
|---|---|---|
| The question it answers | Which material should replace the one entered? | Is this customer allowed to order this material at all? |
| Effect on the order | The material changes | The item is accepted or rejected |
| Records | VB11 / VB12 / VB13 | VB01 / VB02 / VB03 |
| Switched on by | Procedure assigned to the sales document type (OV14) | Listing and exclusion procedures assigned to the sales document type |
| Typical use | Discontinued products, promotions, customer part numbers | Contracted assortments, restricted or competitor-sensitive products |
They can run together, and the order matters in practice: a material that gets substituted is then checked against the listing and exclusion rules as the substitute. Allow the old material but forget to list the new one, and the order fails after a substitution that looked successful.
vs Advanced ATP substitution
S/4HANA added a second way for an order to end up with a different product, and the two get mixed up often enough to be worth separating clearly.
Material determination
Runs at order entry, from a maintained record. It happens whether or not stock exists — the old material is simply not what you sell any more.
Advanced ATP alternatives
Runs during the availability check. When the requested product or plant cannot confirm, advanced ATP can confirm an alternative instead. The product is fine — the stock is not.
A good interview answer puts it in one sentence: material determination substitutes because of what you sell, advanced ATP substitutes because of what you have.
Troubleshooting
The VB11 record exists but nothing is substituted
- ·No determination procedure assigned to this sales document type in OV14
- ·The order date falls outside the record’s validity period
- ·The record was created on a different key than the order supplies — for example customer + material, when this customer has no record
- ·The item was entered in a document type or process that does not run determination at all
Fix: Check OV14 first: it is the single most common cause, and it explains the classic symptom of substitution working in one order type and not another. Then check validity dates against the order date.
Substitution happens, but the order fails afterwards
- ·The substitute material has no sales view for this sales area, or no plant data
- ·No price exists for the substitute material
- ·The substitute has a different item category group and determines an unexpected item category
Fix: After substitution the order is priced and processed as the substitute material, so it needs the same master data as any sellable material. Extend it to the sales area and maintain its condition records before activating the substitution.
Users are not told the material changed
- ·The substitution reason has no warning set
- ·The Entry setting prints the original material, hiding the change on the confirmation
Fix: Switch the warning on in OVRQ while a substitution is new, and agree with the business which material should appear on the order confirmation.
Old orders still carry the old material
- ·Determination runs when the item is entered, not retrospectively
Fix: Existing orders keep what they determined. If the open backlog has to move to the new material, it is a data-change exercise (mass change or re-entry), not a configuration one.
Interview questions
What is material determination and when would you use it?
It is the condition technique applied to the material number: the material a customer enters is automatically replaced by another at order entry. Typical uses are a discontinued product replaced by its successor, promotional packaging for a period, a customer’s own part number, or an EAN.
Walk me through the configuration.
Condition tables (entered material, or customer plus entered material), an access sequence, condition type A001, procedure A00001, and the assignment of that procedure to the sales document type in OV14. Then substitution reasons in OVRQ, and finally the condition record in VB11 with validity dates.
What does the substitution reason control?
Four things: the strategy (substitute automatically or offer a selection list), the outcome (replace the entered item, or keep it as the main item with the substitute as a sub-item), which material appears on printed documents, and whether a warning is issued.
A record exists in VB11 but the material is not being substituted. What do you check?
Whether the determination procedure is assigned to that sales document type in OV14, whether the order date is inside the record’s validity, and whether the record key matches what the order supplies. OV14 is the usual culprit, especially with custom order types.
How is material determination different from material listing and exclusion?
Material determination changes the material: it answers "what should this become". Listing and exclusion decide whether the customer may order a material at all: they answer "is this allowed". They are configured separately and can be active at the same time.
How does this differ from product substitution in advanced ATP?
Material determination substitutes at order entry, from condition records, regardless of stock. Advanced ATP’s alternative-based confirmation substitutes during the availability check, when the requested product cannot be confirmed — it is driven by availability, not by a maintained replacement rule. One is a master data decision, the other a supply decision.
More of these, graded by depth, in the SAP SD interview questions collection.
Where this sits in the SD landscape
Material determination is one of the first things to run in the Order-to-Cash process, and everything after it inherits the result: item category and schedule line determination, the availability check, and pricing all run on the substitute material.
Frequently Asked Questions
What is material determination in SAP SD?
Material determination automatically replaces the material entered in a sales document with another material, using the condition technique. It is used for discontinued products, promotional packaging, customer part numbers and EANs.
Which transaction creates a material determination record?
VB11 creates the record, VB12 changes it and VB13 displays it. The record holds the entered material, the substitute material, validity dates and a substitution reason.
What is transaction OV14 used for?
OV14 assigns the material determination procedure to the sales document type. Without that assignment, determination never runs for that document type — the most common reason a VB11 record appears to do nothing.
What is a substitution reason?
Configuration (OVRQ) that controls how the substitution behaves: automatic or a selection list, replace the item or add the substitute as a sub-item, which material prints on documents, and whether a warning is shown.
What is automatic product selection?
A variant of material determination where several alternative materials can satisfy the order. With the outcome set to sub-item, the entered material stays as the main item and the substitutes are added as sub-items — standard item categories TAX for the main item and TAPS for the sub-items.
What is the difference between material determination and material listing/exclusion?
Determination replaces one material with another. Listing and exclusion decide whether a customer is allowed to order a material. Different records, different configuration, and they can run together.
Does material determination change pricing?
Yes — once substituted, the order is priced for the substitute material, so that material needs its own condition records. This is why a substitution that is configured correctly can still fail at pricing.
Did material determination change in S/4HANA?
No. The condition technique, VB11 records, substitution reasons and the OV14 assignment work as they did in ECC. What is new alongside it is advanced ATP, which can substitute products during the availability check — a different mechanism for a different problem.

Written by
Rahul Narain Saxena
SAP SD Solution Architect with 17+ years of hands-on implementation experience across SAP ECC and S/4HANA. Every guide on The SD Vault is written from live project experience, not summarised from documentation.
“The record is there. Why is nothing being substituted?”
Questions like this are where interviews are won: anyone can describe the feature, few can debug it. The SD Vault has 230+ depth-graded questions and 38 real configuration scenarios built from live projects.
Get Lifetime Access →Or start free with the sample pack, Pricing Procedure guide, and Item Category guide.