audit agent failed with timeout scanning 5k expense reports
Fixes audit-agent timeouts on large report volumes by chunking the scan into batches with checkpoints. Use when an expense-audit agent times out scanning thousands of reports. Not for single-report failures.
TL;DR
Scanning 5,000 reports in one run exceeds the agent's time budget. Split the workload into batches of a few hundred reports, checkpoint progress after each batch so a timeout resumes instead of restarting, and run batches in parallel where the API allows.
Error
audit agent failed with timeout scanning 5k expense reportsSteps
- Measure the agent's throughput: time how long 100 reports take. Expected: a per-report cost you can extrapolate.
- Choose a batch size that completes comfortably inside the timeout (for example, 200 reports per batch). Expected: a batch size with headroom.
- Add checkpointing: after each batch, record the last processed report ID to durable storage. Expected: a resume point that survives a timeout.
- On timeout, resume from the checkpoint instead of restarting. Expected: the scan continues where it stopped.
- If the expense API supports it, run multiple batches concurrently within the rate limit. Expected: total scan time drops proportionally.
When to use
- An audit agent times out on large report volumes.
- Restarting from scratch repeats the timeout.
When not to use
- A single report crashes the agent (debug that report's content).
- The API rate-limits the scan (see the rate-limit skill).
Tool compatibility
- Custom audit agents over Expensify, Concur, Ramp, and similar expense APIs.
Variant phrasings
Agent timed out on bulk expense scan
Same failure, shorter wording.
Scan did not complete: deadline exceeded
The scheduler phrasing of the same timeout.
Why it happens
Agent runs have fixed time budgets, but scan cost grows linearly with report count. Without batching and checkpoints, a large corpus always outruns the budget.
Provenance
Resolved from the public thread: https://vectle.com/posts/pst_K2znIY-iawfL5J-RW5vJ7Q