Bill of Material (BoM) in SAP PP

โšก Smart Summary

Bill of Material (BoM) in SAP PP is a structured list of components, quantities, and units that defines how a finished product is built using transactions CS01, CS02, and CS03 for create, change, and display.

  • ๐Ÿ“‹ Core Definition: BOM records each component, quantity, and unit for one parent material.
  • ๐Ÿ› ๏ธ Creation (CS01): Enter parent material, plant, BOM usage “1”, and validity date.
  • ๐Ÿ”„ Modification (CS02): Update component codes or quantities when production methods change.
  • ๐Ÿ‘๏ธ Display (CS03): Review header and component list without editing master data.
  • ๐Ÿญ Planning Impact: BOMs drive MRP, purchasing, and standard cost roll-ups.
  • โš ๏ธ Pitfall Control: Create missing masters first; avoid duplicate alternative BOMs.

Bill of Material (BoM) in SAP PP

What is Bill of Material (BOM) and its Role?

A Bill of Material (BOM) is a formally structured list of the components that make up a product or assembly. The list contains the material number of each component, together with the quantity and unit of measure.

  • A BOM can be single-level or multi-level. For example, a finished material contains semi-finished materials, which in turn contain raw materials at the next level.
  • Multiple alternative BOMs can exist for the same product depending on lot sizes, validity dates, and production methods.
  • BOMs are used in production planning for semi-finished items and in purchase planning for raw materials.
  • BOMs feed standard cost calculations by rolling up costs from raw materials through semi-finished assemblies to the finished product.
  • Material BOMs are maintained in the PP module, while equipment BOMs are used in Plant Maintenance (PM).

How to Create BOM

Step 1) From the SAP Easy Access screen, open transaction CS01.

  1. Enter the parent material for which the BOM needs to be created.
  2. Enter the Plant Code.
  3. Enter BOM Usage = “1”, which is used for creating a Production BOM.
  4. Enter the “Valid From” date, which determines when the BOM becomes active.

Create BOM in SAP PP - CS01 initial screen

After filling in all the fields, click Enter icon or press Enter to go to the next screen.

Step 2) On the item overview screen:

  1. Enter Item Category as “L” (stock item); this may already be the default.
  2. Enter the Component material code in the Component field.
  3. Enter the Component quantity required.
  4. Press Enter or click Confirm icon โ€” the system auto-fills the description and base unit of measure.

BOM item overview with components in SAP PP

Useful Note: To drill into a component’s own BOM, double-click the Assembly indicator indicator in the Assembly column. If the box is not ticked, the component has no further BOM.

Step 3) Click the Header icon icon to open the BOM header screen, shown in the next step.

Navigating to BOM header view

Step 4) In the BOM header view:

  1. Enter the base quantity of the parent material. If set to 1 EA (each), the component quantities describe how much is needed to build one finished unit.
  2. Click Save icon to save the new BOM. The system shows confirmation BOM saved message in the lower-left corner.

BOM header detail with base quantity in SAP PP

How to Change BOM

Use CS02 whenever the list of components or any component quantity in the parent material is updated.

Step 1) From the SAP Easy Access screen, open transaction CS02.

  1. Enter the parent material whose BOM needs to be changed.
  2. Enter the Plant Code.
  3. Enter BOM Usage = “1”, used for the Production BOM.
  4. Enter the “Valid From” date for the change.

Change BOM CS02 initial screen in SAP PP

Step 2) After filling in all the fields, click Enter icon to go to the next screen.

  1. Change the component code or quantity as required.
  2. After completing all modifications, click Save icon to save the BOM. The system displays BOM changed message in the lower-left corner.

Editing BOM components in CS02

How to Display BOM

Step 1) From the SAP Easy Access screen, open transaction CS03.

  1. Enter the parent material whose BOM needs to be displayed.
  2. Enter the Plant Code.
  3. Enter BOM Usage = “1”, used for the Production BOM.
  4. Enter the “Valid From” date to filter the active record.

Display BOM CS03 initial screen in SAP PP

Click Enter icon to proceed to the next screen.

Step 2) The item overview screen lists each component along with its quantity.

  1. Click the Header icon icon to view the BOM header.

Displaying BOM component list in SAP PP

Step 3) The BOM header view is now displayed.

  1. Review the base quantity of the parent product and validity dates.

BOM header detail in display mode

Troubleshooting Common BOM Issues

  • Missing component master: If a component material does not exist, CS01 fails. Create the material master first, then return to the BOM.
  • Duplicate alternative BOMs: If a BOM already exists, SAP warns “Alternative BOM 2 is being created.” Ignoring this creates redundant data โ€” use CS02 to change the existing BOM.
  • Wrong BOM usage: A usage other than “1” excludes the BOM from production MRP. Verify the usage before saving.

FAQs

Usage “1” is a Production BOM used by MRP. Usage “3” is a Universal BOM available to any application. Choose “1” for shop-floor production and “3” when one structure serves multiple modules.

Yes. SAP supports alternative BOMs for the same material, distinguished by validity dates, lot sizes, or production versions. Only one is active per scenario, selected through the production version.

Use CS02 to set a deletion indicator on the header or item. Physical removal happens later via the SARA archiving program with object PP_BOM after dependency checks complete.

AI in SAP S/4HANA, such as Joule and predictive MRP, analyzes BOM usage, flags inconsistent components, detects duplicate BOMs, and forecasts component demand for smarter production planning.

Yes. PLM and CAD systems integrated with SAP use AI to extract components from drawings, suggest material codes, and push a draft BOM into SAP for refinement via CS01 or CS02.

Summarize this post with: