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.