Mini-Series Part 1: The "Manual Hell" Rebill Project
Following up on my previous post about automating month-end, I want to pull back the curtain on the project that really started it all. It involves a massive company reconstruction, a "manual hell" task, and a midnight breakthrough that tripled my productivity. The Problem: A Reconstruction Hangover On January 1, 2026, our company underwent a major reconstruction. Customers were assigned new sales reps, but the final list of who owned which account wasn't finalized until April. In the meantime, we kept invoicing as usual. The invoices were correct, but the Sales Rep field on the historical records was now wrong. To fix it, we had to go back and update thousands of already invoiced sales orders. The Manual Workflow (or: How to lose your mind): 1. Search for the Sales Order. 2. Click Invoice. 3. Click Rebill. 4. Change the Sales Rep. 5. Click OK. 6. Hit Esc to exit. 7. Repeat... hundreds (or thousands) of times. Enter Claude Code & Playwright I had just started using Claude Code on March 19th after watching @Jake Van Clief ’s videos. Two weeks later, this assignment landed on my desk in the middle of my usual accounting duties. Since I didn’t have backend API access to D365 F&O, I turned to the Playwright MCP. If I couldn't talk to the database directly, I’d have Claude "drive" the browser just like a human would. The Automation Logic: - Open Chrome to the D365 Sales Order URL. - Open the filters tab. - Add filter information (Customer account, dates for Q1 2026, and identifying which sales orders had the wrong rep). - Execute the "Rebill" click-path automatically. The "Aha!" Moment at 00:30 AM It worked, but it was real slow. D365 isn't exactly a speed demon. My boss was happy ("as long as we don't have to do it, I don't care how slow it is"), but I knew we could do better. Earlier that day, I was running it in one browser and it was taking forever. While the kids were finally asleep that night, I had an idea: Can I run this on more than one tab?