Decide the appropriate solution for contract manufacturing in an SAP system based on your business needs. Learn about the possible options available across the main logistics modules. Gain details about the main master data and transactional data needed to implement the manual and subcontracting solutions.
Key Concept
Contract manufacturing (CM) is the process by which a company plans and purchases services to produce finished materials or intermediates at a production facility not owned by the company. A contract manufacturer is the actual production facility that manufactures or stores bulk or finished goods for the company. Subcontracting is a process similar to CM, which is used to purchase services to produce finished materials or intermediates of raw materials. More stringent requirements exist for using this process, including capacity planning and inventory visibility. If the company does not own any of the materials used in the CM facility, then the manufacturer is a normal vendor for the company.
Often it is difficult to decide the type of solution a company should implement to cover contract manufacturing (CM) business cases. I outline two CM solutions, manual and subcontracting, and then go into detail about the master and transactional data required to implement each. In a second article, “Manage Complex External Manufacturing Operations with a Full Contract Manufacturing Solution in SAP,” I describe a third option, which is to use the full CM suite.
Figure 1 shows a business process decision flow that could help you in choosing the appropriate contract manufacturing solution, saving resources and time. The sections that follow detail the master and transactional data required for each. Note that the configuration for the subcontracting solution is more extensive than the configuration for the manual posting solution.

Figure 1
Business process decision flow that can take place for all material types
CM with Manual Posting
In the case of CM with manual posting, all CM activities are handled via direct posting to a specific cost center or internal order provided by the controlling department. Usually CM with subcontracting is used to register any manipulations. In this case, the subcontracting department can use transaction code MIGO with movement type 201 or 202, respectively, to issue the consumed goods and to receive the manipulated goods against a predefined cost center. Movement types 201 and 202 represent a goods issue and reverse goods issue to the cost center, respectively.
CM with Subcontracting
You should adopt the subcontracting option if the subcontractor is associated with only one SAP plant and the produced material can only be sourced from a subcontractor. You should have no need to track the inventory, capacity planning, production, and total manufacturing costs of the produced goods. In addition, the backflush process provides acceptable accuracy for the component’s use. The component’s materials are delivered directly to the subcontractor from the vendor, and the subcontractor transports the produced goods to the company warehouse. Figure 2 shows a typical subcontracting material flow.

Figure 2
Subcontracting business process flow
Table 1 shows the activities to be done in an SAP system for the company plant and subcontractor, which correspond to the letters mapped out in Figure 2.

Table 1
Subcontracting business activities
Master Data
Following are the main master data and related parameters needed to manage the contract manufacturing solutions (in the case of subcontracting).
Step 1. Create the vendor master. In this case the company doesn’t own any components. The CM is created as a normal vendor. This vendor is the entity that performs the service or work to produce the finished product in the CM plant. In essence, this vendor represents the contractor’s activities.
Step 2. Create the material masters. Create the material views following the same procedures used for normal plant materials with the following exceptions:
- For the produced material, the special procurement field on the material requirements planning MRP-1 view should be set to 30.
- On the MRP-2 view the repetitive mfg box and the repetitive mfg profile box should be blank.
- For the produced material, the special procurement field on the costing view should be set to 60. This procurement entry allows you to properly cost the produced material.
Step 3. Create a production bill of materials (BOM) for the assembled material. There is no difference in the procedures used to create, change, or display BOMs at a subcontractor from those used in-house at a company plant.
Step 4. Create a subcontracting purchasing information record. The subcontracting purchasing information record will tie the price and conditions between the company and subcontractor for a specific service. In this case, the purchasing department uses transaction code ME11 or follows menu path Logistics > Materials Management > Purchasing > Master Data > Info Record > Create.
To set a subcontracting purchasing information record appropriately, purchasers should enter the following details into the system:
- Information category: Subcontracting
- Material: Brand code
- Vendor: Subcontractor
- Material group: CONOPSGRP
- Sort string: Material number of the produced product
- Standard quantity equal to the costing lot size of 1000
- Unlimited overdelivery allowed: Flagged
- Price conditions: Could be applied to the information record to capture miscellaneous costs such as freight or customs costs.
Step 5. Create a source list. The source list is master data that can be used to validate the deliveries of an approved purchasing source (in this case the subcontractor) for a given material, plant, or period combination. In this case, the purchasing department uses transaction code ME01 or follows menu path
Logistics > Materials Management > Purchasing > Master Data > Source List > Create.
Note
Changes to the BOM after the creation of the scheduling agreement are not recognized by the existing scheduling agreement. A new scheduling agreement for the assembled material is required by the system to reflect the BOM revisions.
Step 6. Create a costing BOM for the assembled material. This process does not differ from the normal company production facility work process. The costing department creates costing BOMs for each final product based on the logistic BOMs. This information is used to establish standard cost estimates for the year.
Step 7. Create, mark, or release a cost estimate. This process does not differ from the normal company production facility work process. A standard cost estimate is calculated from the costing BOM for each final product and component. The standard cost estimate for each final product includes a manual cost estimate for the subcontractor cost. The manual cost estimate should be entered against a cost component that best describes the item supplied by the supplier. For example, if the supplier is providing a bottle and service (such as transportation), the entire charge should be classified as packing material.
Transactional Data
The material to be produced by the vendor can be ordered as a subcontract item in a purchase requisition, purchase order, or scheduling agreement. Each subcontract item has one or more sub-items that contain the individual components the vendor needs to perform the subcontract work or value-added service. The individual component items can either be:
- Entered or changed manually
- Copied from an existing BOM (this is known as a BOM explosion)
Step 1. Manage the purchase requisition (for the materials to be produced by the vendor). If you enter a subcontract item with components in a purchase requisition or copy it from a BOM, the system automatically creates dependent requirements for each component. These are only relevant for MRP. You can create the subcontracting purchasing requisitions either automatically (as result of the MRP run) or manually using transaction code ME51N or by following menu path Materials Management > Purchasing > Purchase Requisition > Create > ME51N.
Step 2. Manage a subcontract scheduling agreement for the assembled material. In a scheduling agreement you enter the material that is to be produced in a subcontract item. In each schedule line you enter the components that are to be provided to the vendor or copy them from the BOM. This means that the components and their reservation items are arranged below the schedule lines.
Use the same procedures to create, change, and display scheduling agreements for materials that the company purchases from the subcontractor as you would use for regular vendors at a company plant with the following addition: the item category field must be set to L.
This helps identify the material on the scheduling agreement as being part of a subcontracting operation and determines specific fields and interactions that need to occur with a subcontracting material. Also in this case, use transaction codes ME31L, ME32L, or ME33L to create, change, or display a subcontracting scheduling agreement, respectively. Alternatively you can follow menu paths:
- Materials Management > Purchasing > Outline Agreement > Scheduling Agreement > Create > Vendor known
- Materials Management > Purchasing > Outline Agreement > Scheduling Agreement > Change
- Materials Management > Purchasing > Outline Agreement > Scheduling Agreement > Display
Note
In the case of infrequent deliveries, a company can also decide to use purchase orders instead of scheduling agreements. Each subcontract item in the purchase order has component items. Either they are copied from the purchase requisition manually or copied from a BOM. The purchase order price is the subcontract price for manufacturing the ordered material. To create a purchase order, use transaction code ME21N or follow menu path Materials Management > Purchasing > Purchase Order > Create > Vendor/Supplying Plant Known.
Step 3. Manage a scheduling agreement for the materials used in the assembled material. Use the same procedures to create, change, or display scheduling agreements for materials that the company purchases that is delivered to a subcontractor (using transaction codes ME31L, ME32L, or ME33L, respectively). Follow the same procedure you use for those materials in-house at a company plant with the following addition: the delivery address needs to reflect the subcontractor’s address and you must check the subcontractor vendor (SC) check box.
Step 4. Monitor materials to be provided to the vendor. By monitoring the material stocks to be provided to a vendor, you can determine whether the components required for subcontract work at the vendor’s site are actually available in the warehouse. To obtain an overview at any time of the current situation for stocks of material provided to a vendor, you can use report SC Stock Monitoring for Vendor (RM06ELLB). The report provides the following information:
- Current stock situation
- Planned issues
- Planned receipts
The components that are provided to the subcontractor are managed as stock provided to a vendor. Components in a subcontract order that are consumed can only be debited from the stock of the material provided to the particular vendor. Provide the components to the subcontract via transaction code ME2O or by following menu path Logistics > Materials Management > Purchasing > Purchase Order > Reporting > SC Stocks per Vendor. You can also access this screen via transaction ME20.
Step 5. Post the goods receipt of the end product (with consumption of the components). You post the goods receipt for the end product with reference to the subcontract order item. At goods receipt, a consumption posting for the components is also made from the stock of material provided to the vendor. For each goods receipt item, the system copies the components with their quantities as goods issue items. If the vendor (subcontractor) consumed a greater or smaller quantity than was planned in the purchase order, you can adjust the component quantity at goods receipt. To post the goods receipt of the manipulated good and confirm the consumption of the components sent to the subcontractor, the warehouse department uses transaction code MIGO with reference to the subcontracting purchasing document. In this case the system suggests movement type 101 to receive the finished goods and movement type 543 to register the consumption of the components.
Note
If the vendor only tells you after the goods receipt has been posted that a greater or smaller quantity of the components was consumed than had been planned in the purchase order, the difference must be posted as a subsequent adjustment.
Note
When returning subcontracting components (under consumption), the system checks that the quantity returned is not larger than the quantity originally transferred to the subcontractor. This check, however, only takes place on material and plant levels.
Note
If you post the components in Inventory Management, you can print goods receipts or issue slips. The following output types are provided for this purpose:
- WLB1: GI slip for subcontracting version 1
- WLB2: GI slip for subcontracting version 2
- WLB3: GI slip for subcontracting version 3
Note
If the agreement expires, the 543 movement types do not execute. When the assembled subcontracting material is received at the company plant it also automatically initiates the 543 movement type. This movement creates an FI transaction that debits a usage account and credits inventory.
Step 6. Post the Logistic Invoice Verification (LIV). The process to check and book an invoice for a subcontract order is the same as for a standard purchase order. Additional account postings do occur, however,if there is a price variance. The Account Payable department performs the LIV booking using transaction code MIRO or by following menu path Logistics > Materials Management > Purchasing > Purchase Order > Follow-On Functions > MIRO - Logistics Invoice Verification.
Step 7. Post the vendor’s payment. The treasury department performs the vendor’s payment to cover the subcontracting services via transaction code F110 or by following menu path Accounting > Financial Accounting > Accounts Receivable > Periodic Processing > F110 – Payments.

Gaetano Altavilla
Dr. Gaetano Altavilla is a senior SAP practice manager. His focus is on pre-sales, delivery of SAP application solutions for large international corporations, and SAP knowledge management in Europe, the Middle East, and Africa (EMEA).
In his 18 years of SAP application experience working for many multinational companies, such as Procter & Gamble and Hewlett-Packard, he has covered a wide range of ERP logistic areas, focusing on the MM, WM, SD, LES, PP, PP-PI, PLM (QM, PM, PS) modules, as welll as CRM (TFM), SRM (EBP), SCM (SAP APO), and MES (ME) components.
Dr. Altavilla holds a degree with first-class honors in mathematics from the University of Naples and is certified in many SAP modules: SAP Logistics Bootcamp, SAP MM, SD, LE (SHP/WM/LE), PP, PLM (PM, QM, PS), SRM, CRM, SCM (APO), SCM (TM), FI, CO, and Solution Manager. He also has experience in ABAP/4 and application link enabling (ALE) and IDocs. He has participated in numerous industry conferences, such as the SAP Skills Conference in Walldorf at SAP SE.
You may contact the author at Gaetano_altavilla@hotmail.com.
If you have comments about this article or publication, or would like to submit an article idea, please contact the editor.