The manual approach is already the benchmark. This user has figured out that their own hands, opening 14 files at a time, beat every script they've written. That is a revealing fact. It tells us that the real obstacle isn't the data or the ERP, it's the tooling. Their Python, PowerShell, and VBA scripts all run sequentially, file by file, which turns a 30-minute manual task into a two-hour automated nightmare. The automation is slower than the human. That's not a failure of effort; it's a failure of design.
The manual method works because it exploits parallelism. The user opens a batch, triggers refresh on all of them, and while the queries run in the background, they are effectively waiting on 14 processes at once. The script, by contrast, waits on one file to finish before it even touches the next. The fix is not a better loop or a faster query. The fix is concurrency. The user needs a script that opens a batch of files, kicks off the refresh on each, then waits for all of them to finish before saving and closing. That is a well-defined problem with a known solution: threading or async patterns in Python, or job objects in PowerShell. The ceiling here is not the ERP's response time. The ceiling is the script's architecture.
This is a concrete example of a broader pattern we see often. Users are told to automate, but the default automation, sequential, single-threaded, is often a step backward from a smart manual process. The real value of a tool like an AI-native spreadsheet is not just doing what the user did, but doing it better. In this case, better means parallel, batch-aware, and resilient to the 40-to-60-second variability of each query. The user already knows the target: 20 to 40 minutes. The script should hit that. If it cannot, then the script is not an improvement. The goal is not automation for its own sake. The goal is automation that respects the user's time.