The stacker crane ran for three days. It jammed at hour seventy.

It was the winter before last, on a four-way shuttle project going through commissioning acceptance. The integrator was confident — 72 hours of continuous running, no problem. At hour seventy, one shuttle threw an alarm and stopped mid-aisle, and every pallet behind it backed up. A dozen people stood around the machine while the integrator's project manager went pale. Per the contract, a break in the run meant failed acceptance, and 30% retention stayed on the table. The root cause turned out to be a deformed pallet — the forks went in and got wedged. The pallets were supplied by the customer, outside the integrator's scope. And then the argument started: is this an equipment failure or a materials problem?

The argument lasted two months. They eventually split the difference — the customer replaced the pallets, the integrator re-ran the 72 hours. But I've never forgotten that scene: a project worth tens of millions, held hostage by a warped wooden pallet, and the contract said nothing about who owns such an interruption.

Site Acceptance Testing is the most bluffable phase of any ASRS project. The vendor wants retention released, the owner wants to go live, and both sides happily wave the test through. The owner always pays for that later — once the equipment is handed over, you're negotiating from weakness on every performance shortfall.

Acceptance metrics: agree on "how it's counted" before "what counts as passing"

The biggest SAT disputes I've seen are never about how high the bar is. They're about how the bar is measured. Three classics keep repeating.

First: is throughput measured per stacker crane, or per aisle as a system? One crane running empty can do a double cycle in about 60 seconds. But a full aisle — conveyor handoff, WMS command latency, exception handling — might average 90 seconds or more per pallet. Vendors quote you the first number; you must accept against the second. The contract should say: throughput is measured as aisle-level system throughput, timed end to end from pallet entering the inbound conveyor to the system confirming putaway complete.

Second: what is the denominator of the accuracy rate? The number of commands the WMS issued, or the number of pallets actually completed? A command issued but never executed is somebody's fault, and the contract has to say whose. My wording: the denominator is valid tasks issued by the WMS; the numerator is tasks completed in one attempt with zero manual intervention. Anything an operator had to reset by hand doesn't count as success. Put that sentence in the contract and you eliminate half of all commissioning arguments.

Third: does the failure rate include planned stops? Battery swaps, routine inspections, software updates — in or out of the 72 hours? Agree in advance whether the run is "continuous" or "cumulative," how many planned stops are allowed, and how long each may last. Otherwise you get my opening scene: a two-hour jam on a deformed pallet, the vendor calling it a materials issue, the owner calling it an interruption.

How high to set the targets is the easy part — the industry has mature reference ranges for crane cycle times and system throughput, and no vendor dares to invent numbers there. What determines acceptance quality is these definitions of "how it's counted." Acceptance criteria that never make it into the contract are worth nothing when the dispute starts.

The 72-hour run: where to draw the pass line

The 72-hour continuous run is the signature event of ASRS SAT, but "surviving 72 hours" is only the minimum. The real test is on the other side of that line.

First, the load has to be real. Running empty for 72 hours proves nothing. Run at design-capacity load — the right pallet volume, with SKU mix approximating real order profiles. The slickest dodge I've seen: acceptance run with one standard pallet type and one carton size, then go-live brings in the odd-shaped freight and the failure rate triples. The contract should specify that test pallets must cover the actual range of pallet specs, load weights, and cargo dimensions the owner operates.

Second, grade the interruptions. Not all stops are equal: Class A is an equipment fault stopping the whole aisle, Class B is a single-device fault the system can degrade around, Class C is a materials/pallet/data exception needing manual intervention. My usual pass line: zero tolerance for Class A in 72 hours, no more than 2 Class B events with recovery under 30 minutes each, and Class C logged honestly — excluded from equipment scoring but entered into the process-issue list. Get both sides to sign this grading scheme in the SAT plan — not at hour seventy.

Third, the data must come from the system, not from people. The WMS and the equipment control system must export timestamped run logs: every task's issue time, completion time, and exception code. Hand-filled acceptance forms are worthless as evidence — not because anyone falsifies them, but because humans can't watch accurately. Over seventy-plus hours, the anomalies people miss outnumber the ones they catch.

Remediation and retention: write it so it bites

What happens when acceptance fails? This is the most important chapter of the contract, and the easiest to write as empty words.

"Remediate within a reasonable time" means nothing. Write the numbers: how many working days the vendor gets to fix and re-apply after a failed SAT, how many re-tests are allowed, and what rights the owner has if re-tests fail. My template: 14 working days to remediate and request re-test after first failure; maximum 2 re-tests; if both fail, the owner may deduct per the shortfall ratio or bring in third-party testing at the vendor's cost. Retention should be no less than 20%, ideally 30% — a 10% holdback doesn't constrain anyone; losing it doesn't hurt.

One thing most owners miss: missing functionality and underperforming functionality are two different things, and they need separate penalties. A missing function (the automatic cycle-counting feature in the contract was never built) is a delivery failure — it must be completed. Underperformance (throughput 10% below target) is an optimization issue — acceptable with a price deduction. Mix them and you get one unresolvable mess. My advice: functionality items are pass/fail, no acceptance without them; performance items score on a weighted deduction down to a contracted floor.

Pin down the warranty start date too: it runs from the day both sides sign off on SAT — not from equipment delivery, not from "preliminary acceptance." I've seen vendors argue that warranty started when the goods arrived on site. If the contract doesn't say otherwise, whoever drafted it wins that argument.

ASRS inbound conveyor with a pallet of goods entering the automated storage structure

Three things the owner must prepare

Watching the vendor isn't enough. If the owner's side drops the ball, SAT stalls just the same.

First, standardize pallets and carriers before testing. My opening story about the deformed pallet traces back to the owner's pallets being a mixed bag. Before SAT, unify them in writing — dimensions, materials, load ratings, condition standards. Pallets that don't meet spec don't enter the ASRS.

Second, integrate the WMS interface early. Plenty of SAT delays aren't equipment problems at all — the WMS-to-controls interface was never debugged. My requirement: interface integration complete two weeks before SAT starts, with simulated tasks running the full chain. Don't discover the mismatch after the cranes are standing.

Third, get operators and maintenance staff trained before the test. If the operators on duty during SAT can't even read the alarm codes, every Class C interruption gets booked as an equipment problem. Have the vendor complete operator training and certify people before SAT — it prepares you for go-live and for assigning responsibility fairly.

An ASRS is a heavy asset; you'll live with it for a decade. Those 72 hours of SAT are the one moment the owner holds all the cards. The vendor's sales team and project managers are at their most reasonable right then, because the retention money is still unpaid. After that window closes, the same problem gets you a two-week wait just for a service slot. Don't go soft during acceptance — every point of softness you give away now comes back doubled as trouble after go-live.

Acceptance checklist:

  • Contract defines how throughput, accuracy, and failure rate are counted (aisle-level throughput, first-attempt success rate, interruption grading)
  • Both sides sign the SAT plan: load standard for the 72-hour run, pallet spec mix, interruption classes and pass lines
  • Run data exported from system logs with timestamps; hand-filled records not accepted as evidence
  • Retention no less than 20% (30% recommended), tied to SAT sign-off; re-test count, remediation deadlines, and deduction rules in the contract
  • Missing functionality is pass/fail; underperformance scores on weighted deduction — handled separately
  • Warranty starts on the SAT sign-off date
  • Owner pallets standardized, WMS interface integrated two weeks early, operators trained and certified before the test