Do not populate and exclude from BOM answer different questions. The first expresses assembly intent for a position; the second controls whether an item appears in a particular material list. Treating them as interchangeable can make a real component disappear from purchasing or make an unpopulated option look mandatory.
Define the meaning of each flag
KiCad 9’s schematic BOM documentation describes DNP and BOM-exclusion controls separately, with export visibility affected by the selected options. Review those controls in the actual exporter, including any custom script or preset used by the project.
Create a small reference list covering populated components, optional unpopulated positions, mechanical-only items, and schematic symbols that do not represent a purchased component. State why each item should appear in purchasing, placement, assembly drawings, and engineering review outputs. A single Boolean column rarely captures all four purposes.
Check a configuration across outputs
- Freeze the assembly variant and its revision.
- Inspect each exceptional item’s native flags.
- Export the BOM using the saved production preset.
- Compare its membership and DNP indication with placement and drawings.
- Review whether downstream import removes or reinterprets any rows.
The variant paste-output check addresses another consequence of population decisions. Hiding a BOM row does not establish whether a stencil aperture should exist. Likewise, a crossed-out drawing symbol does not guarantee that the purchasing export omits the item.
Use explicit exceptions
For example, a commissioning header may remain in the schematic and board but be absent from the production assembly. Keeping it visible as DNP in an engineering BOM can aid review, while a procurement BOM may omit it. Both outputs can be correct if their purposes and variant identities are clear. A file simply called BOM without that context invites conflicting interpretations.
Conversely, a populated connector excluded from the BOM because an engineer once used it as a mechanical placeholder is a purchasing omission. Investigate the native flag rather than manually adding a line to every generated spreadsheet. The instance-parameter review helps prevent later library updates from undoing an intentional correction.
Close the check with a reference-by-reference exception list, not only a total quantity. Retain the exporter preset and verify it after software migration. Correct native intent and correct export selection are both required to produce a trustworthy assembly list.
Move from reading to a build-ready project
Use the fabrication and assembly checklists to prepare drawings, production files and test requirements.
Open the DFM checklist