Inquire: Call 0086-755-23203480, or reach out via the form below/your sales contact to discuss our design, manufacturing, and assembly capabilities.
Quote: Email your PCB files to Sales@pcbsync.com (Preferred for large files) or submit online. We will contact you promptly. Please ensure your email is correct.
Notes: For PCB fabrication, we require PCB design file in Gerber RS-274X format (most preferred), *.PCB/DDB (Protel, inform your program version) format or *.BRD (Eagle) format. For PCB assembly, we require PCB design file in above mentioned format, drilling file and BOM. Click to download BOM template To avoid file missing, please include all files into one folder and compress it into .zip or .rar format.
How to Generate BOM Files from Altium Designer: A Complete PCB Engineer’s Guide
After spending years working with Altium Designer on everything from simple breakout boards to complex multi-layer designs, I can tell you that generating a proper Bill of Materials is one of those tasks that seems straightforward until you’re staring at a rejected assembly quote because your BOM was missing critical information. A well-structured BOM file isn’t just paperwork; it’s the communication bridge between your design and the manufacturing floor.
In this guide, I’ll walk you through every method Altium Designer offers for BOM generation, from the quick Reports menu approach to the more sophisticated ActiveBOM workflow that can save you hours of procurement headaches down the line.
What Is a Bill of Materials in PCB Design?
A Bill of Materials is essentially your shopping list for building a PCB assembly. It contains every component needed to populate the board, along with critical details that procurement and assembly teams need to source and place parts correctly.
Essential BOM Data Fields
Every manufacturing-ready BOM should include these core pieces of information:
Field
Description
Example
Designator
Unique reference ID on schematic/PCB
R1, C5, U3
Quantity
Number of identical components
4
Description/Comment
Component value or function
10µF 16V Ceramic Cap
Footprint
Physical package type
0805, SOIC-8, QFP-48
Manufacturer
Component maker
Texas Instruments
Manufacturer Part Number (MPN)
Exact part identifier
LM7805CT
Supplier Part Number (SPN)
Distributor’s catalog number
296-1465-5-ND
Missing any of these fields can cause delays, incorrect part orders, or assembly failures. I’ve seen projects slip by weeks because a BOM listed “10K resistor 0603” without specifying the tolerance, and the assembler had to stop production to ask which exact part to use.
Two Primary Methods for BOM Generation in Altium
Altium Designer provides two distinct approaches to creating BOMs, and understanding when to use each will make your workflow more efficient.
Method 1: Report Manager (Quick BOM Generation)
The Report Manager is the traditional approach, ideal for quick exports when you need a BOM right now and your component library already contains good parametric data.
Method 2: ActiveBOM Document
ActiveBOM is Altium’s modern BOM management system that treats the BOM as a living document throughout your design process. It connects to supplier databases in real-time, validates part availability, and catches sourcing problems before they become manufacturing delays.
For production designs, I strongly recommend using ActiveBOM. The upfront investment pays off when you’re not scrambling to find alternative parts at 2 AM before a deadline.
How to Generate a BOM Using the Report Manager
Let’s start with the faster method. This works well for quick prototypes or when you’re confident your library data is complete.
Step 1: Open the Report Manager Dialog
With your schematic project open in Altium Designer, navigate to the Reports menu and select Bill of Materials. This opens the Report Manager dialog, which displays all components found in your project.
The dialog is divided into two main sections: column configuration on the left and the actual BOM data grid on the right.
Step 2: Configure Visible Columns
By default, Altium shows basic component information. You’ll likely want to add more columns to make your BOM manufacturing-ready.
In the left panel, you’ll see a list of available parameters. Check the boxes for the columns you want to include:
Recommended Columns
Why Include It
Designator
Assembly reference
Comment
Component value
Description
Detailed part info
Footprint
Package verification
Quantity
Order quantities
Manufacturer 1
Primary source
Manufacturer Part Number 1
Exact part ordering
Supplier 1
Procurement source
Supplier Part Number 1
Order catalog number
Step 3: Choose Your Export Format
In the Export Options section of the Report Manager, select your desired output format from the File Format dropdown. Altium supports several options:
Format
Best Use Case
CSV (.csv)
Universal compatibility, easy spreadsheet import
Microsoft Excel (.xls, .xlsx)
Formatted reports with templates
PDF
Formal documentation packages
XML Spreadsheet (.xml)
Database integration
HTML
Web viewing
Text (.txt)
Simple text-based systems
For most manufacturing handoffs, I recommend Excel format with a custom template, or CSV for maximum compatibility with assembly house systems.
Step 4: Apply an Excel Template (Optional)
If you’re exporting to Excel format, you can apply a template to control the appearance and layout of your BOM. Altium includes several default templates in the Templates folder of your installation directory.
To use a template, enable the Template option in the Excel Options region and either select from the dropdown or browse to your custom template file.
Step 5: Export the BOM
Click the Export button, choose a filename and location, and save your BOM. If you’ve enabled Open Exported, Altium will automatically open the file in the appropriate application.
How to Generate a BOM Using ActiveBOM
ActiveBOM represents Altium’s recommended approach for serious production work. It provides real-time supply chain visibility and catches problems early in the design cycle.
Step 1: Create an ActiveBOM Document
Right-click on your project entry in the Projects panel and select Add New to Project followed by ActiveBOM. A new BomDoc will open showing all components currently placed in your schematic.
The ActiveBOM document automatically populates with every component from your design, organized by designator or other grouping parameters you specify.
Step 2: Review Component Solutions
This is where ActiveBOM really shines. For each component in your design, ActiveBOM searches the Altium Parts Provider database (powered by Octopart) to find matching manufacturer parts and available suppliers.
Each component row shows:
Status Icon
Meaning
Green (Clear)
Component has valid solutions with good availability
Yellow (Warning)
Solutions exist but minor issues flagged
Orange (Error)
Problems like NRND lifecycle status
Red (Fatal Error)
No solutions found or obsolete parts
Step 3: Configure BOM Columns
Open the Properties panel (View menu if not visible) and navigate to the Columns tab. Here you can enable or disable specific data columns and arrange their order.
For manufacturing BOMs, I typically enable:
Component Data: Designator, Comment, Description, Footprint, Quantity Manufacturer Data: Manufacturer 1, Manufacturer Part Number 1 Supplier Data: Supplier 1, Supplier Part Number 1, Unit Price 1, Stock 1
Step 4: Set Component Grouping
In the Properties panel under BOM Items, configure how components are grouped. Options include:
Flat View: Every component instance on its own row Base View: Components grouped by unique part, with all designators listed Consolidated View: For projects with variants, shows all variants together
Most assembly houses prefer Base View, where identical components are grouped on single lines with combined quantities.
Step 5: Add Line Numbers
Click the Set Line Numbers button at the top of the ActiveBOM document to automatically assign sequential line numbers to each BOM entry. Many assemblers require line numbers for tracking during the manufacturing process.
Step 6: Export the Final BOM
Once your ActiveBOM is configured, generate the output file through Reports followed by Bill of Materials. The Report Manager dialog will appear with your ActiveBOM as the data source.
Select your format, apply any templates, and export.
Using Output Job Files for Repeatable BOM Generation
For production projects, creating an Output Job file lets you save your BOM configuration and regenerate identical outputs every time without reconfiguring settings.
Creating a BOM Output Job
Right-click your project in the Projects panel and select Add New to Project followed by Output Job File. A new OutJob editor opens with categories for different output types.
Under Report Outputs, click Add New Report Output and select Bill of Materials. Set the Data Source to either your project or your ActiveBOM document.
Configuring the Output
Double-click the BOM entry to open the Report Manager and configure columns, format, and template as described earlier. These settings are saved within the OutJob file.
Linking to Output Containers
Output Jobs use containers to define where generated files go. You can link your BOM output to:
Container Type
Purpose
File Generation
Saves to disk location
PDF
Creates PDF document
Print Job
Sends to printer
Right-click on an output container and select Generated Files Setup or PDF Setup to configure output paths and naming conventions.
Generating Outputs
Once configured, you can generate your BOM anytime by right-clicking the container and selecting Generate Content. The same configuration produces identical results every time, which is essential for revision control and reproducibility.
Best Practices for Manufacturing-Ready BOMs
After years of back-and-forth with assembly houses, these practices have become non-negotiable in my workflow.
Always Include Manufacturer Part Numbers
Generic descriptions like “100nF capacitor” aren’t sufficient for production. Assemblers need exact MPNs to source the correct parts. Even for passives, specify complete part numbers.
Add Alternative Parts When Possible
Supply chain disruptions happen constantly. Using ActiveBOM, you can define multiple solutions (alternate parts) for each component. When your primary part is unavailable, the assembler has pre-approved alternatives ready.
Verify Lifecycle Status
ActiveBOM automatically flags components with concerning lifecycle statuses:
Status
Risk Level
Action
Active
Low
Safe to use
NRND (Not Recommended for New Designs)
Medium
Consider alternatives
Last Time Buy
High
Source immediately or replace
Obsolete
Critical
Must replace
EOL (End of Life)
Critical
Must replace
Catching an obsolete part during design is vastly preferable to discovering it during production.
Include Footprint Information
Always include footprint data in your BOM. This gives the assembler a cross-check that the parts received will actually fit the pads on your PCB. Mismatches between BOM part numbers and PCB footprints are surprisingly common errors.
Mark DNP Components Clearly
Components that shouldn’t be populated (DNP or Do Not Place) need clear marking. In Altium, set the component type to Standard (No BOM) in schematic properties, or use the Variants feature to define which parts are populated in each product version.
Common BOM Generation Problems and Solutions
Even experienced designers run into these issues occasionally.
Missing Components in BOM
Problem: Some parts from your schematic don’t appear in the generated BOM.
Solutions:
Verify the project is compiled (Project menu then Compile)
Check that components aren’t set to Standard (No BOM) type
Ensure hierarchical sheets are properly connected to the project
Wrong Quantities
Problem: BOM quantities don’t match actual component count.
Solutions:
Recompile the project to refresh component counts
Check for duplicated designators across schematic sheets
Verify that component grouping settings are correct
Missing Manufacturer Data
Problem: MPN and manufacturer columns are empty.
Solutions:
Add manufacturer parameters to library components
Use ActiveBOM to manually add part choices
Link components to the Altium Parts Provider database
Solution Not Recognized Error
Problem: ActiveBOM shows “Solution is not recognized” for parts that clearly exist.
Explanation: Altium’s Octopart database can’t guarantee 100% coverage of all parts. This warning indicates the system can’t verify real-time availability status.
Solution: Verify part availability directly on distributor websites and consider adding the information manually to your BOM.
Useful Resources for Altium BOM Management
Here are the key resources for deepening your BOM skills:
Official Altium Documentation:
BOM Management with ActiveBOM: altium.com/documentation/altium-designer/activebom
Custom templates can be created in Excel and referenced in Report Manager
Supply Chain Data:
Octopart: octopart.com (Powers Altium Parts Provider)
Component data aggregation used by ActiveBOM
Altium Training:
Altium Academy: altium.com/academy
Video tutorials covering BOM workflow
FAQs About Generating BOMs in Altium Designer
Can I include pick and place data in my BOM?
Yes. In the Report Manager dialog, enable the Include Parameters From PCB option. This adds columns for X/Y coordinates, rotation, and layer information. However, most assembly houses prefer a separate centroid file (Generates via File then Assembly Outputs then Generates pick and place files), so check with your manufacturer about their preferred format.
How do I exclude specific components from the BOM?
There are two approaches. First, you can set the component’s Type property to Standard (No BOM) in the schematic symbol properties. Second, for production variants where components are conditionally populated, use Altium’s Variants feature to define which parts appear in each variant’s BOM.
What’s the difference between generating a BOM from the project versus from ActiveBOM?
When you generate from [Project], the Report Manager extracts component data directly from schematic documents. When you generate from [ActiveBOM Document], it uses the curated, supply-chain-aware data you’ve configured in the BomDoc, including manually added solutions, supplier preferences, and verified part choices. The ActiveBOM approach gives you more control and better data quality.
Can I add non-PCB items like mounting hardware to my BOM?
Yes, ActiveBOM supports adding custom BOM items that don’t exist as placed components. In the ActiveBOM document, use the Add Item button to add entries for things like bare PCBs, screws, standoffs, enclosures, labels, or conformal coating. These items appear in the final BOM alongside your electronic components.
How do I update supplier pricing data in my BOM?
In the ActiveBOM document, pricing and availability data updates automatically when connected to the internet through Altium Parts Provider. You can also manually refresh by right-clicking and selecting Refresh Selected. For cached data when working offline, use the Cached option instead of Real-time in the Report Manager settings.
Conclusion
Generating a quality BOM from Altium Designer isn’t complicated once you understand the tools available. For quick prototypes, the Report Manager gives you fast results. For production designs where supply chain visibility and part availability matter, ActiveBOM provides the control and real-time data you need to avoid manufacturing delays.
The key is building good habits early: populate your library components with complete manufacturer data, use ActiveBOM to validate sourcing before finalizing designs, and create Output Job files so your BOM generation is repeatable and consistent across revisions.
Your assembler will thank you for a complete, accurate BOM. More importantly, your project will ship on time.
Inquire: Call 0086-755-23203480, or reach out via the form below/your sales contact to discuss our design, manufacturing, and assembly capabilities.
Quote: Email your PCB files to Sales@pcbsync.com (Preferred for large files) or submit online. We will contact you promptly. Please ensure your email is correct.
Notes: For PCB fabrication, we require PCB design file in Gerber RS-274X format (most preferred), *.PCB/DDB (Protel, inform your program version) format or *.BRD (Eagle) format. For PCB assembly, we require PCB design file in above mentioned format, drilling file and BOM. Click to download BOM template To avoid file missing, please include all files into one folder and compress it into .zip or .rar format.