How the cross-check works
The checker expands explicit grouped BOM designators such as R1, R2 and bounded ranges such as R1-R4, then joins the BOM and CPL by a case-insensitive reference designator. It reports a populated BOM reference missing from the CPL, a CPL reference absent from the BOM, duplicates in either file, a declared BOM quantity that differs from its listed references, DNP conflicts, and mapped footprint or value differences.
DNP and footprint rules stay visible
DNP is read only from the column you map. Headers such as DNP treat yes/true/1 as excluded; headers such as Populate treat no/false/0 as excluded. The checker does not guess DNP from a value or part number. Footprints are compared conservatively after trimming and case folding. The optional basename mode removes only a library prefix before the last colon; it does not claim two package names are physically equivalent.
Quantity checks
When quantity is mapped, each BOM row’s non-negative integer quantity is compared with the number of explicit designators on that row. The summary also compares unique populated BOM references with unique active CPL references. This is a one-board logical comparison: panel multipliers, build quantities, attrition, spares, consumables, and non-placed mechanical items are outside its model.
Validation boundary
This is a text-table reconciliation tool, not a manufacturing approval. It does not open XLS/XLSX workbooks, Gerbers, ODB++, IPC-2581, EDA projects, variants, or manufacturer databases. It does not infer missing mappings, part substitutions, footprint equivalence, or intended DNP state. A matched designator means only that the supported mapped evidence agrees.
Frequently asked questions
Why is a DNP part reported as present?
A normal placement row means the part is active unless you map an explicit CPL status column that marks it DNP. If your exporter includes excluded rows without a status field, remove them from the CPL or provide a status column before comparing.
Why is my grouped BOM row a single column?
Commas inside a CSV field must be quoted, for example "R1, R2". Otherwise each designator becomes a separate spreadsheet column. You can also use spaces or semicolons inside the mapped designator cell.
Does a clean result guarantee JLCPCB acceptance?
No. It narrows the designator and mapped metadata review only. File templates, parts, coordinates, rotation, side, origin, and the assembler’s own preview still need inspection.
Primary references
JLCPCB’s BOM requirements describe designator, quantity, comment/value, footprint, and part-number data. Its pick-and-place requirements define the designator and placement fields, while its BOM/CPL preparation guidance says each reference designator should appear only once in the BOM. The KiCad placement exporter source documents its exported Ref, position, rotation, and side headers.
Normalize and preview a CPL · Compare KiCad DRC reports · Browse electronics manufacturing tools