This is a simplified version of a tool built for a custom furniture shop — raw lumber and hardware get built into finished pieces, which then ship to customers.
Every piece has a Bill of Materials. A walnut bookshelf isn't just "in stock" — it's built from specific boards, hardware, and finish. Run a production batch, and the system checks whether there's actually enough raw material for that quantity before it lets you commit.
Finished goods and raw stock are tracked completely separately — running out of walnut boards doesn't look the same as running out of finished bookshelves, because they aren't the same problem.
Check My Order — that's the customer's own view, not the shop's. It shows exactly what the Orders tab already knows: whether their piece is still in production or actually ready to ship, without a phone call to ask.
On the Products tab, Add a Product isn't just a name and a price — it's a real bill of materials, pick multiple raw materials and quantities, and every production run against that new product checks feasibility the same honest way it does for the originals.
Need a material that doesn't exist yet? Add a Material on the Raw Stock tab, and it's immediately available to build into a brand new product's bill of materials, the two features are connected, not separate demos bolted together.
On Finished Goods, a piece that gets damaged before it ships can be marked as such directly, real inventory shrinkage, not a sale, so the count stays honest instead of silently drifting from what's actually on the shelf.
Orders can be cancelled too, not just fulfilled, right from the Orders tab. A customer changing their mind is a real, common outcome, not something the demo pretends never happens.
Every product on the Products tab shows its real build cost and margin, calculated straight from the bill of materials, not a guess. The Dashboard rolls that up into actual profit sitting in finished inventory, not just sell-price value, which is a different, more honest number.
Starting a build you can't finish
Feasibility is checked against actual raw stock before committing — not discovered halfway through a cut list.
Raw stock and finished pieces blurred together
Two separate inventories, tracked separately — because "out of walnut" and "out of bookshelves" need different responses.
No record of what actually shipped where
Every shipment is logged — product, quantity, and customer — building a real order history over time.