Minimum Version Required: 20.01
Pre-Conditions
User must have the BinInventoryEdit permission to run this routine
Bins must already exist in the system for the specified BinID or BinID_Translation values
Products must already exist in the system for the specified ProductID or ProductID_Translation values
Locations must already exist in the system for the specified LocationID or LocationID_Translation values
Steps
EDBL Routines Disclaimer: This EDBL routine represents advanced functionality primarily intended for use by Encompass technical staff. While technically proficient customers may utilize these routines, please be aware that they fall outside the scope of standard support. Assistance with EDBL routines is not covered under standard support agreements and may require billable services from our Professional Services team. Please ensure you thoroughly understand this routine before implementation in your production environment
The BinInventories EDBL updates and manages inventory levels for bins. This guide outlines the mappable fields, their purposes, prerequisites, and important considerations to ensure a smooth process.
1. Review data & map fields
Ensure that all required and desired fields are properly mapped in the import data. See Fields & Definitions for more information about each field in the EDBL.
2. Before running the EDBL, ensure the following:
Location Mapping: Either LocationID or LocationID_Translation must be mapped.
If no matching LocationID is found in the system, a warning will appear: "LocationID not mapped."
3. Import Actions
Only the following import actions are respected:
AddOnly
UpdateOnly
UpdateOrAdd
If other import actions are used, no data will be processed.
4. How Inventory Updates Work
This EDBL updates bin inventory levels directly. Here’s how the process works:
The provided inventory value replaces the current
BinInventory.Inventory.Two
BinTransrecords are created to adjust the bin inventory:A negative adjustment (
AdjBinID) to decrease the previous inventory level.A positive adjustment to reflect the new inventory level.
Example:
If BinInventoryID 1 has an initial inventory of 10 units and the import file specifies 20 units:
The final inventory becomes 20 units.
Two
BinTransrecords are added:AdjBinreduces inventory by -10 units.Binadds +10 units.
5. Additional Notes
There are no scheduled tasks that need to run after this EDBL. Bin Inventories are immediately updated, and matching BinTrans records are created to reflect any moves. Bin Trans may take up to 15 minutes to be visible in the Bin Trans table. Immediate impact can be seen on the Bin Inventories table or in the Bin Audit tool, where changes to bin inventory over time can be reviewed for a specified product and bin.
Fields And Definitions
LocationID_Translation: External identifier for the location. Maps to a system LocationID through table translation. (Required*)
LocationID: Directly provides the location ID of the desired warehouse. If not provided, defaults to the current user's location. (Required*)
BinID_Translation: External identifier for the bin. Maps to a system BinID through table translation. (Required*)
BinID: Specifies the target bin ID in the warehouse. (Required*)
AdjBinID: Specifies the adjustment bin ID; defaults to DefaultBins.AdjustBinID if not mapped.
ProductID_Translation: External identifier for the product. Maps to the ProductID through table translation. (Required*)
ProductID: Specifies the target system product ID. (Required*)
Inventory: The quantity of the product to set in the bin. This is the actual inventory count. Updates the number of units (NumUnits).
PurchaseID: If mapped, finds a PurchaseTransID for the product in the specified purchase.
PurchaseTransID: Updates BinInventory.PurchaseTransID. Creates BinLots if the bin’s BinZones.RequirePalletTag > 0.
WholesaleUnitsPerCase: Defaults to the product’s Package.WholesaleUnitsPerCase if not mapped.
*Only one of the noted fields must be mapped, but both are not simultaneously required.
Best Practices
When to use: The BinInventories EDBL is best suited for situations where the "from bin" needs to be specified, but any variance in inventory can shift into an adjustment bin. If new inventory quantities simply need to be updated for a collection of bins, for example, the BinInventories EDBL is the right choice.
The BinInventories EDBL is primarily intended for use within integrations or during the data migration process.
Always include LocationID or LocationID_Translation to ensure inventory is updated in the correct facility
Provide both BinID_Translation and ProductID_Translation values when possible for better matching to existing records
Verify that bins exist before running the import
If importing inventory for bins that track lots or batches, include PurchaseTransID to maintain lot traceability
After completing a WMS_BinInventories import, consider running inventory reports to verify the updated quantities match expectations
If you need to completely reset inventory in a bin, include records with an Inventory value of 0