BOM (part)

The BOM (the Bill of Materials) lists show the parts (with quantities) that are required to build the assembly.

The BOM lists are shown only if Show BOM tab is marked on the Part Types collection member.

The BOM is changed by specifying the desired result on the Markup list.

If a part iteration has not yet been released, then the Current list isn't shown.

After an assembly has been released, the Current list will always show the latest released iteration of each BOM component. And, a BOM component's new iteration automatically shows on its parents' BOMs as soon as the component is released.

Since a part's most recently released iteration is always listed on the BOM, you must follow this best practice rule: parts with the same identifying number are interchangeable, and non-interchangeability cannot be controlled using only a revision. If a part is not interchangeable with its previous iteration, the modified part must be given a new identifying number - not a new revision.

Assemblies and their BOM components are typically owned by the home organization.

Some organizations adopt vendors' proprietary part numbers for their internal manufacturing/purchasing system (ERP) and reference them directly on their product BOMs. While this approach may seem simple in the short-term, it limits your purchasing department to exactly one source for each part, and may cause some assemblies to carry one vendor part while other assemblies carry a different but equivalent part. Changing a vendor part also requires changing each assembly where it's used.

The better method is to make an internal part with your own part number, list the various sources that meet your requirements, and use this internal part on BOMs.

When the Allow partner parts on BOM system rule is enabled, a part's name shows the owner's Display name.

When an assembly iteration is canceled, the Current list will show the child part iteration that was valid at the time the parent was canceled. If a child part is subsequently revised, that later iteration does not show on the canceled assembly's BOM.

Markup list §

This is the initial set of parts that will be approved for use on the iteration. The BOM mark-up identifies changes to the assembly's components. A component may be designed or purchased, or may be a subassembly with its own bill of materials.

While the assembly iteration is pending, a component part's most recent pending or released iteration is shown.

To modify the contents of the Markup list:

  • Add a new part to the list by dragging it from the Item Explorer Search or Recent list, and then dropping it onto the Markup list. Add quantity and other details as needed.

  • Change an existing part by selecting the component, opening the context menu, and selecting the Change Row with Same Item command. A new row is added, and the row details can be edited.

  • Replace an existing part by dragging a part from the Item Explorer and dropping it onto an existing Markup row. The details are copied to the replacement row, and can be edited.

  • Remove an existing part by selecting the part, opening the context menu, and selecting the Remove Item From List command (or pressing your keyboard's Delete key). The row is still shown, but is marked to be removed upon release.

If you're working with the parent assembly's first pending iteration, you can freely adjust the parts on the markup list by editing their Find numbers.

Releasing the part iteration on a change form copies the Markup list to the Current list. (Removed parts aren't copied.) The released iteration's Markup list cannot be changed after release, except when using the Administrator Override option. The markup always shows the child iteration that was active at the moment that the parent was released.

The Markup list can be sorted using the buttons in the list header, or commands on the context menu. Use the Tools ➔ User settings to adjust the markup data styles.

Current list §

This is the most recent set of parts that are approved for use on the iteration. While an assembly's iteration remains pending, its Current list of parts remains hidden.

After the assembly iteration is released, its Current list always shows the latest released iteration of each component part. That is, every time a child part is revised and released, the parent assembly's Current list is automatically updated to the new child's iteration.

When the assembly's iteration is canceled, the Current list is locked to show the final component iterations that were valid at the time of cancelation. If a child part is subsequently revised, the canceled assembly's Current list won't be updated.

You can see all of the parts that are approved for use on the assembly. Drill down to deeper levels by clicking on the expansion icons ( and ) on the left edge of each panel.

Markup and Current data fields §

Use the part icon to drag a part from the list to any other location that accepts a part. To select multiple parts from the Markup list, click on the first row, press the keyboard Shift (range) or Ctrl (individual), then click on a different row.

These fields can be edited on a parent assembly pending iteration ("markup"), and are locked on the released ("current") list.

Find §

This relates a physical location to a part number, and is useful for tracking revision changes to the row. A BOM's find number is 1 or greater, and unique for each row on a released assembly. Find numbers (that is, the general part location on the assembly) are stable for the life of the assembly, even if the part number changes. If the part is no longer needed, the BOM row is removed and the find number is left unused.

To ensure compatibility with multilevel BOM reports and transforms, as well as other software applications such as MRP, use values from 1 to 999 only.

In mechanical assembly drawings, a part's location is assigned a Find ("drawing bubble" or "callout") number. Users don't want to re-learn the physical location after every drawing revision, so both the drawing and BOM row keep the original find number from one revision to the next. For example, production users learn that Find 8 is a brass insert, initially part number 10101.

If a part is deleted from the assembly, the remaining Finds are not renumbered. Removing a part at Find 5 leaves a gap so that users (a) learn that there's no Find 5 part to be installed, and (b) continue to see all other parts are their previous Find locations. For example, the brass insert remains at the Find 8 locations.

If you replace the part at Find 8 to perform a similar function (say, with a stainless steel insert, part 12402), the BOM part is replaced at Find 8 – the BOM and drawing Finds don't change.

Find numbers also let you skip a part list on the assembly drawing. Without the part numbers, changing a part number on the BOM may not require any change to the drawing. For example, substituting the brass insert 10101 with stainless steel insert 12402 may not change how the Find 8 locations appear.

In an electronics assembly drawing, the RefDes value relates a physical location to a part number, and the Find simply identifies rows that have changed.

Quantity (value, units of measure) §
Give the quantity of child parts that are required to build the parent assembly.

A system rule setting determines whether the part's default unit of measure is locked on a BOM. If it's unlocked, then you can give a different measure in the same unit of measure category (count, length, mass, etc.). See the Lock part default unit of measure on BOM system rule help topic.

Whenever the component part's default unit of measure is modified, review the part's quantity and unit on each affected BOM.

To show an "as required" quantity, enter a typical or average value and select As needed for the BOM quantity category. This helps manufacturing forecast how many to get. If you don't have an estimate or the part is bought as floor stock, then use 1.

RefDes (Reference Designator) §

A reference designator (RefDes, also component designator or part locator) connects a single part instance in a diagram to its unique location in an assembly.

While editing the Markup list, RefDes values are separated, counted and compared to the Quantity value according to these rules:

  • A reference designator has a prefix of at least one alphabetic (A-Z, a-z) character. The prefix is immediately followed by at least one numeric (0-9) character; for example, S2 or R0012, but not FA or J 7. Different prefixes are OK: D8,VR2. A RefDes can have a suffix, like U43C.

  • Individual reference designator values are separated by a comma ,, semicolon ; or vertical line |; for example, U1A, U1B or LED7;LED9. Spaces can be used between each RefDes but are not required.

  • A hyphen - or colon : identifies a range of reference designator values, starting with the lowest value; for example, R6-R12 or C036:104. This starting value's format is applied to the entire range (only the numeric value of the upper limit is used). The upper value doesn't need a prefix, but if it's included then it must match the lower value's prefix. A range value cannot have a suffix.

  • Reference designator data is stored exactly as entered. However, characters in a valid RefDes are converted to upper case for comparison, counting and exporting to a PDX package.

  • A reference designator is one unit of the Quantity unit of measure. Fractional Quantity values can't be compared.

A count or format error (such as missing or duplicate values, or invalid range endpoints) changes the text background color, and is shown in the RefDes tooltip. After changing the RefDes or Quantity value, press the keyboard Tab key to save the value and update the calculation.

These rules are used to separate reference designators into PDX package ReferenceDesignator elements. Use the Notes field for normal text.

The Show RefDes changes on Markup user setting lets you choose whether to show the actual values, or their differences, when a new row is replacing a removed row at the same Find. The differences are shown only when the assembly is locked.

The content of the RefDes field is not indexed for search.

BOM quantity category §
BOM quantity categories are used in roll-up and pick list calculations.
  • A part quantity is typically specified Per assembly. The quantity is summed into its higher-level parent, then multiplied by that parent's quantity, continuing to the top assembly.
  • Parts specified as Per setup (such as a disposable fixture) and As needed (lubricants, fasteners, or floor stock) are included in roll-up and pick list reports, but are always treated as having zero quantity.

    You can use the Per setup or As needed setting to apply custom calculation rules for your manufacturing system in your Transforms and Views.

Notes §

This text may contain information for any purpose, such as an instruction for the current row.

The content of the Notes field is indexed for search.

The Notes field is not under revision control, and can be edited by the trustee and product team members.

  • To change the released iteration's value without creating a new iteration, unlock the released iteration, select the Markup list, and edit the data.

  • To keep the previous iteration's value, create a new iteration. On the Markup list's context menu, select the Change Row with Same Item command, then edit the data.

In some industries, especially electronics, an assembly may show a part as do not place or do not populate ("DNP"), do not install ("DNI"), no load ("NL"), or similar term.

The DNP location shows an optional part that changes the assembly's function (product variations), adds some temporary capability (in-process test), or allows manual adjustment after assembly (calibration). The assembly's documents say how and when the DNP part is used. The normal assembly process ignores the DNP part.

Thus, there's a difference between the parts shown on the BOM and the actual parts required to produce the assembly. This difference can be handled in several ways, depending on how manufacturing makes the intended assembly while skipping or postponing the DNP part:

  • Do not show a DNP part on the BOM. Instead, DNP parts are described only in documents – like the schematic, assembly drawing, or test/calibration procedure – that are intended for people and invisible to software systems.

  • Identify both normal and DNP parts in the same BOM row:

    • Show the normal part with correct RefDes and matching Quantity.

    • Show the DNP part's reference designators in the Notes.

    When the BOM is exported to downstream systems, there are no DNP part rows to filter. The BOM row's Notes can be exported or not, as needed.

  • Create one DNP part number that's used for any DNP location, and appears as a separate row in the BOM. The single BOM row can show all reference designators (e.g., C56, R21, U3) and the DNP row's quantity matches the RefDes count. The BOM that's exported to production can include or leave out this one DNP row.

  • Create a DNP non-inventoried/phantom equivalent of the standard part, as needed. For example, a placed resistor may have a DNP equivalent using a different part number. The CAD places accurate DNP schematic symbols and component footprints; each DNP part is separated from the normal placed parts; the CAD and PLM BOMs show an accurate quantity and RefDes of each DNP part; DNP parts may be filtered when exported to the production BOM; and BOM revisions clearly show markup differences when switching from DNP to the normal placed part (or vice versa).

  • Where a supply chain partner needs the placed part in one row and the DNP part (with zero Quantity) in a separate row, the Limit part to one BOM row system rule can be changed.

    The DNP rows will show a warning for RefDes with 0 quantity. You can avoid this by putting the reference designators into the Notes field, or by setting the correct DNP quantity and As Needed category.

    However, this system rule allows any BOM to show duplicate part rows with non-zero quantities. Duplicate rows complicate BOM maintenance, and may cause import problems for some manufacturing systems. In most cases, it's the partner's production engineer that needs the DNP parts; the DNP rows must still be filtered before importing into the manufacturing system. Using one of the other methods (a) can show DNP parts to humans while filtering them for production software; and (b) keeps the preferred system rule setting for simpler BOM management and exporting.

Related topics