A warehouse management system (WMS) is a set of policies and processes intended to organise the work of a warehouse or distribution centre, and ensure that such a facility can operate efficiently and meet its objectives. In the 20th century the term 'warehouse management information system' was often used to distinguish software that fulfils this function from theoretical systems. Some smaller facilities may use spreadsheets or physical media like pen and paper to document their processes and activities, and this too can be considered a WMS. However, in contemporary usage, the term overwhelmingly refers to computer systems. The core function of a warehouse management system is to record the arrival and departure of inventory. From that starting point, features are added like recording the precise location of stock within the warehouse, optimising the use of available space, or coordinating tasks for maximum efficiency. Levels of Complexity More complex warehouse management systems tend to include specialised features designed for specific industries or types of facility, while legacy enterprise software vendors aim to offer as many of these features as possible in a ‘one-size-fits-all’ solution, which may be available as modules. Academic research has made use of an approximate classification system based on 3 levels of complexity: A basic WMS supports inventory management and location control. The performance data that can be produced at this level is generally limited to ‘throughput’, i.e.: how much stock moves through the warehouse in a given period of time. A basic WMS is almost indistinguishable from a basic Inventory Management System. An advanced WMS can analyse capacity and stock levels, and perhaps track how much time and labour is spent on different activities. This allows it to generate data that measures efficiency and suggest ways to improve it. Outside of East Asia, Most WMS's in use today fall into this category. At this level, the duties of the WMS may begin to overlap with or supersede those of a Warehouse Control System or Warehouse Execution System. A controlled WMS can exchange data with other systems, in order to take into account information from outside the warehouse (e.g.: manufacturing needs, customer orders, transportation) when planning activities, and vice versa. It may control or obtain feedback from automation or IoT devices, in facilities that have them. It may also continuously simulate or test strategies for improving operations, perhaps using machine learning. The most complex WMS's are almost indistinguishable