Putting SOA to Work

In the industrial and construction supplies industry, where price point is king, margins are razor thin and competition is fierce, it’s easy for customers to switch suppliers.

To retain and attract new customers, we needed a way to make Fastenal Corporation stand out and really deliver on our company motto “Growth Through Customer Service.” When looking for ways to improve customer satisfaction, our order management system quickly emerged as the biggest area of opportunity.

Fastenal is one of the largest industrial- and construction-supply distributors in the United States. We operate 12 distribution centers, a fleet of 275 company-owned semi trucks and over 2,100 stores worldwide.

One of our key differentiators is that in addition to selling through our website, we are a brick-and-mortar shop. We are not catalog-based, like many of our competitors, so we gain valuable face-to-face contact with customers. This helps maintain customer relationships, but customers can easily go elsewhere should we lose their order or they find a better price.

Our order fulfillment model was top-down driven: any e-commerce orders placed through our website, EDI, field sales’ mobile devices, or our homegrown vendor management system  were funneled first through corporate headquarters and then distributed manually to the individual stores.

We cobbled together a custom file transfer system where we would drop the file to the store, in a “fire and forget” manner. The store would fulfill the order. Occasionally, something would get lost. There was no real explanation for the lost order, because our file transfer system did not log the transfers, so we had no way to look back to see where and why the failure occurred.

Timeliness was another issue. The system was scheduled to drop orders to the stores every hour, so if an order was filed just before the last drop occurred, you would have to wait another hour until the next batch of orders dropped. Any documentation, such as purchase acknowledgements, could also be delayed. Using this approach for order management, we did not feel like we were delivering on our motto.

Wanting to find a way to improve operational efficiency, we made a decision to use this application as an opportunity to implement a services-oriented architecture (SOA) with the goal of dropping orders to the stores in real-time. This would enforce transparency and ensure all of our corporate orders were funneled through the new system, regardless of the source.