Preparing a BOM in the Report Manager

Now reading version 18.0. For the latest, read: Preparing a BOM in the Report Manager for version 25
 

The Bill of Materials, or BOM, is a key ingredient of the data set generated from a board design project. This report-type document provides a listing of all components required to build the product, including the bare board, which is essentially the base 'component' upon which all other parts are assembled. The BOM acts as a guide for what needs to be procured to build the product as designed. It also provides a means to calculate cost based on the required number of assembled boards in a requested spin.

The final BOM is generated through a dedicated and powerful report generation engine, the interface to which is known as the Report Manager

For complete control over the BOM configuration process, including an interactive view of supply chain information as well as custom BOM rows and columns, add an ActiveBOM document (BomDoc) to your project. The BomDoc gives instant visibility into the component supply chain and also supports user-defined rows and columns, ideal for including those extra items, such as glue, labels, and so on.

BOM Creation Options

The final Bill of Materials output is generated by the Report Manager. The Report Manager can generate output in a variety of formats, including PDF, CSV, Excel, HTML or TXT.

The Report Manager can extract the source information for the BOM from:

If the project does not include an ActiveBOM, the standard approach is to generate the BOM from the project. Using this approach, the Report Manager is used to perform all of the BOM layout configuration, such as selecting and arranging the columns, filtering out unneeded rows, including supplier information, and so on. The Report Manager is also used to configure the output settings, such as the format, the required Excel template, and so on. With this approach the BOM is prepared once the design process is complete.

The recommended approach is to include an ActiveBOM document (BomDoc) in the project. The BomDoc is a source document that can be added at any stage during the development of the design - in essence a live parts list. Parts appear in the BomDoc automatically as the components are added to the schematic, and the designer can immediately begin exploring pricing and supply chain options, and assign preferred parts. The designer can also select and arrange the columns, apply filters, add line numbers, add additional custom columns, add additional rows for custom items - in short perform all of the typical BOM preparation steps, during the design process.

If the project includes a BomDoc, this is automatically used as the source for the Report Manager, unless you manually override this in an OutputJob by setting the Data Source to [Project] rather than [ActiveBOM document]. Because the BOM layout is prepared in the BomDoc, the Report Manager interface changes slightly, replacing the Column Grouping feature with the View Options feature.

When the project includes a BomDoc, it is used as the source for the Report Manager. When the project includes a BomDoc, it is used as the source for the Report Manager.

Creating a BOM

The Report Manager can be opened from:

  • The project source schematic documents or from the active PCB document using the schematic or PCB editor's Reports » Bill of Materials command.
  • A Report-type output job configured in an OutputJob.
  • An ActiveBOM, using the Reports » Bill of Materials command.

In each case, the source document(s) will be compiled and the Report Manager dialog will open.

A Bill of Materials ready to be generated in the Report Manager. In this example the project did not include a BomDoc, so the Report Manager includes the Grouped Columns option.A Bill of Materials ready to be generated in the Report Manager. In this example the project did not include a BomDoc, so the Report Manager includes the Grouped Columns option.

Although the dialog is referred to as the Report Manager, it is not named as such. It is automatically named according to the type of report being created, which in this case is a Bill of Materials.

The dialog presents the various properties/parameters for all components on the source document(s). Each property/parameter has its own column. The designer simply chooses which data to include in the generated BOM report. Data can be grouped, sorted and filtered as required, with the ability to include additional parametric data from a nominated PCB for the project and/or a linked database, as required.

The following sections take a closer look at manipulation of the data to arrive at the desired BOM content prior to exporting the report.

Layout and Grouping of Data

If the project includes an ActiveBOM then the configuration present in the BomDoc is automatically transferred to the Report Manager dialog. This ability to push the BOM setup from ActiveBOM into the Report Manager results in differences in the layout and features available in the Report Manager dialog.

The fundamental difference in the Report Manager dialog is:

  • BOM from ActiveBOM - the grouping is defined in ActiveBOM, in the Component Grouping dialog. The ActiveBOM editor also includes View Mode controls to instantly switch from a flat view (one row per component) to a grouped view (like-components grouped in a single line).
  • BOM from Project - if there is no BomDoc in the project, or the Report Manager is opened from an OutputJob that has a Data Source of [Project], then the Report Manager must be manually configured. In this situation BOM component grouping is performed in the Report Manager, in the Grouped Columns section.

Report Manager - when the BomDoc is the Source

Typically there is no need to perform any layout and grouping changes to the data in the Report Manager dialog if a BomDoc is the source, but it is possible, if required.

The left-hand side of the Report Manager dialog contains a region titled All Columns but does not include the region titled Grouped Columns, as the grouping is performed in the BomDoc.

In a BomDoc, the designer can switch column grouping on and off using the View Mode feature, instantly switching between Flat View (one part per row) or Base View (parts grouped according to the settings in the ActiveBOM Component Grouping dialog). If the Report Manager is using a BomDoc as the source, then the dialog includes a View Mode option, use this to switch between one part per row, or grouped. The Consolidated View is used where their are variants, this is discussed later in the Catering for Variants section.

These differences in the Report Manager dialog can be seen by comparing the two following images.

When the BOM is sourced from a BomDoc there is no Grouped Columns section, as grouping is performed in ActiveBOM.When the BOM is sourced from a BomDoc there is no Grouped Columns section, as grouping is performed in ActiveBOM.

For the remainder of this page, the dialog version with the Grouped Columns region will be described, because apart from grouping, all of the techniques and strategies used to configure the dialog applies in both versions.

Report Manager - when the Project is the Source

When the project is used as the source for the Report Manager, the left-hand side of the dialog contains two regions – Grouped Columns and All Columns. The latter provides a listing of all columns for use in the report, with each column reflective of a particular component property/parameter. Each column has an associated Show option. Enable this option to display that column in the data region on the right-hand side of the dialog. This region displays the data as it will be presented in the generated BOM report.

Enable a column's Show option to have that data included in the BOM.Enable a column's Show option to have that data included in the BOM.

Each enabled column will list information for each of the components found in the source document(s), where such information exists. If the component does not have any information for that particular property/parameter, the field will be blank.

Grouped Columns - when the Project is the Source

Components can be grouped together by one or more specific columns of information. For example, you may wish to group components by LibRef, Footprint, or Comment. To do this, simply click and drag the desired data column from the All Columns region to the Grouped Columns region. The latter will display an entry to reflect that data is being grouped by that specific property and the data region of the dialog will update accordingly. These columns can also be displayed in the data region if required, using the associated Show option.

To remove grouping by a particular property, simply drag that entry from the Grouped Columns region back into the All Columns region. To ungroup the BOM information, either clear the Grouped Columns region or group by Designator.

Changing Column Order

The order of the columns in the data region of the dialog can be changed from the All Columns region or from within the data region itself:

  • To change the order of columns from the All Columns region, click and drag the required entry to the new position as required. The dragged column will be inserted above the highlighted entry.
  • To change the order of columns from the data region, click and drag a column heading to its new position as required. While moving a column header, a valid new position for that column is highlighted using two vertical green arrows.
Note that while the order of the columns in the data region will update to reflect a change in order in the All Columns region, the reverse is not true. To view all enabled columns of data within the confines of the data region's window use the Force Columns to View option, available from the Menu button or right-click menu.

Adjusting the Column Widths

If not all data is displayed in a particular column, either drag the applicable column separator to widen the column, or use the Column Best Fit command available from the menus (shortcut Ctrl+F). This command widens each column according to the longest field entry. The Column Best Fit command works correctly only if there is enough overall width in the data region; manually drag the last column's separator as required to achieve this. The Column Best Fit command is unavailable if the Force Columns to View option is enabled.

Sorting Data within Columns

Data in any given column can be sorted in ascending or descending order by clicking on the column header (away from the far right drop-down arrow). Note that all columns will be affected but the rows will be sorted according to the column that was clicked. Multi-column sorting is also supported, hold the Shift key as you click on subsequent column headers to sub-sort by that second column.

Custom Filtering

In some cases, you may need to exclude specific parts from the BOM report, such as fiducials, or perhaps a unique set of components need to be listed with a particular designator root and/or footprint. To support this, the dialog provides the ability to apply custom filtering, giving you full control over the content of the BOM. To apply filtering, click the filter icon (), located to the right of each column header. Notice that the subsequent menu lists all individual row entries for quick selective filtering. Click the (Custom…) entry to access the Custom AutoFilter dialog. Use the dialog to specify which rows of data to show in the BOM based on the filtering criteria defined for that column. 

Once a filter has been applied, the filter icon turns blue () to indicate custom filtering is in force for that column. Apply custom filtering to other columns of data as required – the full filter currently applied is reflected at the bottom-left of the data region, as shown below.

An example of using custom filtering.An example of using custom filtering.

To clear the current filter being applied to the data set, click on the small cross to the left of the filter expression at the bottom-left of the data region. If filtering is applied to multiple columns, clear the filtering for a particular column only by choosing (All) from that column's drop-down menu.

Where the Layout is Stored

The layout defined in the Report Manager is stored, so that it can be re-applied the next time the dialog is opened. The location of where the layout is stored changes, depending on where the Report Manager is sourcing the BOM information from, and where the Report Manager is opened from.

  • If the source for the Report Manager is an ActiveBOM BomDoc: the current layout defined in the BomDoc is transferred to the Report Manager each time it is opened.
  • If the source for the Report Manager is the project (or the PCB):
    • And the Report Manager is opened from the schematic or PCB editor's Reports menu, the Report Manager layout is stored in the project file.
    • And the Report Manager is opened from an OutputJob, the Report Manager layout is stored in the OutJob file. This is done so that the OutJob can be transferred from one project to another project.

Adding Database Information Directly to the BOM

Source information for a Bill of Materials has, in the past, been taken from the property information of the placed components for the design. That can lead to a lot of information attached to a schematic that only is used for the BOM. If components are linked to an external database, the Report Manager dialog is able to extract record information directly from that database. When configuring the BOM for the project, enable the Include Parameters from Database option. This option will only be available if one or more components in the design are linked to an external database.

Parameters can be included from an external database, regardless of the method employed to link to that database: *.DbLib, *.SVNDbLib, or *.DbLink. In the All Columns region, the  icon is used to distinguish a parameter that exists for one or more placed components in the linked external database. 

To gather together all database parameters at the top of the All Columns region, click the unlabeled header section, to sort by the icon column.

Adding PCB Information to the BOM

Source information for a Bill of Materials can be based on property information taken from the PCB in the event the designer needs to customize and use the report generation for more than a BOM. An example would be for generation of a pick and place file where every placement machine wants the data (such as X, Y location) in a different column order and in different file formats. When configuring the BOM for the project, enable the Include Parameters From PCB option. This option will only be available if there is a PCB document in the project file. If generating a BOM from the PCB document, this option will be enabled and unavailable since the parameters are automatically included due to the PCB being the source for the report. The banner of the Report Manager dialog will update to reflect the PCB document and in the All Columns region, a PCB parameter is distinguished through use of the  icon. 

To gather together all PCB parameters at the bottom of the All Columns region, click the unlabeled header section, to sort by the icon column.

If the project includes multiple PCB documents, the BOM Report Options dialog will appear.

Choose which PCB to include in the BOM in the BOM Report Options dialog.Choose which PCB to include in the BOM in the BOM Report Options dialog.

To switch to another PCB document, use the Change PCB Document command available using the Report Manager's Menu button or with the right-click menu.

Use the Menu button (left image) or right-click menu command (right image) to change the PCB document.   Use the Menu button (left image) or right-click menu command (right image) to change the PCB document.

Including Supplier Data in the BOM

Being able to cost a project and determine the quantities of design components to be ordered from suppliers/distributors is an essential part of the overall design process. After live Supplier Links have been added to the components as required, the linked supplier data – including pricing and stock information – can be included at design release time in a Bill Of Materials.

Supplier data is only available when generating a Bill of Materials for the project. It is not available when generating a Bill of Materials for a PCB document and is also not included when generating a Simple BOM.

The following supplier-based data can be included in a Bill of Materials by enabling the checkbox of each desired item in the All Columns region:

  • Manufacturer n - name of the manufacturer.
  • Manufacturer Lifecycle n - manufacturer lifecycle status, if available.
  • Manufacturer Part Number n - manufacturer part number.
  • Supplier n - name of the Supplier.
  • Supplier Currency n – alphabetic code for the chosen currency used for pricing data.
  • Supplier Order Quantity n – number of units required to fulfill the desired production quantity of the product.
  • Supplier Part Number n – part number for the Supplier Item.
  • Supplier Stock n – how many units of the item the Supplier has in stock.
  • Supplier Subtotal n – the Supplier Order Quantity multiplied by the Supplier Unit Price, resulting in the subtotal for that item.
  • Supplier Unit Price n – cost per unit of the Supplier Item.
The BOM uses indexed sets of supplier-related data to cater for components that have more than one linked Supplier Item, for example Supplier 1, Supplier Currency 1, etc., Supplier 2, Supplier Currency 2, etc., and so on.

Pricing and stock information is sourced directly from enabled Part Providers. Having these parameters added to the components has no bearing on the population of data in the BOM.

To learn more, refer to the page, Linking to Part Supply Chain Data.

Specifying Production Quantity

You can fully cost a project based on the number of units of the product that it is intended to produce. i.e., the Production Quantity. Use the Production Quantity field in the Supplier Options region of the Report Manager dialog to specify the required value.

Supplier Options only become available provided that the Supplier Unit Price n and/or Supplier Subtotal n parameter columns are enabled.

The value entered into the Production Quantity field is used to determine the Supplier Order Quantity – the quantity of the component that would need to be ordered to produce the given product quantity. This is calculated by multiplying the Quantity (of each particular component) by the specified Production Quantity.

In turn, the Supplier Order Quantity is used to determine the Supplier Unit Price that applies. Remember that suppliers typically offer various quantity pricing levels, depending on how many units of an item are purchased. To have the software round up the Supplier Order Quantity and take advantage of the next (reduced) pricing level, simply enable the Round up Supplier Order Qty option to reach the price break option.

Changing Supplier Currency

The currency used for pricing-related data in a Bill of Materials can be specified from the range of supported currencies. Choose the required currency from the drop-down field available to the left of the Production Quantity field, in the Supplier Options region of the Report Manager dialog. The chosen currency will affect the following data columns:

  • Supplier Unit Price n
  • Supplier Subtotal n

Choose from a list of supported currencies when outputting pricing data in a Bill of Materials.Choose from a list of supported currencies when outputting pricing data in a Bill of Materials.

Be sure to include the Supplier Currency n column in the BOM to distinguish which currency is in use through an associated alphabetic code.

Using Cached Pricing Data in BOM Parameters when Offline

When working online (connected to the internet and signed in to an Altium account) pricing-based data for components with Live Links to Supplier Data will be updated. When generating a BOM, the latest pricing at that point in time will be used. For specific currencies, the exchange rates are updated on a daily basis.

When working offline, you can use the last cached pricing data in the pricing-based parameters in the BOM. To do this, from within the Report Manager dialog, enable the Use cached pricing data in parameters if offline option in the Supplier Options region of the dialog.

Catering for Variants

If there are variants defined for the design, you can generate a Bill of Materials based on a chosen variant. To do this, select the required variant from the Change Variant sub-menu, accessible from the Report Manager dialog Menu button or right-click menu.

Base the BOM report on a specific variant.Base the BOM report on a specific variant.

All currently defined variants for the design are listed in the menu. When a specific variant is chosen for use, it is identified by showing   next to it. In addition, the Report Manager dialog banner will reflect use of that variant.

Dialog banner showing which variant is currently being used.Dialog banner showing which variant is currently being used.

Revert back to using the base design by choosing the [No Variations] entry in the menu.

The data region of the dialog will update accordingly:

  • Components defined as Not Fitted for the chosen variant are removed.
  • Parameter values are updated with those from the chosen variant where they vary from the base design.

To keep components that are Not Fitted in the BOM yet explicitly mark them as such, enable the Include Not Fitted Components option at the bottom of the dialog. A new column named Fitted is created. Note that this option is only enabled when the dialog is configured to show a specific variant.

For each component, an entry in this column reflects whether the chosen variant is Fitted or Not Fitted. By default, this column is shown (as the left-most column) sorted and grouped. This causes all Not Fitted components to be grouped together at the end of the BOM – after all Fitted components.

The value entered into the Quantity column for a component that is Not Fitted on the chosen variant, is zero (0).

Variant Support when the Source is a BomDoc

If the Project Manager is using a BomDoc as the source, it is possible to generate a single BOM for all variants. This is referred to as a Consolidated BOM, to display this, set the View Mode to Consolidated View.

Two additional variant-specific additional columns are automatically displayed, for each variant:

  • <VariantName> - Qty
  • <VariantName> - Price

All parts in all variants (two in this example) are included in Consolidated View. This feature is only available when the Report Manager source is a BomDoc.All parts in all variants (two in this example) are included in Consolidated View. This feature is only available when the Report Manager source is a BomDoc.

Exporting the Report

Once the content for the BOM is defined and organized as required, the report can be generated – either printed, or exported, into one of several file formats.

Controls for exporting the BOM data are located in the Export Options region of the Report Manager dialog.

To export the Bill of Materials, perform the following steps:

  1. Use the File Format drop-down menu to choose the format in which to export the BOM data. The following formats are supported:
  • CSV (Comma Delimited) (*.csv)
  • Microsoft Excel Worksheet (*.xls, *.xlsx, *.xlt, *.xltx)
  • Portable Document Format (*.pdf)
  • Tab Delimited Text (*.txt)
  •  Web Page (*.htm, *.html)
  •  XML Spreadsheet (*.xml)
  1. To open the exported file in the relevant software application, ensure the Open Exported option is enabled.
  2. To add the generated report to the project after it is created, enable the Add to Project option.
  3. Click the Export button (or choose the Export command from the dialog's right-click menu) then use the dialog that appears to specify where and under what name the BOM report is to be saved. Click Save to create the export.
  4. Alternatively, use the Report command from the Report Manager dialog right-click menu to access the Report Preview dialog with the BOM report already loaded. Use the various controls in the window to adjust the view of the report.  The Report Preview can also be exported into a variety of file formats using the Export button.
 
  1. Click the Print button to launch a dialog from where you can determine what is printed and to which printing device the job is sent.  
 

Exporting Steps

Using Excel Templates

When exporting the BOM report into Microsoft Excel Worksheet format, you have the ability to control the appearance of the report using a nominated Excel template. Controls for choosing the template are provided in the Excel Options region of the Report Manager dialog.

Format an Excel-based report using a specified Excel template.

Enter the required template filename (*.xlt, *.xltx) directly into the Template field, or click the … button to browse for it. The file can be specified with a relative or absolute path using the Relative Path to Template File option. Alternatively, click the drop-down arrow to access a listing of predefined, default templates that are included as part of the software installation.

s

Excel templates for use with BOM reports, installed as part of the installation.

Default Excel templates can be found in the \Templates folder of the software installation in the Shared Documents destination folder specified during install.

Including Design Data in the Excel BOM

Parameters are a universal feature of Altium's design software and can be added to the project, a document, a component – virtually almost any object. Project and document parameters can be extracted from the design and included in the Bill of Materials. It is also possible to extract system generated data, such as the production quantity, currency, and so on.

This is done by defining mapping in the Excel template.

Parameter and system data would typically be included in the BOM header, these are mapped in the form:

Field=FieldName

An example would be Field=Currency

Information that is required for every component is mapped in the Excel template in the form:

Column=ColumnName

An example would be Column=Designator

To learn more, refer to the page Including Design Data in the Excel BOM

Using Output Job Files

A Bill of Materials can also be configured and generated as part of an Output Job Configuration file (*.OutJob). Add an Output Job to the project via the New menu, or right-click on the project in the Projects panel.

To add a BOM output generator to an open Output Job file, click Add New Report Output under the Report Outputs category and choose Bill of Materials from the pop-up menu. A second menu is provided from which you can specify the data source (which source document(s) is to be used when the BOM report is generated). Only applicable data sources are available, leaving less room for error.

The data source for a BOM can be a single, specific source schematic document, the PCB design document, all source schematic documents (the [Project] entry), or an ActiveBOM document. 

Once added, double-click the new entry to access the Report Manager dialog and customize the BOM as outlined in this document. Once the output generator is configured, link it to the relevant Output Containers. A BOM report can be generated as file-based output or published as a PDF. It can also be printed by sending directly to a printing device as Hard Copy (through a configured Print Job).

Enable the output for the selected Output Container then click Change to configure the output, ready to generate a BOM report from an Output Job file.Enable the output for the selected Output Container then click Change to configure the output, ready to generate a BOM report from an Output Job file.

Settings defined in the Report Manager dialog when generating a BOM from the Schematic or PCB are stored in the project file and are distinct from those defined for the same output-types in an Output Job file. While generation from the source editor can be good for quick testing, the Output Job file provides a portable solution that can be used across projects without having to set up a favorite BOM customization time and again.
For a detailed look at Output Job files, including all aspects of their configuration and operation, refer to the page, Preparing Multiple Outputs in an OutputJob.

Publishing to PDF Based on an Excel Template

From an Output Job file, the BOM report can also be published to PDF format based on a nominated Excel template by performing the following:

  • When configuring the BOM output generator:
    • Set the File Format in the Export Options region to Microsoft Excel Worksheet (*.xls, *.xlsx, *.xlt, *.xltx).
    • Specify the required Excel template using the Template field in the Excel Options region.
  • Link the BOM output generator to the required (and configured) PDF Output Container, as shown in the image above. The following rules are applied to determine the size of the spreadsheet to print to PDF:
    • Cells to the right of the right-most column header are not included in the output.
    • Cells below the lowest text cell are not included unless they contain horizontal borders and/or background colors and are not separated from the main section of the BOM by more than ten blank rows.
If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Note

The features available depend on your Altium product access level. Compare features included in the various levels of Altium Designer Software Subscription and functionality delivered through applications provided by the Altium 365 platform.

If you don’t see a discussed feature in your software, contact Altium Sales to find out more.

Content