WireViz generates a bill of materials from the connectors, cables and wires instantiated in your harness. Use it to turn a wiring definition into a reviewable parts list with quantities and optional manufacturer, supplier and internal part numbers.
The BOM generator uses the information you provide. It does not look up prices, check stock, select compatible terminals or submit an order. Start with the simple harness example and choose Open in editor.
1. Set the cable quantities
Select a cable and enter its intended length and unit. A regular cable contributes that length to the BOM; an instantiated connector contributes one item. Moving components farther apart on the canvas does not change the cable quantity.
The simple example contains two connectors and a four-conductor cable of 0.5 m. Its BOM therefore contains two connector entries and 0.5 m of cable. It does not report 2 m of separately purchased wire because the source describes one multicore cable.
Use consistent length units when you want quantities to combine. The native library does not convert stored units when grouping BOM rows. The editor's ordinary unit controls convert values when you change a cable's unit.
2. Add the part information you know
Select each component and enter its manufacturer, manufacturer part number, supplier, supplier part number and internal part number where applicable. Leave unknown values blank instead of treating a placeholder as a verified product.
WireViz groups rows using the description, unit and purchasing fields. Two connectors with matching data can become one row with a quantity of two and both designators. Different part numbers or supplier data can keep apparently similar components in separate rows.
Only instantiated definitions contribute automatic BOM entries. If a component exists only as an unused YAML definition, it can be absent from the generated parts list. See the BOM reference for the complete grouping rules.
3. Include contacts, seals and other parts
A connector housing usually does not describe every part of an assembly. Use a connector or cable's additional_components to record associated items. For example, an associated crimp contact can use qty_multiplier: populated so its quantity follows the connector's populated positions.
The additional-components reference includes a complete two-contact, two-seal example and explains each multiplier. Review quantities against the real assembly: a term such as cable terminations describes WireViz connection records and is not automatically a count of physical wire ends.
In the right BOM panel, Additional BOM items lets you add independent items such as labels or packaging. These items belong to the document rather than a particular connector. Enter their quantities explicitly.
4. Use a wire bundle for individually purchased conductors
A wire bundle uses category: bundle. Each wire contributes the bundle length as its own material requirement. The wire bundle example has three 24 AWG wires at 0.6 m each, with distinct per-wire part numbers.
One bundle shares a gauge and length. If wires need different gauges or lengths, represent them using separate cable or bundle definitions. The library accepts per-wire part-information lists for bundles; it does not use those lists for a regular cable.
5. Review and export
Open BOM and wait for Up to date. Inspect the quantities, units, designators and part numbers. Resolve compile errors in Checks before relying on the current table; a previous successful result can remain visible while the latest source is invalid.
Choose Export BOM to download .bom.tsv. This tab-separated file includes the generated headings and rows and can be imported into a spreadsheet. For a drawing and parts list together, export the HTML document. Download YAML as the editable source before closing the editor.
For every BOM field and multiplier, use the library BOM reference. For the exact contents of each download, use import and export.