BOM costing on paper is straightforward: roll up the cost of ingredients plus labour plus overhead, divide by units produced, you have unit cost. On the production floor of a Kenyan food manufacturer, none of those inputs are stable: yield varies batch to batch, raw produce arrives at different qualities, labour rates depend on shift premium, and last week's electricity bill upended the overhead absorption.
This is what we've learned implementing NetSuite Advanced Manufacturing for food clients — including Trufoods — that goes beyond what the standard documentation teaches.
The five things that make food different
1. Variable yield is the norm, not the exception
A standard BOM assumes consistent yield per unit of input. Food doesn't work that way. Two batches of the same recipe with the same raw inputs can yield 8% apart on output quantity, and the difference isn't always "loss" — sometimes it's just batch chemistry. Your BOM costing model needs actual yield capture per work order, not assumed yield from the recipe master.
2. Multi-stage processing inflates intermediate inventory
Most food production has at least two stages — raw → intermediate (sauce, dough, blend) → finished. Each intermediate is its own SKU with its own BOM. NetSuite handles this via multi-level BOMs, but the temptation is to flatten them for "simplicity". Don't. Variance analysis at the intermediate level is where the operational improvements come from.
3. Lot tracking is non-negotiable
Food regulators expect lot traceability from raw to retail. The lot of flour that went into batch #427 of biscuits that shipped to Outlet #12 on Tuesday must be answerable in one query. NetSuite's lot tracking is solid; the discipline is keeping the data clean at point of issue, which is a shop-floor problem more than a system problem.
4. Allergen and certification flags ride on the BOM
Halal, kosher, gluten-free, organic — each certification has data implications. Use custom item fields that flow up through the BOM, so a finished good inherits the most restrictive certification of its inputs. The reverse — auditing whether a finished good is certifiable — should be a saved search, not a manual review.
5. Spoilage and shrinkage need first-class accounting
Standard inventory write-offs hide what's actually happening. Differentiate spoilage (item went bad), shrinkage (counting variance), and yield loss (process inefficiency). Three different stories, three different operational responses.
The NetSuite setup that works
- Standard costing with frequent rolls (monthly minimum, weekly for high-velocity SKUs). Actual costing is theoretically purer but operationally exhausting at food-manufacturing volumes.
- Work order routing with operation-level labour and overhead absorption, not just material cost rollup. Variances become diagnosable per workstation.
- Variance categories: Material Yield Variance, Material Price Variance, Labour Efficiency Variance, Labour Rate Variance, Overhead Volume Variance. Five named accounts; never lump them into a single "Manufacturing Variance" bucket.
- Backflush vs pre-flush: Pre-flush (issue components before run) gives better real-time inventory; backflush (issue on completion) is simpler but masks shop-floor mid-run waste. We default to pre-flush for clients with shop-floor scanners.
- Shop-floor integration: barcode/scanner workflows for material issue and operation confirmation. Skip the paper traveller.
What good reports look like
Three saved searches do most of the heavy lifting:
- Yield Variance by SKU and Period. Compares actual yield against BOM standard, charted weekly. Flags drifting recipes early.
- Cost Variance Decomposition. For any closed work order, splits variance into material yield, material price, labour efficiency, labour rate, overhead — so you can ask the right question at the next ops meeting.
- Margin by SKU at Standard vs Actual. Shows where standard costing is lying to you. A SKU with healthy standard margin but persistent negative variance is mis-costed.
"We had a 'best seller' SKU on the standard report. On the variance-adjusted view, it was lighting cash on fire — 8% negative gross margin we hadn't seen for two years. We re-priced it the following month." — Operations Director, INNOVIOR client (food manufacturing)
Where to start
If you're moving from QuickBooks or Sage to NetSuite, BOM and work-order costing is one of the longest design conversations in scoping — typically 3-4 working sessions before the first transaction is loaded. If you're on NetSuite already and the numbers feel off, a focused review of your standard cost rolls and variance accounts is usually a 2-week engagement that pays for itself.
Email info@innoviorafrica.co.ke or book a free consultation.