4.3. Bill of Materials
The standard SAP Business One BoM is extended with operation items. Through operation items, features and resources can be linked to the production. For fine - tuning the scheduling of the receipts and issues, milestone types can also be set.
4.3.1. Header and Grid
Row type
A row in a BoM may be of type:
- Material (purchased or own-manufactured)
- Operation
- Unfinished Product (unfinished product sent to the outsourcing partner)
- Unfinished Material (unfinished material received from the outsourcing partner)
- Supplier Material
- By-Product (a material with negative quantity)
- Phantom (a virtual item in SAP Business One)
- Cost (any non-inventory item)
The sequence of materials and operations are important: materials required for an operation should come above (from top down) the operation, while produced products should come below. It is possible to define operations that do not require materials or do not create products.
The system differentiates purchased and own-manufactured materials. Materials that have their own BoM are regarded as own-manufactured. These materials are indicated with a factory icon on the ‘Row Image’ field. When clicking on the yellow arrow, for own-manufactured materials the BoM, while for purchased materials the Item Master Data will open.
The operation quantity indicates the time required for the process. The initial parameters of an operation are copied from the manufacturing operation, and these parameters may be customized for the BoM. The operation details form can be opened by clicking the row image icon. An operation can be defined as outsourced too. Fully outsourced operations are indicated with a different icon on the ‘Row Image’ field.
Row Image
Indicates the row type.
![]() | raw material/subassembly material/supplier material |
![]() | operation/fully outsourced operation |
![]() | unfinished product/unfinished material |
![]() | by-product |
![]() | phantom item |
![]() | cost |
To see the Operation Details form, click on the Row Image of the operation.
Milestone Type
The two main function of milestones is to connect the operation lines with the belonging materials and to determine for what operations PDC information should be captured.
With the help of the milestones, during a PDC booking for the operation line the belonging materials or the product can also be booked. Milestones can be set for every BOM line where the row type is not ’Cost’. You can set the milestone type at a phantom line, but it makes no sense as the milestone settings from the BoM of the phantom item will be used in the production order.
The ‘Milestone type’ field can have five values:
- None: The milestone is turned off.
- Milestone: The line is a milestone. Only operations can be milestones.
- Depends on Begin: The line is a dependent line that will be issued when a Start Job is reported for the belonging operation.
- Depends on Every: The line is a dependent line that will be issued/received at every PDC booking where a quantity is booked. (Partial job/Complete job)
- Depends on End: The line is a dependent line that will be issued/received at every complete job booking for the belonging operation.
We recommend to only use the ’Depends on End’ milestone type if the base quantity of the material is 1 and only ’Completed’ job bookings are used.
For the depending line the issue type must be ‘Manual’ while for operations it must be ‘Backflush’. Outsourced operations must be set to milestones and the issue method for an unfinished product must be set as ‘Backflush’. To set a milestone for the product, use the ‘Milestone type’ column on the BoM.
When you save the BoM, there is a validation for the milestones.
A warning will appear if there is no belonging operation for a material line with a ‘Depends on…’ milestone setting.
The saving will be blocked in the following cases:
- There is a material line with the milestone type set to ’Milestone’.
- There is an operation with the Issue Method is ‘Manual’.
- There is a material with the milestone type set to a Depends on… setting but the Issue Method is ’Backflush’.
- There is an outsourced operation that is not set as a ‘Milestone’.
- There is an unfinished product with ‘Manual’ issue method.
BxID
Internal identification value.
Rejected Warehouse
Add the warehouse code where the rejected unfinished products or by-products will be stored to this field to the respective lines. For MultiBranch company databases the add-on validates if the rejected warehouse is in the same branch as the branch defined for the bill of materials row warehouse.
4.3.2. User Defined Fields
Milestone type
To set a milestone for the product, use the ‘Milestone type’ UDF on the BoM. As the product is never an operation, it makes no sense to set the milestone type as ‘Milestone’. When set as ‘Depends on…’ it is always connected to the last operation of the BoM.
Calculation Base Quantity
The Calculation Base Quantity is an estimated quantity of a typical production order created from the BoM. This number is used when the setup and shutdown costs are calculated for a single unit of product. For more information please see: Cost calculation
Rejected Warehouse
Defines the warehouse used for rejected main products. For MultiBranch company databases the addon validates if the rejected warehouse is in the same branch as the branch defined for the bill of materials header warehouse. Keep in mind that SAP B1 does not validate branch consistency for BOMs; it validates for production orders but not for BOMs. This is why the add-on introduced a new Master Data Configuration Setting named “BOM Branch Validation Level”.
Is Auto Roll
If set to ‘Yes’ the due date and time of an MTO child order is automatically aligned with the begin date and time of the parent production order. This setting is only taken into account if the ‘Auto Roll child MTOs’ option is enabled on the MTO tab of BX Core settings.
BxID
Internal identification value.
Operation Granularity
The operation granularity value impacts the allocation algorithm. The quantity produced in the operation during the allocation must be a multiple of this value. If the operation granularity value is set to zero, the allocation can be continuous.
Custom Code
On the ‘Custom Code’ field a generic BoM code can be added. This code can contain letters and numbers.
By default the production order created from the BoM only inherits the ‘Milestone type’ and ‘Rejected Warehouse’ UDFs. In order to copy other UDF settings to the production order, set the UDFs on the UDFCopyFromBoMToProdOrder table.