Inventory turnover: 4 steps each month
Inventory turnover tells you how many times you used up and replaced your stock in a period, and so how many days goods sit and how much cash they hold. Work it out monthly in 4 steps: take the cost of what left the store, find average stock, divide and turn the result into days per group, then compare with need and release the extra cash. After customer profitability analysis showed who earns you money, this shows how much of it sleeps in the store.
Example: the caterer's store in September
The same caterer issued SAR 80,000 of stock at cost in September: 77,000 of food and 3,000 of packaging. Average stock was SAR 27,200. That is 2.94 turns a month, about 10 days. Fine, but the average hides big gaps:
| Group | Issued (average) | Days |
|---|---|---|
| Meat and poultry | 36,000 (6,000) | 5 |
| Produce, dairy, bread | 17,000 (1,700) | 3 |
| Dry goods | 24,000 (12,000) | 15 |
| Packaging | 3,000 (7,500) | 75 |
| Total | 80,000 (27,200) | 10 |
SAR at cost, September; dry goods are rice, oil and spices.
Step 1: take the cost of what left the store
The top of the formula is cost of goods sold or issued, not sales. Divide September sales of 208,000 by stock at cost and turnover looks more than twice as good as it is. A shop uses cost of goods sold; a kitchen or workshop uses issue slips at cost. Every issue needs a slip and an item, or waste looks like stock still on the shelf.
Step 2: find the average stock
The simplest way: (opening stock + closing stock) ÷ 2. Dry goods started September at 13,000 and ended at 11,000, so the average is 12,000. If purchases arrive in one large batch, average the four weekly balances instead, since month-end balances can fall just before or after it. Check balances against counts: a wrong balance gives a wrong turnover.
Step 3: turn turnover into days per group
Turnover = issued ÷ average stock; days of stock = days in period ÷ turnover. Dry goods: 24,000 ÷ 12,000 = 2, or 15 days. Packaging: 3,000 ÷ 7,500 = 0.4, or 75 days. Days are clearer than a ratio: you compare them directly with delivery cycles and shelf life. Work them out per group: the 10-day average hid that packaging covers two and a half months.
Step 4: compare days with need and release cash
Set a target in days per group: enough to reach the next delivery plus a margin, and less than shelf life. Meat at 5 days and produce at 3 are right: both arrive twice a week. Dry goods arrive weekly, so 10 days (about 8,000 instead of 12,000) releases SAR 4,000. Packaging at 20 days (about 2,000 instead of 7,500) releases 5,500. That is 9,500 back in your cash forecast with nothing changed in the kitchen.
Does buying early beat price rises? The General Authority for Statistics reports consumer food and beverage prices in September 2026 were 1.4% above September 2025. At that rate, an extra SAR 4,000 of dry goods on the shelf saves about SAR 56 a year. Very high turnover is a risk too: below the delivery cycle you run out, so set it alongside your reorder point. Items that never move: see dead and slow-moving stock.
Running it from WhatsApp
Owner (5 November): The packaging supplier offers 7% off if we take three months' worth for 9,000. Do we?
System: It saves SAR 630. But we already hold about 70 days of packaging; this makes it about 160, and 9,000 leaves today for stock lasting into April.
Owner: So we say no?
System: Ask for the same discount on monthly deliveries of 3,000 from late December, when we fall to 20 days. Same saving, no cash tied up.
Owner: Tell him that.
System: The message to the supplier is ready. Shall I send it to you to review first?
A purchase decided in four messages, because every issue and balance is recorded by item. More on managing stock from WhatsApp.
Checklist before you decide on turnover
- Did you use the cost of goods issued or sold, not sales?
- Is every issue from the store recorded with a slip and an item?
- Do the opening and closing balances match a physical count?
- Did you compare days per group with delivery and shelf life?
- Did you check the cash tied up before accepting a bigger batch?