The main purpose of the service is capturing goods receipts. Strategies for handling expected and blind receipts are supported, as well as strategies for capturing goods on Location, in Container or full Containers.
In case of an expected receipt the incoming goods were previously announced in ReceivingOrderPositions as part of a ReceivingOrder. Captured items are validated against open, not satisfied order positions. If the captured quantity reaches the expected quantity of the position the position is completed. If all positions of the order are completed, the order is completed as well. It depends on the product attributes whether more of the expected quantity can be captured.
| Feature | Description |
| FEAT-014: Expected Receipt of Inventory on Location | Previously announced goods are captured against open ReceivingOrderPositions, the captured items are created and placed on a Location |
| FEAT-015: Expected Receipt of Inventory on TransportUnit | Previously announced goods are captured against open ReceivingOrderPositions, the captured items are created and placed in a LoadUnit of a TransportUnit |
| FEAT-016: Expected Receipt of a TransportUnit | A TransportUnit is expected to be received. When the TransportUnit is captured it is created. |
| FEAT-017: Blind Receipt of Inventory on Location | Received goods were not previously announced and cannot be captured against a ReceivingOrder. The items are captured and placed on a Location |
| FEAT-018: Blind Receipt of Inventory on TransportUnit | An unknown TransportUnit is captured and created in the system |
| FEAT-019: Create Receiving Order | Create a new ReceivingOrder with ReceivingOrderPositions |
| FEAT-020: Complete Receiving Order at once | Complete all ReceivingOrderPositions and the order. Create all expected items with their expected quantity |
The WMS Receiving Service is the entry point into the system when it comes to goods receiving, either from a manual area or from an I-Point in an automated warehouse. The surrounding subsystems and their relationships are as follows:
| Component / Relation | Description |
|---|---|
| OpenWMS.org | The whole OpenWMS.org application |
| Receiving Service | Manages ReceivingOrders and handles typical goods receipt actions |
| Database | The Receiving Service stores all orders in its own database instance |
| Common Service | Manages Locations and TransportUnits |
| Inventory Service | Manages all Product definitions and physical inventory |
| Printing Service | Manages printers, prints of labels and reports and offers an API to print |
| Printer | External printing system |
| ERP | Any kind of ERP that places ReceivingOrders in the OpenWMS.org system |
| Clients | Desktop & Mobile clients use the API of the Receiving Service to capture incoming receipts |
| R>P | Receiving might call Printing if required in a project. This is basically done to print new barcode labels for TransportUnits |
| R>C | Receiving calls the Common Service to retrieve mandatory data about TransportUnits and to create new ones if demanded |
| R>I | Receiving calls Inventory to retrieve Product information and create physical inventory. This is optional. If Inventory does not exists, Receiving tries to use its own Product store and just sends out commands to create the inventory |
The document on hand describes the detailed component design of the OpenWMS.org WMS Receiving Service. The software design is mainly driven by functional requirements and features discussed in upfront meetings with stakeholders of various projects. Those requirements are documented and tracked in the following chapters. Beside different view points, like the structural and behavioural view, the components configuration, extensibility an testability are considered as well.
This design document is meant to be read by Software Engineers who like to extend or modify the component or to use it in a customer project. It may although be referenced by Product Managers or Requirements Engineers who are interested in the components feature set.
Terms and definitions used in this document are described in detail in the appended glossary chapter. The Software Architecture Document of the OpenWMS.org Product might be from interest as well.