使用虚拟位置从多个仓库销售库存

在小公司中,只在一个仓库中保留库存并销售可能是可行的,但对于大公司来说,可能需要在多个位置的多个仓库中保留库存或从中销售。

Sometimes products included in a single sales order might take stock from two (or more) warehouses; in Odoo, pulling products from multiple warehouses to satisfy sales demands can be done using virtual locations.

重要

The solution in this document, describing the use of a virtual warehouse to fulfill orders for multiple warehouses, has some limitations. Consider the following before proceeding:

  1. When the Warehouse field is set to a virtual warehouse on a sales order, the virtual warehouse’s address is indicated on the picking, packing, and delivery forms, not the actual warehouse’s address.

  2. Each location has a warehouse_id (hidden field). This means that the stock in the virtual warehouse will not be the sum of the stock of the real warehouses, but rather the sum of the stock in the locations whose warehouse ID is the virtual warehouse.

危险

Potential limitation for those using two or three-step delivery:

  1. The output or packing zone on the various forms is incorrectly listed as the virtual warehouse’s address.

  2. There is no workaround for two or three-step deliveries.

  3. Proceed only if setting a virtual warehouse’s address as the output or packing zone makes sense for the company’s workflow.

注解

In order to create virtual locations in warehouses, and proceed to the following steps, the Storage Locations and Multi-Step Routes features must be enabled.

To do so, go to Inventory app ‣ Configuration ‣ Settings, scroll down to the Warehouse section, and enable the Storage Locations and Multi-Step Routes options. Then, Save the changes to finish.

Create virtual parent location

Before creating any virtual stock locations, create a new warehouse that acts as a virtual warehouse — the parent location of other physical warehouses.

虚拟仓库非常适合拥有多个实体仓库的公司。这是因为可能会出现这样的情况,一个仓库的某个产品库存用完了,但另一个仓库仍然有库存。在这种情况下,可以使用这两个(或更多)仓库的库存来满足一个销售订单。

“虚拟” 仓库作为公司实体仓库中所有库存的单一聚合器,并且用于(为了追溯目的)在 Odoo 中创建位置的层次结构。

To create a new warehouse, go to Inventory app ‣ Configuration ‣ Warehouses, and click Create. From here, the warehouse Name and Short Name can be changed, and other warehouse details can be changed under the Warehouse Configuration tab.

Lastly, click Save to finish creating a regular warehouse. Continue following the steps below to finish configuring the virtual parent warehouse.

New warehouse form.

Create child warehouses

Create at least two child warehouses to link to the virtual warehouse.

重要

In order to take stock from multiple warehouses to fulfill a sales order, there needs to be at least two warehouses acting as child locations of the virtual parent location warehouse.

To do that, navigate to Inventory app ‣ Configuration ‣ Warehouses, click Create, and follow the preceding instructions to configure the physical stock locations.

Example

父仓库
仓库: 虚拟仓库
Location: VWH/Stock
子仓库
仓库: 仓库 A仓库 B
Locations: WHA and WHB
Graphic of child locations 'WHA' and 'WHB' tied to the parent location.

重要

While the virtual stock location will be changed to ‘View’ later, the Location Type must be Internal Location at this point to link the child warehouses in the next section.

Set virtual stock location as ‘view’

Set the virtual stock location’s Location Type to View, as it is a non-existent location used to group various physical warehouses together.

To do that, navigate to Inventory app ‣ Configuration ‣ Locations.

Click the virtual warehouse’s stock location (e.g. VWH/Stock) that was previously created, from the Locations list.

On the location form, under the Additional Information heading, set the Location Type to View. Save the changes.

在位置创建屏幕中的仓库位置类型。

小技巧

To view the total quantity across all linked child warehouses, go to the product form and click the On Hand smart button.

Display stock across all linked warehouses.

Example: sell products from a virtual warehouse

To sell products from multiple warehouses using a virtual parent location, the database must have at least two warehouses configured — with at least one product, with quantity on-hand in each warehouse, respectively.

Example

The following product, Toy soldier, is available at each location with the quantities:

  • WHA/Stock : 1

  • WHB/Stock : 2

  • Warehouses WHA and WHB are child warehouses of the virtual warehouse VWH.

Create a quotation for the product by navigating to the Sales app and clicking Create. On the quote, add a Customer, and click Add a product to add the two products stored in the two warehouses.

Then, click the Other Info tab on the sales order form. Under the Delivery section, change the Warehouse field value to the virtual warehouse that was previously created. Next, Confirm the sales order.

Set virtual warehouse as the *Warehouse* field in sales order's *Other Info* tab.

Then, click the Delivery smart button. From the warehouse delivery form, confirm that the Source Location value matches the Warehouse field value from the sales order. Both should list the virtual warehouse location.

Finally, on the warehouse delivery form, under the Detailed Operations tab, confirm that the Locations in the From column for each product match the child locations that are tied to the virtual parent location.

具有匹配源和子位置的交货单。

重要

The Source Location on the warehouse delivery form, and the Warehouse under the Other Info tab on the sales order, must match for products in the sales order to be pulled from different warehouses.

  • If the virtual warehouse is not in the Source Location field on the warehouse delivery form, retry product reservation by:

    • Running the scheduler: turn on developer mode, and then go to Inventory app ‣ Operations ‣ Run Scheduler.

    • Clicking Check Availability on the delivery order.

  • If the virtual warehouse is not assigned to the Warehouse field on the sales order, then cancel it, and create a new sales order with the virtual warehouse set in the Warehouse field.

  • If the Warehouse field is missing on the sales order form, then the multiple child warehouses may not have been set up correctly. Review the previous section to ensure the correct settings.

小技巧

To use a virtual parent location as the default warehouse for sales orders, each salesperson should have the virtual warehouse assigned to them from the drop-down menu next to Default Warehouse on their employee form.

员工表单上的默认仓库位置。