コンテンツへスキップ
メニュー
この質問にフラグが付けられました
2 返信
96 ビュー

Dear All,

My small business allows people to pre-order/buy items that are transferred to another location. All these goodies are still virtual.

I am trying to create a Sales Order that does an internal transfer instead of a delivery order. 
To transfer stock from a virtual warehouse location to another virtual warehouse location. 
While assigning ownership of orders products.

For the Sales Order, even if I select the specific route in line items, it will always default back to a delivery order. How to a get it to be a internal transfer?

アバター
破棄
最善の回答

Hello Desmond, I understand you're trying to create a Sales Order that triggers an internal transfer instead of a delivery order in Odoo. Here's how you can achieve this:



  First, ensure that the "Internal Transfer" route is correctly configured and active in your Odoo inventory settings. This route should specify the source and destination locations for your virtual warehouses.

  Next, verify that the products you're selling are configured to use the "Internal Transfer" route by default. You can set this in the product's inventory tab under "Routes". If a route isn't specified on the product, Odoo will default to the standard delivery order.

  When creating the Sales Order, double-check that the correct warehouse is selected. The system might be defaulting to a delivery order if the selected warehouse is configured for deliveries rather than internal transfers.

  If the route is still defaulting to a delivery order, it might be due to conflicting routes or rules. Review your route configurations to ensure there are no conflicting rules that override your desired internal transfer route.

  Lastly, confirm that the stock is available in the source location. Odoo might skip the internal transfer if there's no stock to transfer.


For personalized assistance:
https://www.pragtech.co.in/contact-us-mql.html

アバター
破棄
最善の回答

Hi,


By default, Odoo Sales Orders always create a Delivery Order to the customer, since the sales flow assumes goods move from the warehouse to a customer location. To make a Sales Order trigger an internal transfer instead, you need to change the logistics route. The goal is to move stock between two internal or virtual locations rather than delivering to a customer.


To achieve this, you first create a custom route in Inventory → Configuration → Routes with an operation type set to Internal Transfer. Define a rule that pulls or pushes goods from one virtual location to another and make sure it applies to Sales Order Lines. Then, enable Multi-Step Routes and Advanced Routes on Sales Order Lines in Inventory settings so that routes can be selected directly in a sale order. Assign this new internal transfer route to your product or choose it manually when creating a Sales Order.


Once configured, confirming the Sales Order will generate an Internal Transfer picking instead of a Delivery Order. If you need to track stock ownership, you can customize the stock move creation to assign ownership (using the restrict_partner_id field). The reason Odoo defaults back to delivery orders is that the system’s standard sale routes always prioritize customer deliveries unless explicitly overridden.


For automation, you can extend the Sale Order Line model with a small customization that automatically sets the warehouse or route when the picking type is internal. This setup allows you to seamlessly handle internal or virtual stock movements triggered directly from Sales Orders, while still maintaining flexibility and full control over routing logic.



Hope it helps

アバター
破棄
関連投稿 返信 ビュー 活動
0
11月 23
2267
3
5月 23
6725
1
5月 25
1559
1
5月 25
1383
2
11月 24
2481