Skip to content

How to Generate Bom and Centroid File from Altium ?


Altium Designer is a popular printed circuit board design tool used by electronics engineers. Two crucial outputs needed from the PCB design process are the bill of materials (BOM) and centroid data file. The BOM lists all components required to build the board while the centroid file provides pick and place machine information on component locations. This article covers how to properly generate and export the BOM and centroid file from an Altium PCB design.

Bill of Materials (BOM)

The bill of materials is one of the most important documents needed to manufacture a PCB assembly. The BOM lists all components required for production along with key details like:

  • Component designators – Unique IDs like R1, C5, U3 etc.
  • Description – Component name/value like “10uF capacitor” or “1N4148 diode”
  • Library reference – Part number matching supply chain naming
  • Quantity – Total amount needed of each component
  • Reference prefix – Code indicating component family like R for resistor
  • Supplier/Manufacturer – Vendor names for sourcing parts
  • Packaging info – Reel, cut tape, tray styles for assembly planning

The BOM provides procurement and the assembler every component required in the right quantities to build the board along with vital attributes to ensure the correct parts are sourced.

Centroid File

The centroid file provides exact X-Y location coordinates for every component to facilitate automated pick and place assembly. Key centroid data includes:

  • Designator – Identifying part code like C7 or U12
  • Center location – X and Y position relative to assembly origin
  • Rotation – Angle of rotated parts
  • Description – Component name and value

This coordinate information allows SMT assembly machines to precisely place components onto PCBs.

Exporting BOM and Centroids from Altium

Altium provides dedicated tools to generate manufacturing BOM and centroid files:

Bill of Materials

  1. Open the compiled PCB document in Altium.
  2. Go to Reports -> Bill of Materials to open the BOM dialog.
  3. Select the needed BOM template like Manufacturing or Procurement.
  4. Choose output format like CSV, Excel, etc.
  5. Set output file save location from dialog or project folder.
  6. Click OK to run generate BOM report.

The BOM can be further processed in spreadsheets if needed for supply chain integration. Detailed fields and custom company templates simplify BOM generation.

Centroid File

  1. With PCB open in Altium, go to File -> Fabrication Outputs -> Centroid File.
  2. Choose file type like CSV or Excel.
  3. Set options like units, precision and rotation format.
  4. Specify filename and location to save centroid data.
  5. Click OK to generate centroid file.

The flexible process supports both through-hole and SMD components. Advanced selections like grouping parts into batches for panelized assemblies is also possible.

BOM Settings and Configuration

BOM of PCB Assembly
BOM of PCB Assembly

Several options exist to tune the exported BOM:

BOM Templates

  • Use dedicated procurement and assembly templates to include required data
  • Leverage custom company templates aligned to ERP needs
  • Specify all component parameters needed by assembly vendor

Parameter Filters

  • Control which design data parameters show up for each component
  • For example, include packaging for procurement but not electrical specs

Designator Sorting

  • Set ordering like reference prefix or component type grouping
  • Optimized sequence reduces placement changeover during assembly

Board Variants

  • Generate separate BOM for each assembly variant if using design reuse
  • Ensure only components on a specific variant are included

Proper BOM configuration reduces errors and manual efforts needed for manufacturing handoff.

Centroid Settings

Key options when generating centroid data:


  • Specify millimeters (mm) or inches (mil) for coordinate values


  • Degrees or radians options for rotated part angles


  • Customize centroid file headers like including package size info


  • Set number of decimal places for coordinate values

Layer Types

  • Include centroids for: top, bottom, both layer parts


  • Define (0,0) board reference location (e.g. lower left)

Correct centroid file configuration avoids issues during automated assembly.

Validating Outputs

Before sending BOM and centroid files to manufacturing, carefully check:

BOM Validation

  • All components show up in BOM
  • Designators match schematic
  • Part numbers align with central library
  • Quantities needed are accurate
  • Parameters like package and supplier populate
  • Review for any duplicate or missing entries

Centroid Validation

  • All components have centroid data
  • Coordinates accurately reflect design placement
  • Rotation angles match component orientation
  • Units and precision are as expected
  • Spot check locations of a few footprints

Verifying the outputs matches expectations avoids incorrect or incomplete information being sent to procurement and assembly.

BOM/Centroid Generation Automation

Manual BOM and centroid file generation can be automated and streamlined in Altium using:

  • PCB Panels – Output all boards in a panel array in one action
  • Design Rule Checks – Execute BOM and centroid run as part of manufacturing DRC validation
  • Scripts – Write scripts to automate BOM and centroid file output
  • Version Control – Integrate into ECO release processes and versioned outputs
  • Output Job Files – Configure presets for one click BOM and centroid file output

This reduces repetitive manual actions for a robust manufacturing handoff process.

Source Control and Versioning

Maintaining properly versioned BOM and centroid data is crucial for quality:

  • Store files in source control like Git along with project
  • Include version number in BOM file names like ACME_Widget_A1.2_BOM.csv
  • Track changes to BOM and centroid files in version history
  • Associate file revisions with ECO release processes

This linkage provides full manufacturing component and assembly data traceability.

BOM/Centroid Generation – FAQs

SMT Bom checking

Here are some frequently asked questions around generating BOM and centroid files:

How often are BOM/centroid files updated?

BOM and centroid files should be re-generated anytime the schematic or PCB layout changes. This ensures procurement and assembly always have the latest component information.

What if assembly is outsourced?

The designer still provides the BOM and centroids reflecting the designed board to the contract assembler per their requirements. All supporting data helps avoid errors.

Can BOM reference distributor part numbers?

The BOM links to internal company part numbers. Distributor cross-reference info can be optionally included to aid procurement.

What if the PCB panelizes boards?

Panelized arrays output a single centroid file containing all boards. Software maps components to their locations in the panel for assembly.

How are BOM differences resolved?

The PCB BOM authority over schematic BOM. Any discrepancies are flagged for engineers to resolve component mismatches between tools.


The bill of materials and centroid location data are mission critical manufacturing deliverables from the PCB design process. Altium provides dedicated tools to properly generate and export these files by selecting appropriate templates, configuring settings, and customizing output parameters. Cross-validating the BOM and centroids against source data prevents incorrect manufacturing information that can lead to errors during procurement and assembly. Automating and integrating BOM/centroid file output into release processes and version control further enhances traceability and quality. With clean properly configured datahandoffs, manufacturers are set up for first-time-right production of complex electronics.

BOM/Centroid Generation FAQs

What is the difference between a BOM and a Pick and Place file?

The BOM provides the list of components and quantities needed. The Pick and Place file supplies precise X/Y coordinate locations for automated assembly. Both are required from PCB design tools.

What is the typical process for generating BOMs?

BOMs are initially created by the PCB designer then often passed to manufacturing engineers to review and add any missing fabrication and assembly information before release.

How can part reference designators be kept aligned between CAD tools?

Unique component IDs like R27 or C122 should be assigned in the schematic CAD then imported to the PCB layout tool rather than renumbered.

Is supply chain integration used for BOM generation?

BOMs can link to part catalogs, company databases, and ERP systems to automatically pull manufacturer part numbers, datasheets, pricing etc.

How are BOM revision levels maintained?

PCB design tools integrate with version control systems like Git to save BOM file revisions synchronized with project commits providing full version traceability.

Generating Step by Step

Method for Generation of Centroid File and Bill of Material from Altium

Altium tool is very handy in the generation of Bill of Material (BOM) and Electronic Component Placement List (CPL) which is also referred as Centroid file. The following is the way to go.

All you need to know about Bill of Material

The BOM file is telling the manufacturer about the components which must be installed on the PCB. The BOM is also having information of the exact locations of the components. For instance, there are different points on PCB such as T1, R1, and C1 etc. which depicts the location of components such as resistor, capacitor, inductor, and transistor etc. The information is present in the Bill of Material file and is very important for the assembly process. BOM is generally a simple text format file to be opened in excel having comma separated (CSV) form. This file can also be opened in any other software tool supporting spreadsheets. The following figure is an example of BOM file.

an example of BOM file.

From the figure above, it can be seen that the first column is having information of the values of capacitors and the column is named as “comment”. The comment section should have as much details as possible such as tolerance and maximum allowable voltage information etc. This is for allowing the manufacturing staff to have information of the perfect component to be used for the project. The next column name is “designator” which has information of the position of the component on PCB so that component is soldered at accurate place. Third column is “footprint” and it is also referred as “package” having information of the SMD components having different sizes. Therefore, manufacturing staff is able to know about the size of component to be best fit for PCB. There are different sizes of the SMT components such as 0603, 1206, and 0805 etc. The last column is named as “LCSC part number” which carries information for speeding up the process to get accurate results. RayPCB is having a very large library of components having a unique number. These unique part numbers can be utilized for the identification of accurate part needed.

For saving time in forthcoming projects, the “LCSC part number” can also be added in to the CAD software. In this way when the BOM list is generated next time, the components will be assigned with their unique numbers and it will save time in future.

This article is having detailed information of adding the LCSC part number in Altium tool, however same can also be done in other EDA tools as well. First step is opening of the integrated library project which has the required parts such as capacitors, resistors, and inductors etc. The file is named with any unique name such as XBASIC. However, this project is containing two major parts i.e. the schematics symbol and the other is PCB footprints. The file with the symbols of schematics should be opened having an extension (.SchLib). Next step is going to the tab of schematics library.

schematics library

The tab is having information of all required parts in the library, for instance by selecting the SMD Ceramic Capacitor having 0603 size, double clicking it will open up its entire properties.

SMD Ceramic Capacitor

Now, in the area of parameters, you have to click on the “add” option for adding the new parameter for the part. This can be illustrated in image below.

“add” option

After this adding the new parameter is done. Now name it as “LCSC Par # XX” and then put the designated value for the part such as “C0000”.


The value of the LCSC part number form can be acquired from the website of RayPCB as there is a list of about 35,000 different components.

 35,000 different components

Similarly, the LCSC part number can be added in to all of the parts of the project easily to make the assembly process of future projects smooth.

Generation of Bill of Material File

The Bill of Material can also be generated like all other files such as drill and gerber files. The BOM file is generated with the help of “output job file” when Altium tool is considered. Therefore, the use of output job file must be incorporated.

Click on the projects, go to “add new to project” and then select the option of “output job file” as illustrated in figure below.

add new to projec

By choosing options above, job file will be added to the project underway and while using it you are able to generate numerous output files. Here, special focus is made on the generation of BOM file, therefore it will be discussed.

Therefore, by clicking on “add new report”, selecting “bill of materials” and then choose “project”. This process is shown in figure below.

bill of materials”

In the generation of BOM, there is an option for adding the column with parameters, as shown below.

adding the column with parameters

Generation of Centroid Files

By the use of same output job file, centroid file can also be generated. As discussed already, centroid file is also known as Pick and Place or Placement of Component file. The image below is showing the method.

Pick and Place

Figure below is showing setup for making centroid file.

 setup for making centroid file
 setup for making centroid file

After clicking on the generate content, you have to go to the folder where all files of the project are saved and pick the file named pick place with .csv format.

 named pick place with .csv format.

    GET A FREE QUOTE PCB Manufacturing & Assembly Service
    File Upload