Manufacturing & FMCG · Riyadh, Saudi Arabia
Raw material waste down 23%, cost per unit visible in real time
A mid-size Riyadh manufacturer producing personal care and cleaning products across 12 SKUs, with production recorded on paper and costing estimated at month end.
The challenge
A mid-size FMCG manufacturer in Riyadh, producing personal care and cleaning products across 12 SKUs, had no digital production management at all.
Daily output was recorded on paper sheets. Raw material consumption was estimated rather than tracked. Cost per unit was calculated at month end from rough figures: raw material cost, plus a fixed percentage for waste, plus allocated overhead, divided by output.
That calculation is not wrong. It is simply missing everything that varies. The waste percentage had been measured once and applied ever since, while the actual figure moved week to week with supplier variability, line speed, and operator experience. Rework consumed machine time and material but appeared in the records as a normal run. Short stoppages such as changeover overruns and material staging delays were never captured at all.
The business was growing in revenue with no visibility into where it was losing money, and the finance team had no reliable production cost data to price competitively for export and retail distribution.
This is a particularly Saudi asymmetry: ZATCA e-invoicing had already forced the commercial side of the business to produce clean, structured, machine-readable revenue records. Precise revenue against estimated cost produces a margin figure that is authoritative on one side and a guess on the other.
What we deployed
FactoryFlow, configured for their production environment and integrated with the existing sales order process so raw material procurement connects directly to production runs.
- Production planning against confirmed sales orders
- BOM-based raw material consumption tracking
- Batch traceability from material to finished goods
- Quality control checkpoints per production stage
- Machine utilisation and downtime logging
- Waste capture and rework recording
- Cost-per-unit calculation per run
- Arabic and English interfaces at parity
The implementation constraint that mattered most was capture time. If recording a reject takes longer than about ten seconds, it gets reconstructed from memory at the end of the shift in round numbers, and that data is worse than useless, because it looks precise. Every deployment we have seen fail in this sector failed here.
That made it a layout problem as much as a software one: fixed terminals at each line rather than a shared office PC, reason codes as buttons rather than dropdowns, and no login per transaction. The floor was walked physically before anything was configured.
The result
Full deployment in 60 days. Raw material waste down 23%. Cost per unit now visible in real time across all 12 SKUs rather than estimated monthly.
The first month of accurate data produced the two findings it usually does. One SKU was being sold below its real production cost, protected by a blended margin that looked acceptable, and it was a line sales pushed hard, because it was easy to sell. Changeover time turned out to be roughly double what everyone believed, and reducing it cost nothing but sequencing.
Neither finding required new machinery. Both required being able to see the lines already there.