Multiple warehouse with differentiation per customer


Hello everyone, 

we are currently using a single warehouse in the application, defined as default. We have a new business requirement where different customers belong to different departments, which we have stored in the database for each customer. Depending on the department, customers are expected to have a different number of items available to purchase,


customer A, belonging to the DA department, will not know that customer B, belonging to the DB department, has a different number of available items.

I would like to ask how to approach this problem in a proper way, is keeping these data in different warehouses a suggested solution? On what to be aware of during implementation?

Mar 14, 2023 11:19

How many departments do you have? Sounds like the easiest option is to setup each warehouse per department. 

Mar 14, 2023 14:29

You can have several warehouses in the Commerce database, and keep separate inventory numbers for each warehouse. That is: one inventory record for each combination of WarehouseCode + CatalogEntryCode.

Every time you need to know the inventory of a catalog entry, you can call IInventoryService.QueryByPartialKey instead of IInventoryService.QueryByEntry.

You could maybe have a property on the CustomerContact or Organization MetaClass, that contains the related warehouse code for the customer. Then every time you load inventory for the customer, you get the WarehouseCode from the contact/organization.

Mar 14, 2023 20:41
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.