3PL Warehouse Site Audit Checklist: Inventory, Safety and Billing
For transport and warehouse operations managers · Plan implementation

3PL Warehouse Site Audit Checklist: Inventory, Safety and Billing: Illustrative outbound dispatch-readiness check in a warehouse staging lane; not a client facility.
Quick answer: 3pl warehouse audit checklist
A 3PL warehouse audit checklist covers four tests: a stratified blind count of at least 60 locations against the WMS stock extract, a 90-day review of negative adjustments without client approval, a safety records check against OSHA 1910.178 or India's OSH Code, and a rebuild of three invoices from WMS activity and the rate schedule.
TL;DR — what you’ll learn
- Send a written evidence request 14 days ahead with a fixed 23:59 stock cut-off, so counts, adjustments and invoices all tie to the same period.
- Blind-count at least 60 locations, stratified toward fast movers, high-value lots and recently adjusted locations; pass needs both location accuracy and value variance within target.
- Read the adjustment log by user, aisle and hour; any write-off above the agreed threshold without a client approval reference is a contract breach.
- Rebuild three months of invoices from WMS activity: in the worked US case, a month-end storage snapshot instead of daily pallet-days overbilled 6.1%.
Topics: 3pl warehouse audit checklist · 3pl inventory audit blind count · 3pl billing audit · warehouse safety audit lift truck records · 3pl adjustment log review
All quantities, amounts, product codes and events are illustrative teaching examples.
The quarterly business review went well. The 3PL showed 99.8% inventory accuracy, zero lost-time injuries and an invoice dispute rate under 1%. Two months later, a customer order shorts on a lot the client's ERP says is in stock, the warehouse finds 36 cartons were written off by a night-shift adjustment nobody approved, and the CCTV that might have explained it has already been overwritten.
Scorecards reported by the 3PL measure what the 3PL chooses to count. A client-side site audit tests the same claims independently: a blind count against the warehouse ledger, a walk through the safety and security records, and a re-performance of recent invoices from activity data. Done with a written evidence request, named owners and fixed timing, a two-day visit can surface the variances that monthly reports smooth over.
- What follows: the evidence to request two weeks ahead, how to sample and count, where adjustments and damage hide losses, the safety and security checks, and a billing re-performance with worked US ($) and India (₹) invoices.
- Tools you can reuse: a stratified sampling query, an adjustment-trail incident trace, a split of fixed checks versus assisted review, and a dated audit checklist with owners.
What a client audit of a 3PL site has to prove
A site audit has three jobs: confirm your goods exist, are yours and are segregated; confirm the site is not putting people or stock at avoidable risk; and confirm the invoices match the work done. Anything that does not serve one of those three questions belongs in the business review, not the audit.
Many 3PLs offer an assurance report in place of a visit. A SOC 1 Type 2 report tests the design and operating effectiveness of the provider's controls over a period, and auditors of your financial statements may rely on it. It is valuable evidence, but it describes the provider's control system across all clients; it does not count your SKUs, read your adjustment log or recalculate your invoices.
A SOC 1 Type 2 report issued under AICPA AT-C section 320, or a Type 2 report under ICAI SAE 3402 in India, tests a 3PL's controls over a period but never counts the depositor's SKUs; a client site audit still needs a blind count of at least 60 locations against the WMS stock ledger.
Legal context frames the stakes. Under UCC Section 7-204(a), a US warehouse is liable for loss or damage caused by failing to take the care a reasonably careful person would take, and Section 7-204(b) lets the storage agreement cap that liability. The audit should therefore compare the contractual cap and the 3PL's insurance with the value of stock you actually hold there.
The evidence request letter sent fourteen days before the visit
Send a written evidence request fourteen days ahead, naming each document, the period it must cover and who at the 3PL will supply it. Asking for records on the day turns the audit into a search; asking in writing lets you test what arrives and spend site time on what does not reconcile.
Fix the stock cut-off in the letter: for example, the WMS stock-on-hand extract as of 23:59 on the day before the visit, by location, SKU, lot, expiry and status. Ask for the same period for every activity record so the counts, adjustments and invoices can be tied to each other rather than to three different months.
Scroll horizontally to see all columns.
| Record requested | Period covered | Supplied by (3PL) | Reviewed by (client) | Signs the finding |
|---|---|---|---|---|
| Stock-on-hand by location, SKU, lot, expiry and status | Cut-off 23:59 day before visit | Inventory control lead | Inventory planner | Supply chain manager |
| Inventory adjustment log with user ID, reason code and approval reference | Last 90 days | Site manager | Inventory planner | Financial controller |
| Cycle count plan and results, including recounts | Last two quarters | Inventory control lead | Inventory planner | Supply chain manager |
| Damage, quarantine and returns-awaiting-disposition list | Open items at cut-off | Quality or returns lead | Quality manager | Supply chain manager |
| Lift-truck operator training and evaluation certificates; pre-shift truck checklists | Current operators; last 30 days of checklists | Site EHS lead | Client EHS adviser | Operations head |
| Extinguisher inspection tags, sprinkler and alarm service records, incident register | Last 12 months | Site EHS lead | Client EHS adviser | Operations head |
| Gate log, seal register, CCTV retention setting, key and cage access list | Last 30 days | Security supervisor | Loss prevention | Operations head |
| Last three invoices with WMS activity back-up, rate schedule in force | Last three billing months | 3PL billing analyst | Accounts payable lead | Financial controller |
| Insurance certificate and liability cap in the storage agreement | Current policy year | 3PL account manager | Legal or risk | Financial controller |
Blind counts and trace tests on the warehouse floor
Count blind, in both directions, and before picking starts. Counters get a list of locations with no quantities; system-to-floor tests prove booked stock exists, and floor-to-system tests catch stock sitting in locations the WMS thinks are empty or assigned to another client.
Sixty locations is a practical minimum for a mid-size account, stratified so fast movers, high-value items, lot-controlled items and every location touched by a recent adjustment are over-represented. A purely random sample drawn across tens of thousands of positions mostly lands on slow, untouched stock and tells you little about where losses occur.
-- Stratified blind-count sample for one depositor, drawn from the WMS stock extract
-- Strata: A movers 20, high value 15, lot/expiry controlled 10, adjusted in 90 days 15
WITH soh AS (
SELECT location_id, sku, lot, qty, unit_value, velocity_class, lot_controlled
FROM wms_stock_on_hand
WHERE owner_id = 'CL-0417' AND snapshot_ts = '2026-10-13 23:59:59'
),
adj AS (
SELECT DISTINCT location_id FROM wms_inventory_adjustment
WHERE owner_id = 'CL-0417' AND posted_ts >= DATE '2026-07-15'
)
SELECT * FROM (SELECT *, 'A_MOVER' AS stratum, ROW_NUMBER() OVER (ORDER BY RANDOM()) rn FROM soh WHERE velocity_class = 'A') a WHERE rn <= 20
UNION ALL
SELECT * FROM (SELECT *, 'HIGH_VAL' AS stratum, ROW_NUMBER() OVER (ORDER BY qty * unit_value DESC) rn FROM soh) h WHERE rn <= 15
UNION ALL
SELECT * FROM (SELECT *, 'LOT_EXP' AS stratum, ROW_NUMBER() OVER (ORDER BY RANDOM()) rn FROM soh WHERE lot_controlled) l WHERE rn <= 10
UNION ALL
SELECT * FROM (SELECT s.*, 'ADJUSTED' AS stratum, ROW_NUMBER() OVER (ORDER BY RANDOM()) rn FROM soh s JOIN adj USING (location_id)) j WHERE rn <= 15;
-- Scoring after the count
-- location_accuracy = locations where SKU, lot and quantity all match / locations counted
-- value_variance = sum(abs(counted_qty - system_qty) * unit_value) / sum(system_qty * unit_value)
-- Pass: location_accuracy >= contract target (example 99.5%) AND value_variance <= 0.2%
Score both measures separately. A site can hit 99% location accuracy and still lose meaningful value if the misses are on expensive items, which is why the value variance sits beside the count. Unit-level accuracy should be reported too, but never instead of location accuracy, because offsetting overs and shorts hide in a unit total.
Segregation is part of the count. In shared buildings, check that each counted pallet carries your owner code on its label and in the WMS, and that no other client's stock shares the location record. Our guide to keeping customer-owned stock separate covers the location and label rules to look for.
Adjustments, damages and quarantine: where stock leaves quietly
Most shrink at a 3PL does not walk out of the door; it is written off in the WMS through adjustments, damage postings and quarantine moves that nobody on the client side approved. The adjustment log is therefore the most productive single document in the evidence pack.
Read it by user, by aisle and by time of day. Clusters of negative adjustments by one user, on one aisle, on a night shift, or immediately before month-end are the pattern to chase. Every write-off above the agreed threshold should carry a client approval reference; one that does not is a contract breach before it is a stock question.
- 21:47, 12 September: WMS transaction ADJ-NEG posts −36 cartons of SKU 88412, lot B2607, at location C-14-03, reason code CNT-VAR, user NS-SUP-03; the approval reference field is blank.
- 23:59, 30 September: the month-end stock file sent to the client omits the 36 cartons; the client ERP still holds them, and a 36-carton difference enters the reconciliation as "timing".
- 10:20, 14 October: the audit blind count finds location C-14-03 empty; the CCTV retention setting is 30 days, so footage for 12 September was overwritten on 12 October.
- 10:55, 14 October: the auditor filters the adjustment log and finds 14 negative adjustments by the same user on aisle C in 60 days, all between 21:00 and 23:30, none with an approval reference.
- Corrective control: the WMS now blocks negative adjustments above 5 cartons or $500 without a client approval ticket, and CCTV retention on high-value aisles is raised to 90 days.
Damage and quarantine deserve the same scrutiny. Ask for photos and the damage report behind each item, check the age of anything sitting in quarantine, and confirm who carries the loss under the storage agreement. Differences that persist between your ERP and the 3PL's stock report are analysed in our article on why 3PL stock reports and ERP balances disagree.
Safety walk: lift trucks, racking, fire protection and exits
Test the safety system through its records first and the floor second. A clean-looking aisle tells you little; an expired operator evaluation or a missing monthly extinguisher check tells you the controls behind the aisle are not working.
In the US, OSHA's powered industrial truck standard sets checkable dates. Operators need a performance evaluation at least once every three years, the employer must certify each operator's training and evaluation with names and dates, and trucks must be examined before being placed in service at least daily, or after each shift where used round the clock. Portable extinguishers need a monthly visual inspection and an annual maintenance check.
A 3PL safety walk should test the training file against OSHA 29 CFR 1910.178(l)(4)(iii), which requires every powered industrial truck operator to be evaluated at least once every three years, and 1910.178(q)(7), which requires trucks to be examined at least daily before use, so any pre-shift checklist older than 24 hours fails.
- Operator file sample: pick ten operators from the shift roster, not from the training file, and find a certificate with an evaluation date inside three years for each.
- Truck checklist: match today's pre-shift checklists to truck numbers in use on the floor at 10:00.
- Racking condition: look for bent uprights, missing beam locks and load signs that do not match the pallets stored; ask for the last rack inspection report and its open items.
- Fire and egress: check extinguisher tags for the monthly initials and annual service date, sprinkler heads clear of stored goods, and exits unobstructed.
In India, the Occupational Safety, Health and Working Conditions Code, 2020 has been in force since 21 November 2025 and replaced the Factories Act, 1948 among other laws. Ask which registrations and licences the 3PL holds for the site under the Code and state rules, and for its fire service clearance where the state requires one. Our guide to warehouse safety inspections that lead to corrective decisions covers how to turn findings into closed actions.
Security and custody records that protect client stock
Security checks should prove that stock only leaves against a valid order and that every trailer can be traced from gate to dock to seal. The documents are the gate log, the seal register, the CCTV configuration and the access list for any high-value cage.
Trace five outbound shipments from the client order to the WMS pick confirmation, the dispatch document, the seal number and the gate-out time. Then trace five inbound receipts the other way. Gaps between gate-out time and the WMS ship confirmation of more than an hour, or seals recorded after the trailer left, are findings even if no stock is missing.
Indian warehouse operators must keep records of consignor, consignee, storage period, dispatch and receipt under CGST Section 35(2) and Rule 58(4)(b), and Rule 58(5) requires goods to be stored so they are identifiable item-wise and owner-wise; an auditor should trace 20 inward documents to owner-tagged locations.
For India, also confirm the address on your GST registration covers the 3PL site where you store goods there, that the 3PL either is registered or holds a GST enrolment under Rule 58(1), and that e-way bills for transfers into and out of the site match the WMS receipts and dispatches by date and quantity.
Re-performing three months of invoices from activity data
Billing is audited by rebuilding the invoice from WMS activity and the rate schedule in force, not by checking arithmetic on the invoice itself. Rebuild the last three months; one month can be a coincidence, three show whether a variance is systematic.
Use the method the contract specifies for each charge. Storage may be billed on daily pallet-days, a month-end snapshot or a peak count; the rules for each are explained in our article on pallet-day storage billing. That article sets out how a storage charge should be calculated; this audit tests whether the 3PL actually applied the agreed method to your account.
Scroll horizontally to see all columns.
| Charge line | Contract basis | Billed | Rebuilt from WMS | Variance and cause |
|---|---|---|---|---|
| US storage | $17.50 per pallet per month on average daily pallets | 2,140 pallets: $37,450.00 | 61,690 pallet-days / 31 = 1,990: $34,825.00 | $2,625.00; month-end peak used instead of daily average |
| US handling in | $6.25 per pallet received | 640 pallets: $4,000.00 | 610 pallets: $3,812.50 | $187.50; 30 pallets of internal transfer billed as receipts |
| US handling out | $6.25 per pallet shipped | 655 pallets: $4,093.75 | 655 pallets: $4,093.75 | None |
| US labelling | $0.18 per unit labelled | 4,800 units: $864.00 | 4,200 units on closed work orders: $756.00 | $108.00; work order quantity billed, not completed quantity |
| US account fee and total | $1,500 per month | Total $47,907.75 | Total $44,987.25 | $2,920.50 overbilled (6.1%) |
| India storage | ₹26 per sq ft per month on 18,000 sq ft dedicated | ₹4,68,000 | ₹4,68,000 | None |
| India handling in | ₹150 per pallet received | 1,240 pallets: ₹1,86,000 | 1,180 pallets: ₹1,77,000 | ₹9,000; 60 pallets moved between two of the client's GSTINs on site billed as receipts |
| India handling out and VAS | ₹150 per pallet; ₹4 per carton wrapped | ₹1,96,500 + ₹38,000 | ₹1,96,500 + ₹38,000 | None |
| India Sunday overtime | Chargeable only with written client approval | ₹22,000 | ₹0, no approval on file | ₹22,000 |
| India taxable value, GST and total | GST at the rate shown on the invoice (18%) | ₹9,10,500 + ₹1,63,890 = ₹10,74,390 | ₹8,79,500 + ₹1,58,310 = ₹10,37,810 | ₹36,580 including GST; ask for a credit note |
The US variance comes almost entirely from the storage clock, which is typical: storage is the largest line and the easiest to measure on the wrong basis. In India, the excess includes ₹5,580 of GST, so the correction should come as a credit note that reduces both the taxable value and the tax, rather than as a deduction from the next payment that leaves the GST return and your credit claim out of step.
Fixed audit checks versus reviewer judgement and tool support
Checks with a precise rule, such as a count matching the ledger or an evaluation date inside three years, should be run the same way at every site. Software, including AI tools, earns its place in reading images and spotting patterns in long logs, but a named auditor decides what counts as a finding.
Scroll horizontally to see all columns.
| Audit task | How it is decided | Where software helps | Who decides the finding |
|---|---|---|---|
| Matching blind-count sheets to the WMS stock extract | Fixed rule: SKU, lot and quantity must all match | Scanner app captures counts and computes accuracy | Lead auditor |
| Rebuilding storage from daily pallet-day records | Fixed rule from the contract's billing clock | Script recalculates three months in minutes | Accounts payable lead |
| Checking operator evaluation dates against the three-year limit | Fixed date rule | Spreadsheet flags certificates older than 36 months | Client EHS adviser |
| Reading photos of extinguisher tags and rack damage | Auditor judgement on condition | Image model reads tag dates and flags bent uprights for review | Client EHS adviser |
| Finding clusters in 90 days of adjustment records | Auditor judgement on intent and cause | Anomaly scoring by user, aisle and hour | Loss prevention lead |
| Comparing gate-out times with WMS ship confirmations | Fixed tolerance, then judgement on cause | Join of gate log and WMS events | Security reviewer |
Dated audit checklist, finding grades and closure deadlines
Run the audit to a calendar: request at minus fourteen days, desk review at minus five, site work over one or two days, draft findings within ten working days, and corrective actions closed or re-tested before the next quarterly review. Grade every finding so the 3PL knows which ones block contract renewal.
Scroll horizontally to see all columns.
| Step and timing | Check | Evidence kept | Owner |
|---|---|---|---|
| Day −14 | Evidence request letter sent with stock cut-off and periods | Dated letter and 3PL acknowledgement | Supply chain manager |
| Day −5 | Desk review: adjustment log, invoices, certificates, insurance cap | Review notes and sample list | Lead auditor |
| Day 0, before first wave | Blind count of 60 stratified locations, both directions | Signed count sheets, accuracy and value variance | Inventory planner |
| Day 0 | Adjustment, damage and quarantine trace | Traced items with approval references | Loss prevention lead |
| Day 0 or 1 | Safety walk and training-file sample | Photos, certificate list, open hazards | Client EHS adviser |
| Day 1 | Security trace of five inbound and five outbound loads | Gate, seal and WMS event timeline | Security reviewer |
| Day +10 working days | Three-month invoice re-performance and draft findings | Rebuilt invoices, graded findings | Accounts payable lead |
| Before next quarterly review | Corrective actions closed or re-tested; credit notes received | Closure evidence per finding | Financial controller |
Grade findings in three bands: critical (stock or safety exposure, fix within 7 days), major (control failure, fix within 30 days) and minor (documentation gap, fix by next audit). More guides on warehouse control and 3PL management are in our logistics and supply chain hub. If you want the count sampling, adjustment analytics and invoice rebuild automated from your 3PL's data feeds, send us a request for proposal describing your sites and billing terms.
Discuss this workflow
Describe your current systems, the recurring exception and the outcome you need. Keep shipment, customer and financial records out of the initial message.
Common operational questions
Practical answers for operations, engineering, and finance teams working on 3pl warehouse audit checklist in logistics & supply chain.
How many locations should a 3PL blind count include?
Can a SOC 1 report replace a site visit to the 3PL?
Which safety records should be checked during a US 3PL audit?
How should billing errors found in an Indian 3PL audit be corrected?
References
Sources checked 13 November 2026. US and India statutory authorities and vendor documentation support platform facts; the worked examples and diagrams are original.
- US OSHA - 29 CFR 1910.178, Powered industrial trucks, paragraphs (l)(4)(iii), (l)(6) and (q)(7)Three-year operator evaluation, training certification content, and daily pre-use examination. Text read on Cornell LII's reproduction of the CFR. Accessed 13 November 2026.
- US OSHA - 29 CFR 1910.157, Portable fire extinguishers, paragraphs (e)(2) and (e)(3)Monthly visual inspection and annual maintenance check with recorded date. Accessed 13 November 2026.
- Uniform Commercial Code - Section 7-204, Duty of care; contractual limitation of warehouse's liabilityReasonable-care standard in 7-204(a) and the agreed liability cap in 7-204(b). Accessed 13 November 2026.
- AICPA and CIMA - SOC 1, SOC for Service Organizations: ICFR (examinations under AT-C section 320)Type 2 reports cover the operating effectiveness of controls relevant to user entities' financial reporting. Accessed 13 November 2026.
- ICAI - SAE 3402, Assurance Reports on Controls at a Service OrganisationIndian standard for service organisation control reports; effective for reports covering periods ending on or after 1 April 2011. Accessed 13 November 2026.
- CBIC - Central Goods and Services Tax Act, 2017, Section 35(2) (records of warehouse or godown owners and transporters)Accessed 13 November 2026.
- CBIC - Central Goods and Services Tax Rules, 2017, Rule 58 (enrolment and records of warehouse operators and transporters)Sub-rules (1) enrolment in FORM GST ENR-01, (4)(b) storage-period, dispatch and receipt records, and (5) item-wise and owner-wise identification. Accessed 13 November 2026.
- Ministry of Labour and Employment - PIB release on implementation of the four Labour Codes, 21 November 2025Commencement of the Occupational Safety, Health and Working Conditions Code, 2020, which replaces the Factories Act, 1948 among other laws; State rules should be checked separately. Accessed 13 November 2026.
- GS1 US — SSCC-18 & GS1-128 Logistics Label GuidelineUS pallet and carton license-plate identification standard.
- ASC X12 — EDI 940/945/810 Warehouse & Billing Transaction SetsUS standard for 3PL shipping orders, advice, and invoicing.
- GSTN — e-Invoice & E-Way Bill Portal (NIC India)Indian statutory tax invoice IRN and transit compliance standard.