How to Handle Returns and Expiry Management in FMCG Field Sales
Returns and expiry are where FMCG margins quietly leak. If your reps are logging damaged stock on paper and your near-expiry products are only found when a customer complains, you're losing money you'll never see on a dashboard. The fix is making returns and expiry part of the same visit your rep already does — captured on their phone, tied to the outlet, and flowing straight into your system.
Here's how to actually do that.
What counts as a return in FMCG, and why it gets messy
First, get your categories straight. Most returns in FMCG fall into a few buckets, and mixing them up is where the accounting pain starts.
- Damaged goods — crushed cartons, leaking bottles, dented cans. Usually the rep spots these at the outlet.
- Expired stock — product past its printed expiry date, often part of a buyback agreement with the retailer.
- Near-expiry — not expired yet, but close enough that nobody will buy it at full price. This is the category most companies ignore until it's too late.
- Wrong delivery / order errors — right outlet, wrong SKU or quantity.
- Recalls — rare, but you need a fast way to pull a specific batch.
Each of these hits your books differently. A damaged return might be a supplier cost. An expiry buyback is usually a direct hit to your P&L. So the first rule is simple: don't let a rep log everything as one generic "return." Force a reason code at the point of capture.
And honestly, this is where paper and WhatsApp fall apart. A rep sends a photo of damaged stock to the supervisor, the supervisor forgets, the credit note never gets issued, and the retailer stops trusting you. Multiply that across a few hundred outlets a month.
How a damaged goods return app should actually work
The goal is to capture the return during the visit, with proof, and move it into an approval flow automatically. No double entry back at the office.
A good flow looks like this:
- Rep selects the outlet (already in their beat plan).
- Rep scans or selects the SKU and enters quantity.
- Rep picks a reason code — damaged, expired, near-expiry, wrong delivery.
- Rep takes a photo as evidence (this matters for disputes later).
- The return goes into an approval queue for the supervisor or credit team.
- On approval, it syncs to your ERP so the credit note or stock adjustment is created.
That's it. The photo and GPS stamp are the parts people underrate. When a retailer disputes a credit three weeks later, the timestamped photo ends the argument fast.
Zivni handles this as part of the same visit a rep does for ordering and merchandising — the return capture, the photo evidence, the reason code, and the push into your ERP through our integration. So you're not buying a separate returns tool on top of everything else. One visit, one app.
Expiry tracking in field sales: catch it before it rots on the shelf
Near-expiry is the money you can still save. Expired stock is the money you've already lost.
The practical move is to make expiry visible during the audit your rep is already doing. When a rep checks the shelf, they should be able to flag stock that's within, say, 60 or 90 days of expiry — your threshold, your call — and that flag should trigger an action: a discount push, a return request, or a redistribution to a faster-moving outlet.
Here's a simple way to think about expiry windows and what to do in each:
| Time to expiry | Typical action |
|---|---|
| 90+ days | Normal sell-through, no action |
| 60–90 days | Flag it, prioritize in next order, consider promotion |
| 30–60 days | Push discount or move to higher-velocity outlet |
| Under 30 days | Arrange return/buyback before it expires |
| Expired | Return, credit note, write-off |
Set these thresholds per category, because a soft drink and a shelf-stable snack don't age the same way. A rep photographing the shelf lets you cross-check what's actually out there against what your records say should be moving.
One caveat — proper batch-level expiry tracking depends on how your product barcodes and batch codes are structured, and whether your ERP carries that data. If your batch dates aren't in your system cleanly, no app will magically know them. That's a data housekeeping job you do first.
The common mistakes that make FMCG returns management worse
Look, I've seen the same handful of problems again and again:
- No photo proof. Disputes become he-said-she-said, and the credit team defaults to denying claims. Reps stop bothering to log them.
- No reason codes. Everything becomes "return," and you can't tell a supplier-caused damage from your own over-ordering.
- Returns disconnected from the ERP. Someone re-keys them manually, errors creep in, and credit notes lag by weeks.
- No approval gate. Reps can accept any return, and suddenly "returns" become a way to fudge targets. You need a supervisor sign-off, especially above a certain value.
- Ignoring near-expiry entirely. This is the big one. Most companies only track expired stock, which means they only ever see the loss, never prevent it.
Fix the near-expiry blind spot and you'll usually recover more than the software costs you.
What to ask a vendor before you buy
When you're comparing a damaged goods return app or a wider FMCG returns management tool, ask these directly:
- Can reps capture returns, reasons, and photos in the same visit as ordering?
- Does it push returns to our ERP automatically, or do we re-enter them?
- Can we set custom reason codes and per-category expiry thresholds?
- Is there an approval workflow with value limits?
- Can we report returns by rep, outlet, SKU, and reason over time?
- Does it work offline? (Reps in the field lose signal — this is non-negotiable in parts of the GCC and Pakistan.)
That last one trips up a lot of buyers. If the app can't queue a return offline and sync later, your reps will skip logging it when the signal drops.
Start by pulling your last three months of returns and sorting them by reason — even on a spreadsheet. You'll see exactly where the leak is before you change a single tool. Then, if you want to see how expiry flags and return capture work inside a single rep visit, book a Zivni demo and bring that spreadsheet with you.