I'll say it plainly: if your WMS can't tell you who touched a pallet, at what second, and what the quantity was before and after — you don't have an audit log. You have a diary.
I learned this the expensive way. A few years back, a footwear client of mine lost 41 cartons — 12 pairs each — out of a 3PL warehouse in Commerce, California. The warehouse swore every carton had been scanned out. The customer swore the pallet arrived with a chunk missing. Three weeks of shouting, lawyers mentioned twice. Then somebody pulled the audit log, and the argument ended in an afternoon: the verification step had been skipped, a full layer never made it onto the truck. The warehouse paid.
Twenty years in this business, a dozen WMS selections under my belt, and here's my verdict: the audit log is the most boring and the most valuable feature in any WMS. Nobody asks about it during the demo. Everybody wishes they had it the day freight goes missing.
Three questions to ask before you sign
Here's the most common misconception I run into: people think an audit log is just an activity feed — a note that somebody touched inventory. The day you're in a dispute, you'll discover that "somebody touched it" is worth almost nothing.
A log entry that can actually settle an argument needs six elements: who (the user account), when (timestamped to the second), where (which location, which document), what (receiving, putaway, picking, adjustment, shipping), the quantity before, and the quantity after. That last pair is the whole game. Without the "before," you can prove someone touched the stock, but you can't prove they touched it wrong. Half a log is no log.
I've seen a system that recorded adjustments as "admin changed SKU from 100 to 80" — no reason, no approver. The customer asked where the 20 units went. The warehouse had no answer and ate a $40,000-plus claim. The vendor's defense? "We have a logging feature." Sure. It logged garbage.
So during selection, don't let the sales rep dazzle you with "complete audit trail." Ask three questions. First: can inventory adjustments be forced to carry a reason, with no reason meaning no posting? Second: are the reason and the approver locked to the log entry — uneditable and undeletable after the fact? Third: can you cross-search by SKU, order number, location, and time window? If any answer is vague, that system's audit log is decoration.
One more thing: control who can see the log. If every supervisor has admin rights and anyone can delete entries, your audit log is a notepad, not evidence. I once worked with a small 3PL where five managers shared the highest system privilege — after a cargo dispute, one of them quietly edited two adjustment records. The truth only surfaced from a database backup. So add a fourth question to your vendor interrogation: can log viewing and exporting be restricted by role, and does the system leave a trail when an admin touches the log itself? If you can't govern the people who govern the log, the log is worthless.

Retention is a math problem, not an IT problem
Once you're logging properly, the next question is how long you keep it.
Most cloud WMS products keep 1 to 2 years by default. Older on-premise systems sometimes keep 90 days. Is 90 days enough? Depends on your business. If you move fast-moving consumer goods, disputes usually explode within the month — 90 days covers you. If you're a 3PL, a big client's annual reconciliation can reach back 14 months. Ninety days is a death sentence.
The trade-off is straightforward: longer retention costs more storage and slows queries. But delete too early, and what you saved on storage won't cover a rounding error on one lost-freight claim. My advice to clients is always the same, no exceptions: at least 2 years searchable online, at least 5 years in cold archive. A mid-size warehouse's full year of audit logs, stored for 5 years in the cloud, costs less than a single $20,000 cargo-loss claim. Not a hard calculation.
And here's the trap almost everyone walks into during a system switch: export the old logs. In 2021 I watched a warehouse migrate from one WMS to another without moving the history. Three months later a customer disputed an old shipment, the warehouse couldn't produce evidence, and paid the full claim. Write it into the migration contract: complete transfer of historical audit logs, with spot-check verification afterward. Not one entry missing.
The 30-minute drill for the day it happens
When freight actually goes missing, don't panic. Work in this order.
Set the time window first. The customer says 5 cartons were short on the March 12 delivery — pull every log entry for that SKU from March 10 through March 12. Widen the window by two days rather than pinning it down. The cartons were probably mis-shipped a day early, and a tight window just blinds you.
Then string the chain together by order number. One shipment flows through receiving, putaway, replenishment, picking, verification, and shipping — each step logged. Lay the chain out and the break jumps out at you. In the cases I've worked, the most common break is at verification: picking scanned, verification skipped, straight onto the truck. The log shows it plainly. No deniability.
Finally, stare at the before-and-after numbers. Adjustments are where things get hidden. A clean adjustment has a reason and an approver. A dirty one says "cycle count variance" with the operator as their own approver. Put that in front of the customer and the warehouse can't squirm out of it.
One more thing when you're done: export the batch as a PDF with timestamps and the system watermark, and send that to the customer. Don't send screenshots. Screenshots can be edited. A watermarked export carries weight.
So here's the uncomfortable question I ask every warehouse manager I meet: if a customer called you tomorrow morning claiming forty cartons never arrived, how long would it take you to prove them wrong — or admit they're right? If the answer isn't "under an hour," your audit log has holes. Go find them before a missing pallet finds them for you.










