Bill of Materials

Bill of Materials Bruce

A Bill of Materials (BOM) is a list of the components that are to be used with the printed circuit board. The BOM is used to select and purchase the correct components as well as to specify where each component should be placed on the printed circuit board.

Frequently, a BOM generated by a CAD system or inventory system may not contain enough information for an Electronics Manufacturing Services (EMS) provider to accurately select the correct components. This can lead to delays, as additional communication between the EMS provider and their client becomes necessary to clear up any questions that may arise.

The BOM Manager may be used to check a BOM against a database of known components. Where single matches are found, there should be no doubt as to which component to select. Where multiple matches are found, the user is encouraged to choose a suitable component from among those components which match the given specifications.

Input BOM

Input BOM Bruce

If the product does not already contain an output BOM, then an input BOM should be opened and processed. This can be done in one of two ways:

  • Click on the Open file button and select the file to import as the Input BOM. An input BOM may be a spreadsheet or text file suitable for import into a tabular format. When importing a text file, a dialog box is first displayed in which the parameters for interpreting the text file may be specified.

  • Open the BOM in your spreadsheet program and copy all relevant cells to the clipboard. Then right-click on a cell in the Input BOM grid and choose Paste row(s) after.

Note: Only import of Excel 97-2003 .xls spreadsheet format is supported. Other spreadsheet formats (such as Excel .xml, Excel .xlsx or OpenOffice .ods) are not supported at this time.

If the product contains a file named AssyPartList.xls then this will automatically be imported as the Input BOM. If there is a file named AssyPartList (with any other filename extension) then it will automatically be loaded as a text file (if possible).

Input BOM guidelines

For best results when processing an input BOM, use the following guidelines:

  • Typically, a BOM should include columns for Designator, Quantity, Description, Value, Package (footprint), and Manufacturer's part number. Additional columns may also be useful.

  • Use appropriate column headers. Information in a column with header Comment will be passed to the output BOM but not be used when processing components. Information in a column with header Ignore will be completely ignored.

  • The designator column may either contain a single designator (with a row for each instance of a component) or a space-separated list of designators (with only one row per component). In the latter case, the quantity should match the number of designators listed.

  • Do not mix different kinds of information in the same column. For example, use separate columns for manufacturer name and manufacturer part number.

  • A Value column should contain only the component value (in ohms, farads, etc). Other component parameters (tolerance, voltage, etc) may either be grouped in a Description column, or listed in dedicated columns for each kind of parameter.

  • Within a column, use a space as the separator between different kinds of information. Do not use commas, slashes or other punctuation. Commas and periods will in most cases be interpreted as decimal points.

  • Avoid using non-English words. The BOM processor understands only English.

  • Components such as resistors and capacitors should specify the component's electrical value in the Value column. The Description column should specify the component type (resistor, capacitor, inductor, etc) together with all other parameters (such as tolerance, voltage/current rating, package style, etc) necessary to choose an acceptable component. In general, you should not list a manufacturer's part number unless that specific part is required.

  • Discrete semiconductor components (such as diodes and transistors) should have their part number listed in the Description column or in the Manuf part no column. The package style should also be listed in the Description column or in the Package column.

  • Other components should have their part number listed in the Manuf part no column. The component description and package style should be listed in the Description column.

  • Be as specific as necessary when describing components. Parameters which are unimportant for selecting a component should not be listed, as they may restrict component selection to more costly items. On the other hand, underspecified components will possibly lead to the selection of an inadequate component.

Preparing the Input BOM for processing

Once an input BOM has been loaded, an attempt will be made to guess the type of information in each column. These guesses will not always be successful, especially if a column contains a mix of different kinds of information, or if the first few rows of information should be ignored.

Right-click on the first row of valid data to ignore all preceding rows, or to mark the selected row as containing column headers. This should improve the column header guesses.

Right-click on a column header to change the type of information contained in that column. Columns of type Comment will not be used when processing the input BOM, but their contents will be copied to the output BOM. Columns of type Ignore will be ignored.

Select any cell and start typing to replace the contents of that cell. Click a second time in the cell to enter edit mode for that cell. Right-click on any row to add a new row below the selected row or paste in additional data in the row(s) following the selected row.

Processing the Input BOM

Click on the Process (Gears) button to process the Input BOM. For each row in the Input BOM an attempt will be made to identify the component type and parameters. Then the Macaos Component Database will be searched for matching components and the results displayed as the Output BOM.

Output BOM

Output BOM Bruce

The results of processing the Input BOM are displayed as the Output BOM.

The Qty and Designator columns are taken from the Input BOM.

The MACAOS key name and Stocked by columns indicate the results of the database search.

The remaining columns show how component parameters from the Input BOM have been interpreted. The information in these columns may be modified, as necessary, in order to improve the search results. After making modifications, click on the Retry button to perform a new component search (without parsing information from the Input BOM).

To replace the text in a cell, click on the cell and start typing to enter the new text. To modify the existing text, click a second time to put the cell in edit mode. Note: Avoid making a double-click, to prevent opening the Macaos Component Chooser.

If only one matching component is found in the database, then it's key name (unique identifier in the Macaos Component Database) is shown together with known suppliers that stock the component. These rows are green.

If two or more matching components are found, then the MACAOS key name column displays the number of components found. Double-click on the row to open the Macaos Component Chooser and select a component. These rows are yellow.

If no matching component is found you may double-click on the row to open the Macaos Component Chooser and perform a manual search for a suitable component or to add the component to the database.

To mark one or more rows as components not to be installed, select the desired row(s) and right-click. To select more than one row, press the Ctrl key while selecting additional rows. For each selected row, the text DO NOT INSTALL will be inserted in the MACAOS key name column. If necessary, double-click on a row to select a component and remove the DO NOT INSTALL mark.

Once you are satisfied with the contents of the Output BOM, click on the Save button to save the changes in the product and update the product in the Macaos Repository.

Macaos Component Chooser

Macaos Component Chooser Bruce

The Component Chooser may be used to search for components in the Macaos Component Database. The module consists of a search pane (top), results list (middle) and component details (bottom).

The Macaos Component Database encompasses commonly used components with links to the stock numbers of widely used component suppliers. Each entry in the Macaos Component Database has a unique Key name. For many components, the key name is the same as the manufacturer's part number. However for common parts, such as resistors and capacitors, the key name is a string of component parameters. This allows equivalent components from different manufacturers to be grouped together.

Up to 6 different criteria may make up a search, one for each row in the search pane. For each row, the selected fields (Key name, Part number, Description and Package) are compared with the specified text. The comparison may be that one or more of the selected fields contains, begins with, ends with, or equals the specified text.

Click on the Search button to execute a search. All matching components are listed in the results list. Select an item in the list to view the component details.

When a component is selected, its parameters are shown in the Part details pane. At the right, the known suppliers for the component are listed. Double-click on a supplier to open the supplier's web page for the component. The Display package information displays additional information about the component package/footprint (if available). The Add new part to database button allows you to add a component to the database.

Once you have located the component to be included in your BOM, click on the Select and close button to close the Component Chooser and update your BOM.

Adding a component to the Macaos Component Database

If a component is not found in the Macaos Component Database, then you may add it to the database by specifying the appropriate parameters.

For common capacitors, inductors, resistors and resistor networks you should specify the component parameters (such as value, tolerance, rating, etc). For these components, a key name based on the specified parameters will be used to identify the component in the database.

For other components (including special-purpose capacitors, inductors and resistors) you should specify the manufacturer's part number (without spaces). This will also be used as the key name in the database.

You should also enter a descriptive text of the component and a package descriptor (such as 0805 or TSSOP-16 or whatever). If the component is a surface mount device or is lead-free (RoHS compliant), then mark the appropriate check box(es).

You should enter at least one supplier stock number for the component, as this will contribute to the usability of the component in the database.

Clicking on the Save and close button adds the specified component to the database. The component will only be visible to users from your company (and selected EMS providers) until the submitted data has been verified by Macaos.

Note: The Macaos Component Database is still in the early stages of development. Although there are a few thousand components in the database at the time of first releasing the Assembly Data Manager Module, there is still a long way to go to encompass the hundreds of thousands of components that might be used on a PCB. Adding the components that you use in your BOMs helps make the database more useful for you as well as other Macaos Enterprise users.