Projects:Referenced Inventory/Functional Specification
Objectives and Definition
Many companies move and store goods grouped in a RollTainer, Case or Box. The generic term for these is container and includes any kind of object that can contains goods. These movements can be inside a warehouse or between warehouses, and even between warehouses of cooperating business partners. The containers may be reusable or maybe disposable and have different sizes and purposes and are suitable for different typs of goods. This is the use-case of Shared References as explained below.
At the same time it is relevant to identify goods that are measured in a Natural Unit like mass or length, when we want to talk about a specific example of this product. This is the use-case of Unique References as explained below.
In both use-cases, identifying a product or a group of products by a single scan and functionality that allows to create/remove the container and add/remove goods into that container facilitates enormously the handling of products while avoiding the typical errors from human intervention.
Definition: Referenced Inventory is the functionality that identifies one or multiple storage details (Stock records) by using a "Reference Number". The Reference Number can have two distinct uses as illustrated below:
|Shared References||Unique References|
Shared References: Multiple Storage Details can have a Reference number that is shared with other Storage Details.
Scanning the Reference will identify the list of Storage Details. In this case the scanned 'object' can be a roll-cage, box or pallet with a variety of products and quantities for further distribution.
| Unique References: A Storage Detail can (optionally) have a reference number, and this reference number is not re-used in other storage details.
| Compare Shared References to SSCC:
Part of the functionality of the Reference Number is also known as the SSCC Serial Shipping Container Code. While the SSCC is mainly focussed on logistical identification and handling in distribution between business partners (For instance, the SSCC# is present in EDI / ASN), the functionality of the Reference Number not only includes these inter-warehouse logistics but also covers the intra-warehouse logistics that facilitates logistical identification and handling between bins within a warehouse.
| Compare Unique References to Price lookup Code:
In Openbravo Advanced Warehousing, the functionality of Unique References / Catch Weight is implicitely included in the way how Attributes are handled. All attribute values are scanneable from the front-end and attributes can be defined to represent the Unique Reference. Moreover, the most common way in Retail to deal with this functionality is through Price Lookup Code (PLU) which is also supported in the Openbravo Commerce Suite.
| Compare Unique References to Serial Number:
The Reference number is functionally different fom a Serial Number in the sense that a reference number only exists during the life-time inside the warehouse or between warehouses in the distrubution process: It has no value once it has been shipped to a customer or other third party. A specific Storage Detail in a distribution chain can very well have different Reference Numbers when it was in different warehouses. In contrast, a serial number or lot/batch number identifies the stock during its complete life-time, regardless if it just was manufactured, already distributed and awaiting a customer or sold and perhaps requested a repair or service. Reference numbers and serial/lot number can co-exist as they serve different purposes.
- As result of the comparison above, the scope of the Referenced Inventory Functionality is limited to Shared References.
- The functionalities for boxing/unboxing will be built on the Openbravo Advanced Warehousing module.
- There will be only one transaction that can add or remove a reference number to/from a Storage Detail
- Moving a Storage detail out of it's container to a specific destiny bin, constitutes of two transactions, executed in sequence and transparent for the user:
- Remove the Reference Number from the Storage Detail i.e. taking the good out of the box (transaction 1)
- Move the good to the destiny bin (transaction 2)
- A specific Reference Number can only be present in one bin, not in multiple bins at the same time.
There are different types of containers so the Reference Number needs to take into account different characteristics:
- Permanent / Disposable container: Does the Reference number dissapear after the container has been emptied or will it be reused?
- Why a Permanent Reference is not a Product: A Reference, permanent or not, indicates a grouping of products. The physical format of the group, like a box or rollcart, exists but is not the purpose of the Referenced Inventory project. The rollcarts indeed should be purchased but should be considered as expensed and non-stockeable products as they wear down and eventually are scrapped.
- Storage Bin Group List, like in product, that defines the possible areas where the container can be stored.
- Unit of Measure as the warehousing expresion of its size; blanks if none/disposable:
- If the container is a UOM, it has a its own capacity occupancy and assumes the capacity occupany of all goods inside (the goods inside will not longer count for the occupancy calculation).
- If it is a UOM, it also has a physical location (bin). If it is not a UOM, it will not have a physical location (bin) and assumes the bin of the products inside (that all must be equal).
- Empty references / containers that are UOM will still occupy space.
- Empty references / containers that are not UOM are transparent for the system.
- If it has a physical location (bin), the goods inside must share the same bin.
- Optionally a prefix and/or a suffix for easy user-recognition.
- @DBA(?): Image (.png /.jpg) for Front-End identification.
Processes from the AWO Back-End
- It must be possible to create/delete/inactivate Warehouse Container Types.
- It must be possible to create/delete/inactivate Warehouse Containers (empty) from a chosen Container Type to load the as-is situation of the customer.
- New ITT "PUT-CT" (Contain Storage Details), Behave-as-group=true. This ITT executes the new transaction that adds the Reference number to each of the selected Storage Details.
- New button "Contain" in Warehouse Operations window to add selected Storage Details to a new or existing reference (prompt).
- The reference number must be visible in the Warehouse Operations window. It must be possible to select one or multiple and sort on the column.
- All current Inventory Transaction types should include the Reference.
- Non-permanent references that are empty should automatically be deactivated.
- The logic for Put-Away must be adapted to store containers as a whole and not the content:
- It is not the content of the container that determines the destiny because this can be multiple and the container can not be in multiple bins.
- The Container Type has the field Storage Bin Group List as in product to determine the destiny. So the algorithm should detect if he deals with a container or with individual storage details before listing the possible destiny bins.
- It is not the content of the container that is relevant for occupancy but the container itself, regardless empty or with goods.
- New flag in the IR: "Clear Reference". If flagged, the transaction that removes the Reference from the storage detail is executed just prior the to natural action of the IR. Example:
- A RollTainer is received with n products and these products must be stored (Put-Away) individually.
- The IR has "Clear Reference" flagged and as result the products first lose there reference (are un-boxed) before a Put-Away is generated for each of the products. Unlike the creation of a new Reference, the removal can be done implicitely, as part of a un-boxing process.
Processes from the AWO Front-End
- It should be possible to create "On-The-Fly" a new Reference number for a chosen Reference Type. This would generate the Reference Number (if not Permanent) and add the characteristics like physical location (prompt) and prefix/suffix to it.
- It must be possible to print the reference number in barcode (integration with barcode printing service). Note: If the creation of the Reference is a Task then this is covered with the Print flag of the IR.
- It should be possible to add products to the reference by scanning or selecting from the AWO Front-End.
- It should be possible to remove products from the reference.
- It must be possible to move / put-away the complete reference and all products inside. This should be a new Inventory transaction Type, Behave-as-group=true.
- @DBA: New Menu "Box" needs a design. See below the process how I envision it.
Functions / Transactions
- Back-End: A new transaction that is allowed to add or remove the Reference from the Storage Detail (or AttrSet).
- Back-End: AWO Inventory Transaction Type "BOX-TR" (Behave-as-group=true)
- Note: Behave-as-group is subject to potential new task-type (see below).
- Will create a new box or re-use an existing.
- Back-End: AWO Inventory Transaction Type "PUT-BX" (Behave-as-group=true)
- Will move all StorDet that belong to the selected Reference ID.
- In the case that not all StorDet have the same Inventory Status, the InvSts is maintained potentially resulting in a new virtual bin in the confirmed destiny bin. (not the expected destiny).
- Back-End: On confirming a task, act on the flag "Remove Reference" in the IR: If true, invoke the transaction to remove the reference before invoking the transaction of the IR.
- Front-End: new menu "Box"
- Invokes the ITT "BOX-TR" with From-IRA and To-IRA. (Behave-as-group)
- Scan existing Reference or select Ref.Type will identify the Reference ID.
- Allow to select multiple StorDet.
- Confirm will add the Reference ID to the selected StorDet (or AttrSet).
- If PrintID is true in the IR, a Print Request is generated in order to print the Box Label.
- (For Packing functionality) It is likely that 'boxing' happens after picking and that it moves to the next IRA. So it should be verified that the reservation stays with the StorDetail.
- (For Packing functionality) Printing of the delivery note should show the content grouped by box.
- Front-End: Allow moves with References
- WHEN confirming a Task that executes a move (pick, put-away, move)
- AND the ITT is not a BOX-TR
- AND the IR has flag "Remove Reference" = False
- AND the From/To-bin is not a virtual bin of the To/From-bin
- AND the Storage Detail/AttrSet has a Reference
- THEN show a pop-up "Reference was Removed" -> This avoids that a single reference is present in two non-virtual bins.
- Front-End: Existing menus (to discuss with team for best approach)
- Lookup: First check if the scanned value is a Reference. If true, then show all StorDetails of that Reference.
- Put-Away: Doing a put-away with reference from the FE means that the operation is looking at a box/rollcage/etc. So first check if the scan is a reference ID and if so, invoke the new PUT-BX transaction.
- Reference Type Master with the fields from the paragrapgh 'characteristics'
- Reference Master with these fields:
- Reference UUID
- Reference ID
- Reference Type
- Reference UUID: To be discussed with team for best approach
- (ICI Proposal): Add to the attribute Set at the same level as Serial#, Lot and Expiry Date. (Subsecuently, all products will have to be defined with an AttrSet, even though they dont have Ser#, Lot or anything else.)
- Original idea: add UUID to the Storage Detail.
- Grouped Tasks: To be discussed with team for best approach
- (ICI Proposal): New (AWO) Task that is essentially different from existing tasks by not specifying the product/qty/UoM but only specifying the Reference. Rationale here is that the content is irrelevant when moving a RollTainer. The task would show all other fields.
- (MTR/original idea): Treat this as grouped-task.
- Add flag to Internal Routing "Remove Reference".
- Add Reference ID to Warehouse Operations, allow all buttons with the mention that this might remove the Reference ID (see note on front-End).
- Add Reference ID to Task report, Stock report.