Load BOM

The PCBA Visualizer user interface consist of 2 tab pages, each representing a  data set. The BOM tab page contains all functionality to edit and verify the part definitions from the BOM file. Logically the CPL tab page handles component positions from the CPL file.


The first part of assembly data consists of the Bill Of Materials (BOM), a list of all the part definitions and which components they are used for. The purpose of this file is to uniquely identify each part so the assembler places the correct components on the board.

The best way to identify a part is to supply the unique Manufacturer Part Number (MPN). As an alternative a Supplier Part Number (SPN or SKU) can be given.

For more generic components where the specific manufacturer is not important, for example for passive components like resistors or capacitors, a clear description of value, maximum tolerance and voltage should be given. Do not forget to also specify the component type: resistor or capacitor.

All CAD systems can export a BOM file, based on the information available in the CAD library. So the quality of the BOM file depends a lot on the quality of the information in the CAD library. In case the CAD library only contains description of the part it might be difficult to match this to an MPN.

A BOM should contain one line per part. On that line we need at least a list of reference designator (comma or space separated) and a Manufacturer Part Number, a Supplier Part Number or a clear description.

In case you manually edit the file, make sure to add MPN or SPN as much as possible. It is also important to keep the file structure clean. All info of a single part should remain on a single line.

When the PCBA Visualizer is first loaded, it shows the BOM tab page with an empty parts table. Use the Load BOM button on the top right to load a BOM file into the application.


Select BOM file

In case no BOM file was loaded yet, the Upload BOM window is shown with a Browse button to select the BOM file to upload.


In case a BOM file was already uploaded, a message comes up allowing to select whether to load a new BOM file, or to reload the already loaded BOM. Both options will replace the already loaded data.


Clicking the Upload new button will open a file selector to select the BOM file to upload.

Clicking the Reload and overwrite BOM button will load the already uploaded file in the editor.

Determine columns

In order to read in the data correctly, all data needs to be split up in columns. How this is done depends on the type of file being uploaded.

Excel or CSV files

In case the loaded file is an Excel file or a CSV file, the system will automatically show the data in columns and you can move to the next section.

PDF or Word files

PDF and Word files cannot be automatically converted to plain text.

The application detects this and shows a message to assist you:


Clicking on the link will open the file in your computer, so you can copy the appropriate text from the document and paste it in the text editor. After clicking Save it will be further treated as a text file. See below.

It is highly discouraged to use PDF or Word files.

Text files

In case a text file is loaded, the columns need to be determined.

The editor tries to guess whether the columns are separated by a specific character (e.g. tab or semicolon). If this is the case, this separator will be selected and the result shown.


A different separator can be selected from the list. Take care to check the whole file.

In case there are some lines that are not correct (e.g. space is chosen as separator and one of the values contains a space), you can use the Text Editor to directly edit the file and save the results without having to leave the application.



In case there is no single delimiter that separates the columns, it is possible that all columns have a fixed width.

Select the Fixed width option to activate the column editor.

Then you can click with your mouse to add or remove column marks (red vertical lines).


Determining the scope

Click Next to go the scope section.

Here you can indicate which part of the data should be processed and which line contains column headers.


In some cases there are lines in the file that are not needed. You can delete them by clicking the checkbox in front of the line and then clicking the Delete row(s) button.

Define column mapping

Click next to go the the column mapping section.

In order to interpret the supplied data correctly, you need to assign a meaning to the columns.


Above each column is a list box with possible labels. The following labels are available:

  • None – Assign to columns for which you do not find an appropriate label, but still want to import.
  • Ignore – Assign to columns that can be ignored and should not be imported.
  • Manufacturer part number (MPN)* – This column contains manufacturer part numbers. Also assign it in case the column contains a mixture of MPNs and descriptions.
  • Manufacturer* – This column contains the manufacturer name.
  • Description* – This column contains a description of the part.
  • Package name* – This column contains a name or description of the package of the component.
  • Quantity* – This column contain the number of components that use this part definition.
  • Reference designator* – This column contains a list of the component reference designators that use this part definition. Preferably this is a comma separated list, but other variants are also correctly parsed.
  • Supplier name – This column contains the name of the supplier of the part. Typically this column comes together with a column containing SPNs.
  • Supplier part number (SPN) – This column contains supplier part numbers.
  • Library name* – This column contains the name of the component library.
  • Value* – This column contains the component values. There are no rules on how to define the values.
  • Comment* – This column is used for comments.
  • URL*- This column contains a URL to the part specification sheet.
  • Mounting type* – This column defines the mounting type (e.g. SMD or TH) for the parts.

Labels marked with * can only be assigned to a single column.


Click the Submit button to send the data to the server for analysis.

For each data line in the file the server will try to identify the correct MPN and return the results. These results now need to be reviewed.