The company I worked for had recently purchased a new ERP system called IQMS to replace our existing software. However, there was an immediate issue: some customers—most notably The Home Depot—had unusual shipping requirements that weren’t fully compatible with the new system.
Typically, most companies ship one or two line items in large quantities per purchase order. In contrast, The Home Depot required us to ship a mixed assortment of several products across multiple purchase orders, often spread across several pallets. Since The Home Depot was Aquamor’s largest customer, it was crucial that we got this right.
The first challenge was enabling the shipping department to build mixed pallets that were reasonably balanced and could be safely stacked in trucks. This wasn’t a new problem—the previous developer had written a Visual Basic 6 program that helped manage pallet construction. I created a simple API to mirror the SQL Server pallet data into the IQMS.master_label
table in real time. Later, I developed a more advanced version of this functionality within Nautilus , but for the time being, the legacy solution was sufficient.
The next challenge was processing large volumes of orders quickly. IQMS appeared to have been designed with large, consistent orders in mind. Much like the pallet issue, it struggled with the complexity of our mixed, high-volume orders. Users were required to jump between several modules and complete multiple steps for each order, which was time-consuming and error-prone.
Although our regular weekly orders were already difficult, they weren’t the biggest concern. Twice a year, The Home Depot ran a promotional event known internally as "Wingstacks," which required us to process over 2,000 purchase orders totaling $2–3 million in revenue. These events demanded fast and accurate processing. As it stood, IQMS couldn’t handle the volume. In fact, it was impossible to manage Wingstack orders through IQMS alone. So, I began reverse-engineering the entire order-to-invoice process.
From the moment we identified the issue to the deadline of the first Wingstack shipment, we had just two months. That was February 2020.
And yes—this all happened right as the pandemic hit.
Ironically, the pandemic turned out to be a bit of a blessing in disguise. I was able to work from home with fewer distractions, aside from the usual daily responsibilities.
I met the deadline—just barely. Since then, we’ve added several new customers to the system, along with a host of new features and performance optimizations.
Originally, processing a single order took nearly a minute. With smarter caching and system improvements, I’ve brought that down to an average of about four seconds per order.