Free tool · 48 checks
WMS audit checklist:
48 checks you can run from your own exports
A warehouse management system audit checklist about the data, not the building. Every check names the report to pull and the pattern that means it failed, so the answers come from exports rather than opinion. Score it here; answers stay in your browser.
Short answer
A WMS audit checklist tests whether the records your warehouse system holds can be trusted: receipts post once, case packs match what vendors ship, locations exist, confirmations are scanned, counts are blind and adjustments carry a real cause. This one has 48 checks in eight areas. Each names the export to pull and what a failing result looks like.
How to use this checklist
Most published warehouse audit checklists are about the building: aisle clearance, PPE, racking damage, labelling. Those matter, but they won't tell you why the system says 48 and the slot has 12. This one is about the record, meaning the data your WMS plans, replenishes and reports against.
Each check names the export to pull and what a failing result looks like, so it can be answered from data rather than from opinion. Mark each one:
- Pass
- You pulled the data and it looks the way the check describes.
- Fail
- You pulled it and found the failing pattern, even once. One instance of a mechanism usually means there are more.
- Can't tell
- The data doesn't exist, can't be exported, or nobody knows. Treat this as a finding, not a gap in the audit. A control you can't measure isn't working as a control.
Your answers are saved in this browser only. Nothing is sent anywhere unless you choose to email the summary. Work through it in one sitting with your inventory control lead, or over a week as the exports come in.
01 Receiving
Where most bad inventory data is born. A wrong quantity posted here is inherited by every downstream transaction.
-
RC1 Each physical delivery posts exactly once.
Pull Receipt transactions by PO line, with timestamp, user, device and entry method.
Fail if A PO line carries two receipts of the same quantity a few minutes or hours apart, or an ASN auto-receipt and a manual receipt against the same line.
-
RC2 Receivers count before they see the expected quantity.
Pull Receipt lines with ordered, advised (ASN) and received quantity side by side.
Fail if Received equals ordered on almost every line, including vendors you know ship short. That is receiving to the paperwork, not to the pallet.
-
RC3 Over, short and damaged are recorded separately.
Pull Receipt variance records with their reason codes.
Fail if Variances are netted into one figure, or damaged product is received as available and adjusted out later.
-
RC4 Every shortage above your threshold has a vendor claim.
Pull Receipt shortages joined to vendor claims or debit memos.
Fail if Shortage lines with no matching claim, or nobody can say who owns the hand-off from the dock to accounts payable.
-
RC5 ASN accuracy is measured by vendor.
Pull ASN lines against receipts, grouped by vendor.
Fail if Nobody can produce ASN accuracy by vendor, or ASN receipts post without scanning each LPN or pallet.
-
RC6 Received stock reaches a scanned storage location the same shift.
Pull Receipt timestamp against putaway confirmation timestamp.
Fail if Stock ages for days in dock or receiving locations, or putaway is confirmed without a location scan.
02 Item master and units of measure
One wrong field here is multiplied by every receipt of that item until someone corrects it. Fails in this section usually rank first by dollar impact.
-
IM1 Every active item has a base UOM and complete conversions.
Pull Item master with the full UOM conversion table (EA, IN, CS, PL).
Fail if Active items with a blank, zero, or default-of-one case pack where the product plainly arrives in cases.
-
IM2 Case pack matches what vendors actually ship.
Pull Receipt variance per item and vendor, divided by cases received.
Fail if Variance per case is the same non-zero whole number receipt after receipt. That is the pack field, not the receiver.
-
IM3 Inner pack divides evenly into case pack.
Pull The pack hierarchy: each, inner, case, pallet.
Fail if An inner pack larger than the case, one that doesn't divide into it, or fractional conversions where the unit can only be whole.
-
IM4 Dimensions and weights exist at every UOM level that is handled.
Pull Dimensions and weights by UOM level.
Fail if Each and case carry identical dimensions, or weights are missing at the level putaway and cartonization actually use.
-
IM5 Pack and UOM changes are logged with who, when and why.
Pull Item master change log, with effective dates.
Fail if No change log exists, or pack fields change with no effective date and no named owner.
-
IM6 You know what the WMS does to existing on-hand when a conversion changes.
Pull The change log set against on-hand history for an item whose pack was edited.
Fail if Nobody can say whether existing balances were restated, left alone, or restated for some transaction types only.
-
IM7 Lot, expiry, hazard and storage attributes are populated where required.
Pull Items flagged lot-controlled, dated, hazardous or temperature-controlled.
Fail if Regulated or lot-controlled items with blank attributes, or hazard class missing on items that plainly need one.
03 Locations
A balance at a location that doesn't physically exist, or doesn't match its label, produces discrepancies that no count program can close.
-
LC1 Every location in the WMS exists physically, and every physical slot exists in the WMS.
Pull Location master set against a walk of the building or the rack drawing.
Fail if Locations holding on-hand that resolve to no physical position, or physical slots missing from the master.
-
LC2 Inactive and deleted locations hold nothing.
Pull On-hand by location, joined to location status.
Fail if Inactive, orphaned or unmapped locations still carrying quantity.
-
LC3 Pick-face assignments match what is slotted there now.
Pull Pick-face assignments against last pick date per item.
Fail if Assignments pointing at items with no picks in months, or one face unintentionally assigned to several items.
-
LC4 Capacity fields reflect what actually fits.
Pull Location capacity against the maximum quantity observed in each location.
Fail if Locations routinely above stated capacity, or capacity left at a default value on most records.
-
LC5 Every location label scans to the location it is on.
Pull A scan test on a sample of labels, including recently re-racked aisles.
Fail if Missing check digits, or labels swapped after a re-rack or re-slot.
-
LC6 Dock, staging and QA locations are cleared daily.
Pull On-hand in non-storage locations, with the age of each balance.
Fail if Quantity ageing in dock, staging, returns or QA locations.
04 Putaway and replenishment
These are the transactions most likely to post one leg and not the other, which leaves two locations wrong by the same amount in opposite directions.
-
PR1 Putaway is confirmed by scanning the actual location.
Pull Putaway confirmations with a scanned-or-keyed flag.
Fail if A meaningful share of confirmations are keyed, or keyed confirmations cluster by user or shift.
-
PR2 Directed putaway rules still match current velocity.
Pull Directed location against actual location, with override reasons.
Fail if Overrides are routine. The rules are being worked around instead of fixed.
-
PR3 Min/max is set in the UOM the pick face consumes.
Pull Replenishment settings with their UOM, against the pick UOM.
Fail if Min/max stated in cases for an each-picked face, or the reverse.
-
PR4 Replenishment tasks close with both legs posted.
Pull Replenishment tasks and their transactions.
Fail if Tasks that close with only the source decrement, or are cancelled after partial confirmation.
-
PR5 Emergency replenishments are rare and explained.
Pull Emergency replenishment count by item.
Fail if The same items trigger emergency replenishment repeatedly, which usually means the pick-face balance is wrong.
05 Picking and shorts
A short pick is the cheapest inventory signal you will ever get. The failure is treating it as a picking problem.
-
PK1 Short picks are recorded with a reason, never silently skipped.
Pull Short-pick transactions.
Fail if Shorts closed without a reason, or pickers pulling from alternate locations without telling the system.
-
PK2 A short pick triggers a count of that location.
Pull Short picks joined to count tasks.
Fail if Shorts that do not generate a count task within a day.
-
PK3 Pick confirmations scan both location and item.
Pull Pick confirmation method.
Fail if Keyed or bulk-confirmed picks.
-
PK4 Repeat shorts are traced upstream, not just recounted.
Pull Short picks by item over 90 days.
Fail if The same items short repeatedly and nobody has linked them to receiving or pack data.
-
PK5 Negative on-hand is blocked, or reviewed daily.
Pull The allow-negative setting and current negative balances.
Fail if Negative balances exist and persist.
06 Cycle counting
A count program measures accuracy and corrects it. It does not find the cause, and a badly designed one manufactures variances of its own.
-
CC1 Counts are blind.
Pull Count task configuration.
Fail if Counters can see the system quantity.
-
CC2 The system quantity is captured at count time, not post time.
Pull Count capture timestamp against post timestamp.
Fail if Counts posted hours later against a balance that has moved since.
-
CC3 Out-of-tolerance counts are recounted by someone else.
Pull Recount flags and counter IDs.
Fail if First counts post directly, or the recount is done by the same person.
-
CC4 Count selection targets problem items, not only an ABC calendar.
Pull Count history set against short picks and adjustments.
Fail if Items with repeated shorts are not counted more often than their ABC class requires.
-
CC5 Accuracy is reported at location level, in absolute terms.
Pull The definition behind the accuracy KPI.
Fail if The headline figure nets overages against shortages, or measures at site level only.
-
CC6 Items that fail count repeatedly are escalated for root cause.
Pull Count variance by item over 90 days.
Fail if The same items appear on the variance list month after month.
07 Adjustments
Every adjustment is a record that the system was wrong. Read as a log, it is the most informative export most warehouses have.
-
AD1 Reason codes name a mechanism, not an observation.
Pull Reason-code distribution for the last 90 days.
Fail if Generic codes such as COUNT VAR or OTHER dominate the distribution.
-
AD2 Adjustments above a threshold need a second approver.
Pull Adjustments with the approver recorded.
Fail if The person who counts also approves, or no approval step exists.
-
AD3 Gross adjustment volume is reported, not only net.
Pull The adjustment log, summed both ways.
Fail if Only net value reaches operations or finance.
-
AD4 Repeated same-direction adjustments on one item are investigated.
Pull Adjustments by item and direction.
Fail if Items adjusted the same way three or more times with no documented cause.
-
AD5 Adjustment rights are limited and reviewed.
Pull Users holding adjustment permission.
Fail if Most users can adjust, or shared logins exist.
-
AD6 Offsetting adjustment pairs are flagged as one event.
Pull Same item, opposite sign, within a few days.
Fail if The pairs exist and are counted as two unrelated errors.
08 Interfaces and reconciliation
Differences between WMS and ERP are either timing, which closes by itself, or a dropped message, which doesn't. A single period-end snapshot can't tell them apart.
-
IF1 Failed interface messages are visible and reprocessed.
Pull Interface error log, with status and retry count.
Fail if Errors accumulate with no daily review and no owner.
-
IF2 WMS and ERP on-hand are reconciled by item on a schedule.
Pull WMS on-hand against ERP on-hand, item by item.
Fail if Reconciliation happens only at total value.
-
IF3 Differences that survive two runs are investigated.
Pull Reconciliation history.
Fail if The same items differ every period.
-
IF4 Period cut-off is defined against the batch schedule.
Pull Interface batch windows and period-end timing.
Fail if Nobody can say which receipts land in which period in each system.
-
IF5 Message sequence gaps are detected.
Pull Interface message IDs.
Fail if Gaps in the sequence go unchecked.
-
IF6 Transactions carry both an event time and a posting time.
Pull A transaction history export.
Fail if Only one timestamp exists, so timing cannot be separated from error.
-
IF7 The exports an audit needs can be produced without an IT project.
Pull An attempt at the receipt, adjustment and item master exports.
Fail if Basic extracts take weeks, or can't be produced at all.
How to read the result
There is no pass mark, and any percentage would imply a precision the checklist doesn't have. Forty-eight checks aren't equal in cost. What the result is good for is deciding where to look first, and the order below is the one that usually matches where the money is.
Item master fails
A wrong case pack or conversion posts an error on every receipt of that item, indefinitely. It's the only category where one field produces a recurring, compounding variance. See item master audit and unit-of-measure errors.
Receiving fails
Duplicate receipts and receiving to paperwork overstate on-hand at the front door, and the cost shows up weeks later as short picks and missed replenishment. See receiving discrepancies and phantom inventory.
Confirmation discipline
Keyed putaway and pick confirmations don't change site totals. They move stock to the wrong location in the record. Site-level accuracy reports will look fine while picks keep shorting.
Counts and adjustments
These don't create errors. They measure them, and too often erase the evidence. Fails here mean your accuracy number can't be trusted and your audit trail is thinner than it looks. See cycle count discrepancies and inventory adjustment analysis.
A lot of "can't tell"
If a third or more of your answers are "can't tell", the first problem is visibility, not accuracy. Start with IF7: if the basic exports can't be produced, nothing else on this list can be verified.
What a checklist can't do
A checklist tells you that a control is missing. It can't tell you what that has cost, which items it hit, or whether the variance you are chasing came from it. A failed IM2 tells you some case packs are probably wrong. It doesn't give you the forty-one items, the vendor, the date the field was last edited, or the annual overstatement.
Getting from a failed check to a finding needs the transaction history: replay the balance, find the row where it breaks, then test whether that signature recurs across the dataset. That method is set out in inventory root cause analysis, and the symptom-to-mechanism lookup is in the root cause matrix.
That second step is what a WMS audit is. If you ran this checklist and have more fails than people to chase them, that's the point to bring in a second pair of eyes.
Questions
- How often should a WMS audit be done?
- Run this checklist quarterly, and after any event that changes how data enters the system: a WMS go-live or upgrade, a new vendor base, a re-rack, or a change in receiving process. A full data audit with transaction replay is usually warranted once a year, or when accuracy or write-offs move without an explanation.
- Is this the same as a warehouse audit checklist?
- No. A general warehouse audit checklist covers the facility: safety, housekeeping, equipment, layout. This one covers the records the WMS holds and the transactions that change them. Both are worth doing; they find different problems.
- Who should fill it in?
- Whoever can pull the exports and knows the process, usually the inventory control lead with someone from IT or the WMS administrator for the configuration checks. The answers should come from data, so a manager filling it in from memory will overstate the passes.
- Can I use it for a 3PL's WMS?
- Yes, if the 3PL will give you the exports. Receipts, adjustments, on-hand by location and the item master are reasonable to request under most service agreements. Several checks, such as reason-code distribution and count design, are good questions for a 3PL review in their own right.
Related WMSAudit guides
- Root cause matrix 22 discrepancy symptoms mapped to mechanism, evidence, test and owner.
- Item master audit Twelve tests for the WMS fields that multiply every error they touch.
- The WMS audit What a warehouse data audit examines, the exports it needs, and what it honestly cannot conclude.
- Warehouse inventory audit Count audit or data audit: which one fixes the problem you actually have.
- The WMSAudit engagement Scope, method, fixed fee and what the report contains.