Inventory control encompasses all the processes that support the supply, the storage, and the accessibility of items in order to ensure their availability while minimizing inventory costs. It can be split into two major areas: the management of inventory and the optimization of inventory. When managing the inventory, the goal is to sustain a high productivity for all inventory operations. When it comes to its optimization, the focus is on maximizing the financial output for the company by attempting to minimize both carrying costs and stock-out costs, such as taking the best decisions that govern the inventory such as deciding when and how much to reorder, where to store an item in the facility, and which item needs to be counted and when. The primary challenge is the uncertainty associated with the future demand.

Historically, ERPs have emerged as monolithic solutions to address both the inventory management and the inventory optimization problems. However, the specifications for a good inventory management software are very different from those required to make good inventory optimization software. As a result, we observe that companies that adopt a monolithic design nearly all suffer from either poor management or poor optimization. The problem is further accentuated by the pace of change within the software industry - once adopted, the cost of change is so great that it can take up to a decade to fully transition to an alternative solution for large companies.

In contrast, the optimization part comes with much lower friction with regards to the cost of change. In fact, it is usually possible to have multiple systems, each generating its own set of proposals (ex: the list of items to be reordered) and then defining a process to establish which scope of authority should be given to each system