Bill of Materials logic is where shopVOX either earns trust or loses it with production teams.

A BOM that works on paper but fails on complex sizes, substrates, or finishing steps creates rework, margin leaks, and estimator frustration.

Document the production path first

Before writing JavaScript, write down the steps from order entry to RIP. Every BOM line should map to something that actually happens.

Use inputs that estimators understand

Dropdowns and defaults should use shop language: substrate, finish, sides, kit components. Avoid hidden logic that only one person understands.

Test with real orders

Run historical jobs through rebuilt products. Compare calculated costs to known good outcomes. Edge cases matter more than happy-path demos.