Tuesday, 7:40am. The co-packer’s truck backs in, and the load is 40 cases short of the bill of lading. Your distributor needs a number for the fall promo by noon. And your best seller is due for a reorder — but the co-packer's minimum run is more than you can sell before it expires.
That’s what inventory management in CPG means day to day. None of it is a warehouse problem — it’s a cash problem with a warehouse attached: you pay the co-packer at the run, and the distributor pays you 30 to 60 days later, minus deductions. The cash leaks in four places: the receiving dock, the distributor relationship, the count program, and the reorder decision.
How do you handle short shipments from a co-packer?
Count every pallet against the bill of lading (BOL), note variances before the driver leaves, and log the short the same day. Then track the pattern per run: fill rate, short frequency, response time. One short is noise. A trend is a negotiation.
The dock is the only point where you still hold the cards: once the driver leaves with a signed BOL, it’s your word against their paperwork. Count physical cases against the BOL — not the PO or pallet tags — note every exception before signing, divert anything damaged or short-dated to a hold area, and log the variance the same day. Then turn those logs into a per-run scorecard.
How do you know if a distributor — or a broker — is earning their margin?
Measure sell-through, not sell-in. What a distributor orders is their forecast; what moves from their warehouse to stores is demand. A broker earns commission when the accounts they opened produce velocity you wouldn’t have won alone. Run that math per relationship, quarterly.
The gap between what a distributor orders and what they’ve sold is your risk: unsold stock comes back older and closer to its date. Plan production against what actually leaves their warehouse for stores — their depletion data — not their purchase orders. A 2,000-case order when only 240 a week are moving is a markdown you can see coming. Apply the same test to a broker: how much margin is genuinely new business they brought, versus accounts you already had? Renew on that number, not loyalty.
How often should you count inventory in a multi-temperature warehouse?
Count more often where a mistake costs the most and where counting is cheapest, not on a fixed calendar. Cooler A-items turn fast, so count them weekly. The freezer is the priciest place to count: short sessions, monthly on the A-items. Everything ambient rotates through a cycle count.
A count is a purchase: spend counting hours where an error costs most. Count at low tide, the day after a big pickup, and investigate variances the same day before a five-case gap becomes a ghost. Give every SKU a fixed pick face, oldest-date-first, and find the slow movers in cold space.
How do you calculate reorder points for products with a shelf life?
Two numbers. The classic reorder point (average daily demand × lead time, plus safety stock) tells you when to reorder. A shelf-life cap tells you how much: never more than weekly velocity × your selling window. When the co-packer’s minimum run is bigger than that cap, every run leaks cash.
The constraint that dominates a coded product is the selling window: the days you have to sell a batch before your channel stops taking it at full price. The formula is code-date life − days used before you receive it − your channel’s remaining-days floor − transit. Distributors won’t receive below that floor, so pull it from your agreement. On a shelf-stable beverage:
| Line | Value | Where it comes from |
|---|---|---|
| Code-date window at production | 180 days | Product spec |
| Days consumed before your receipt | 20 days | From the scorecard |
| Distributor’s remaining-days floor | 90 days | Distribution agreement |
| Transit to distributor | 7 days | Your lanes |
| Your selling window | 180 − 20 − 90 − 7 = 63 days ≈ 9 weeks | Derived |
| Weekly velocity | 400 units | Depletion data |
| Maximum useful order | ≈ 3,600 units | 9 weeks × 400/week |
| Co-packer minimum run | 5,000 units | Co-packer agreement |
| Structural overhang per run | ≈ 1,400 units | Exposed to markdown every run |
Read the table bottom-up: 63 days of window at 400 units a week caps the useful order at 3,600 units, but the co-packer’s floor is 5,000 — so 1,400 units every run are born exposed to markdown, priced in the day you cut the PO. Four levers, best first: negotiate the minimum down (that’s what the co-packer scorecard is for); split the run so two SKUs share a changeover; grow velocity before production; or budget the overhang as a real cost.
When is it time to move off spreadsheets?
When the sheet stops being an answer and becomes an argument: variances you can’t win because nobody timestamped a count, two people holding different numbers for one pallet, reorders built on data last touched Thursday. The upgrade isn’t about features. It’s about making the numbers self-defending.
Everything here runs on spreadsheets, and early on it should. But each section leans on a record that has to hold up under dispute, and a spreadsheet holds records without defending them: no timestamp, no history, no link to the physical case. The first real system needs four things: batch tracking from the dock; oldest-date-first picking the system enforces (FEFO), not just suggests; holds that actually stop movement; and counting at the pick face.
What should you do next?
The whole playbook as actions, whiteboard-ready.
Receiving
- Count cases against the BOL at every receipt, annotate exceptions before the driver signs, log variances same-day.
- Keep a per-run co-packer scorecard: fill rate, on-time, shorts, doc accuracy, shelf life at receipt, damage, response time.
Distributor & broker
- Get depletion data from each distributor; size production to units per store per week, not to POs.
- Before renewing a broker: which accounts they opened, the margin those accounts produce net of promo support, whether it beats commission.
Counting
- Count cooler A-items weekly, frozen A-items monthly, ambient on rotation; count at low tide and chase variances the same day.
- Give every SKU a fixed pick face and move stock oldest-date-first.
Reorder math
- Pull the remaining-days floor from each distribution agreement and compute your selling window.
- Cap every order at selling window × weekly velocity. If the co-packer minimum exceeds that cap, pick a lever: negotiate it down, split the run, grow velocity, or budget the markdown.
Tooling
- Stay on spreadsheets until the records can’t defend themselves, then look for batch tracking, enforced FEFO, hard holds, and pick-face counting.
Frequently asked questions
What makes inventory management in CPG different?
You rent most of the supply chain. A co-packer owns the run schedule and the minimum order quantity, distributors sell most of the volume, and every case carries a code date — so the job is defending cash across three handoffs you do not control, not optimising a warehouse you do.
What should a co-packer scorecard include?
Seven fields, all capturable at your dock: fill rate, on-time delivery, short-ship frequency, document accuracy, remaining shelf life at receipt, damage on arrival, and variance response time. Review the trend quarterly.
Should I restock against distributor orders or depletion data?
Depletions. A PO is forecast plus buffer; depletions show what actually moved to stores. Size production to units-per-store-per-week, and treat a PO that outruns that velocity as a question to investigate before you scale.