Before a single purchase order can be raised against a plant, SAP needs to know which purchasing organization is authorized to buy for it. This guide walks through the OX17 assignment step, explains plant-specific versus cross-plant purchasing models, and covers how this configuration connects to everything else in the procurement enterprise structure.
A purchasing organization is the legal and organizational entity responsible for procurement, defined via OX08, while a plant is the physical site where materials are produced, stored, and consumed. On their own, these two objects don't know anything about each other - a purchasing organization can exist in the system, and a plant can exist in the system, without SAP allowing any purchase order to combine the two, until an explicit assignment is made connecting them.
That connection is exactly what transaction OX17 creates. It tells SAP, in effect, "this purchasing organization is permitted to procure materials for this plant." Without it, a buyer attempting to raise a purchase order for that plant and purchasing organization combination hits a hard error before the document can even be saved, regardless of how correctly everything else - vendor master, material master, pricing - has been configured.
Enterprise structure configuration in SAP generally follows a define-then-assign pattern: first you define the individual building blocks (a plant via OX10, a purchasing organization via OX08), then you assign them to each other so the system understands how they're allowed to interact. OX17 is a pure assignment step - it doesn't create anything new, it simply links two objects that must already exist. This is why OX17 always comes after both the plant and the purchasing organization have been defined, never before.
OX17 is one of several similar assignment transactions in SAP's enterprise structure, alongside OX18 (assign plant to company code, covered in our companion guide) and the assignment of purchasing organization to company code. Each of these follows the identical logical pattern of connecting two already-defined objects, and together they form the web of relationships that ultimately determines which combinations of plant, company code, and purchasing organization are valid on a live transaction.
Navigate to the Configuration Path
Go to SPRO > Enterprise Structure > Assignment > Materials Management > Assign Purchase Organization to Plant, or execute transaction OX17 directly.
Select New Entries
On the assignment overview screen, click New Entries to open a blank row for the plant and purchasing organization pairing you want to create.
Enter the Plant and Purchasing Organization
Enter the plant code in the first column and the purchasing organization code in the second. Each row represents one authorized pairing, so a purchasing organization that serves multiple plants needs one row per plant it's assigned to.
Save and Transport
Save the entry and assign it to a transport request so the assignment moves consistently through your development, quality assurance, and production systems, exactly like any other piece of enterprise structure customizing.
One of the more important design decisions this assignment step exposes is whether a business runs a plant-specific or a cross-plant (also called centralized) purchasing model, and OX17 is exactly where that decision gets expressed in configuration.
| Model | How It Works | Typical Use Case |
|---|---|---|
| Plant-Specific | Each plant is assigned to its own dedicated purchasing organization, giving a one-to-one relationship | Independently operated plants, or businesses wanting local buying autonomy per site |
| Cross-Plant (Centralized) | One purchasing organization is assigned to multiple plants, centralizing procurement decisions | Businesses consolidating buying power, negotiating group-wide vendor contracts, or standardizing procurement policy |
| Reference Purchasing Organization | A separate purchasing organization holds centrally negotiated contracts and pricing conditions that other purchasing organizations reference | Large groups wanting local execution but centrally negotiated terms |
Neither model is universally "correct" - the choice depends entirely on how centralized the business wants procurement decision-making to be. A plant-specific model keeps reporting simple and local teams autonomous, but sacrifices the negotiating leverage that comes from consolidating spend. A cross-plant model centralizes that leverage but requires more discipline around plant selection on every purchase order, since the purchasing organization itself no longer implies a single site. Many larger implementations land somewhere in between, using a small number of purchasing organizations that each cover a logical group of plants - by region, for example - rather than either extreme.
Where a single plant happens to be assigned to more than one purchasing organization - a less common but supported configuration - SAP allows one of those assignments to be flagged as the standard purchasing organization for that plant. This standard setting is what the system defaults into fields like the source list and certain automatic reorder processes when a purchasing organization isn't explicitly specified elsewhere, which makes it worth setting deliberately rather than leaving it to whichever assignment happened to be entered first in OX17.
Because OX17 is a pure enterprise structure prerequisite, its absence doesn't show up as a subtle reporting gap - it shows up as a hard stop the first time someone tries to actually procure for a plant.
A purchase order or purchase requisition line referencing a plant and purchasing organization combination that hasn't been assigned via OX17 simply cannot be saved. This is usually the very first symptom project teams see, often during the earliest round of procurement unit testing for a new plant.
Source lists and purchasing info records are maintained per plant and purchasing organization, so if the assignment doesn't exist, these master data objects can't be created either, which cascades into blocking automatic source determination during requisition processing.
Longer-term procurement documents like contracts and scheduling agreements are similarly scoped to a purchasing organization and, for release orders against them, a specific plant - meaning the same assignment gap blocks these document types just as thoroughly as it blocks a standard purchase order.
Beyond blocking or enabling transactions, the OX17 assignment also shapes how procurement reporting and spend analytics can be sliced once a system is live, since plant and purchasing organization are two of the most commonly used filters across standard SAP MM reports.
| Transaction / Area | How the Assignment Is Used |
|---|---|
| ME2M / ME2L | Purchase order lists filterable by plant, purchasing organization, or both together |
| ME80FN | General purchasing document analysis, using plant/purchasing org as core selection criteria |
| Spend Analytics (S/4HANA Fiori apps) | Category and vendor spend dashboards typically segment by purchasing organization, then drill into plant-level detail |
| Source List Overview | Shows which vendors are approved per plant and purchasing organization combination |
This is a good example of why getting the underlying enterprise structure assignments right pays dividends well beyond the initial go-live: a procurement leadership team trying to compare spend across plants under a centralized purchasing organization needs the OX17 assignments to be complete and correctly scoped, or the resulting report simply won't reflect the plants it's supposed to.
Because OX17 is a hard prerequisite for purchase order creation, its place in a project's overall build and data migration timeline deserves the same attention given to storage location and other enterprise structure objects in our companion guides.
If a project is migrating open purchase orders or scheduling agreements from a legacy system, the OX17 assignments for every plant and purchasing organization combination referenced in that migrated data must exist before the load runs, or the migration will fail validation on those specific documents. This is a common oversight when a new plant is added late in a project timeline, after the main data migration plan has already been finalized.
Source lists and purchasing info records, which are also typically loaded early in a project alongside vendor master data, depend on the same OX17 assignment being in place. Teams that load vendor master data and info records before confirming OX17 is complete often discover the dependency the hard way, when an otherwise correct info record load fails purely because the plant/purchasing organization pairing wasn't yet authorized.
OX17 also becomes relevant well outside a typical greenfield implementation. When a business acquires a new site and folds it into an existing SAP landscape, or divests a plant into a separate legal entity, the purchasing organization assignments for that plant need to be revisited as part of the transition plan, since acquired plants often need to be reassigned from a legacy purchasing organization to one aligned with the acquiring company's procurement model, and divested plants need their assignments cleanly removed or transferred rather than left pointing at a purchasing organization that no longer has any business relationship with them.
A closely related but distinct assignment step links a purchasing organization directly to a company code, rather than to a plant. This is a separate configuration entry, and understanding why both typically need to exist together clarifies a lot of confusion during enterprise structure design.
The company code assignment governs financial responsibility - it tells SAP which company code's books a purchasing organization's transactions post against. The plant assignment covered by OX17 governs physical/operational responsibility - it tells SAP which plant a purchasing organization is allowed to procure materials for. A standard, uncomplicated setup has both assignments aligned: the purchasing organization is assigned to the plant's company code, and separately assigned to the plant itself via OX17. Where a purchasing organization is deliberately cross-company (serving plants under more than one company code), both assignment layers need to be reviewed carefully, since a mismatch between the two can produce confusing account-determination errors that look like a plant configuration problem but actually trace back to the company code side of the assignment.
This is also where the OX18 assignment discussed in our companion guide on assigning a plant to a company code becomes directly relevant: the plant's own company code, established via OX18, and the purchasing organization's company code assignment need to agree (or be deliberately configured to cross company codes) for procurement and financial postings to reconcile cleanly.
When Arjun Industries brought its Nagpur plant, 1252, into the SAP landscape - the same expansion covered in our storage location and purchasing group case studies - Pramod Behera had to make a deliberate decision about which purchasing model to use before touching OX17. The original Pune plant, 1251, had been running under its own dedicated purchasing organization, PO51, from day one.
Rather than creating a second dedicated purchasing organization for Nagpur, procurement leadership decided this was the right moment to centralize raw material buying across both sites to strengthen vendor negotiating leverage. Pramod assigned the existing PO51 purchasing organization to plant 1252 via OX17, in addition to its existing assignment to plant 1251, moving the business from a plant-specific model to a cross-plant model for that purchasing organization. Buyers operating under purchasing group E01 (raw materials, from our purchasing group guide) could now source raw materials for either plant using the same negotiated vendor contracts, while each purchase order still had to correctly specify which plant the goods were actually going to.
The one operational adjustment this required was training the Nagpur procurement team to always double-check the plant field on each document, since PO51 no longer implied Pune by default the way it always had before. This is exactly the trade-off described earlier in this guide - centralization gained negotiating leverage but required more discipline on document entry - and it's a pattern worth anticipating whenever a purchasing organization moves from serving one plant to serving several.
Testing procurement before OX17 is complete
Project teams sometimes jump into purchase order testing for a new plant assuming the plant and purchasing organization already work together, only to hit an assignment error that could have been caught during configuration review.
Assuming a company code assignment covers plant-level procurement too
These are two separate assignments, and having one in place doesn't substitute for the other - both need to be reviewed independently.
Moving to a cross-plant model without updating user training
As illustrated in the Arjun Industries case study, centralizing a purchasing organization across plants changes what buyers need to check on every document, and skipping that training step leads to purchase orders raised against the wrong plant.
Skipping the transport request
An OX17 assignment saved locally rather than captured in a transport won't reach quality assurance or production, causing the same procurement document failures there that would otherwise have been caught in development.
Changing an existing assignment without impact assessment
Reassigning a plant to a different purchasing organization after go-live can affect open contracts, source lists, and info records tied to the original purchasing organization, so this should always go through proper change management rather than being treated as a simple configuration tweak.
This is the direct, literal symptom of a missing OX17 entry. Check table T024E or run OX17 for the specific plant and purchasing organization combination in question to confirm the assignment actually exists in the system you're testing in.
As with any enterprise structure object, this points to a transport that was never released or never imported, rather than a configuration mistake. Check the transport logs for the original OX17 change.
Since these master data objects depend on the OX17 assignment being in place, this error should be treated as a strong signal to verify the assignment before troubleshooting the master data object itself.
If a purchasing organization has recently been extended to serve multiple plants, this is usually a user-entry issue rather than a configuration one - confirm buyers understand the plant field must now be actively verified rather than assumed, as covered in the case study above.
The OX17 assignment step and the underlying T024E table are unchanged between SAP ECC and SAP S/4HANA - the configuration logic transfers directly. What differs in S/4HANA is mainly on the reporting and Fiori app side: apps like Manage Purchasing Organizations and various procurement analytics tiles surface the plant-to-purchasing-organization relationship more visually than the classic SPRO table view did, but the underlying assignment mechanics a consultant configures remain identical to what's described in this guide.
Because OX17 is enterprise structure customizing, access to change it should be tightly restricted to the basis and configuration team, not left open to functional consultants or power users making ad hoc adjustments. This matters more than it might first appear, since a single incorrect or premature OX17 entry - assigning a purchasing organization to a plant before the business has actually approved that procurement model - can quietly change which buyers see which requisitions, well before anyone notices the underlying configuration shifted.
On the transactional side, separate authorization objects control which users can actually create purchase orders for a given plant and purchasing organization combination, layered on top of whatever OX17 makes technically possible. It's worth treating these as two distinct controls during a security design workshop: OX17 answers "is this combination technically valid in the system at all," while transactional authorizations answer "which specific users are allowed to act on it." A common design mistake is assuming the OX17 assignment itself provides sufficient control, when in practice both layers need to be designed deliberately for a clean segregation-of-duties model.
| Term | Meaning |
|---|---|
| Purchasing Organization | The legal/organizational entity responsible for procurement, defined via OX08. |
| Plant | The physical site for production, procurement, and inventory management, defined via OX10. |
| T024E | The table storing the assignment between purchasing organization and plant, maintained via OX17. |
| Plant-Specific Purchasing Organization | A purchasing organization assigned to exactly one plant, operating independently of other sites. |
| Cross-Plant Purchasing Organization | A purchasing organization assigned to more than one plant, centralizing procurement decisions. |
| Source List | Master data defining approved vendors for a material at a given plant and purchasing organization. |
OX17 is a favorite topic in SAP MM enterprise structure interviews precisely because it's simple to configure but easy to explain poorly. These questions cover what's usually asked.
What does OX17 actually do? It creates the assignment between a purchasing organization and a plant, authorizing that purchasing organization to procure materials for that specific plant - it doesn't define either object, only connects two that already exist.
What's the difference between a plant-specific and a cross-plant purchasing organization? A plant-specific one is assigned to a single plant; a cross-plant one is assigned to multiple plants via repeated OX17 entries, centralizing procurement at the cost of requiring more careful plant selection on each document.
What happens if you try to create a purchase order without this assignment? SAP blocks the document - the plant and purchasing organization combination is rejected until the OX17 assignment exists.
How does OX17 relate to the purchasing organization's company code assignment? They're separate configuration steps serving separate purposes - one governs which plant can be procured for, the other governs which company code the transaction posts against financially - and both typically need to be aligned for procurement and finance to reconcile cleanly.
Walk through how you'd decide between a plant-specific and cross-plant model for a new client. A strong answer references the trade-off covered in this guide: centralization gains negotiating leverage and standardization but requires more document-entry discipline, and the right choice depends on how centralized the client wants procurement decision-making to be.