Hi,
By default, Odoo does not automatically split replenishment between internal stock and purchase — it will either:
Take from one source location (e.g., store B) until exhausted, or
Create a purchase order if the source is empty, depending on the replenishment route.
Odoo doesn’t natively split the order automatically into partial internal transfer + purchase; this requires proper route and rules configuration.
Follow the steps:
Check your routes
Go to Inventory → Configuration → Routes.
You need a route that combines:
Take from another warehouse (internal transfer)
Buy from vendor if insufficient stock
Odoo calls this “Pull from another location then Buy” logic. The route must have two rules in sequence:
Move from another warehouse (source: store B → destination: store A)
Buy (make to order) if stock is insufficient
Set up the replenishment rules
Inventory → Operations → Replenishment
For product X, set the minimum quantity at store A (e.g., 0) and the maximum quantity (e.g., 50).
Set the route to the one created above (“Take from another warehouse then Buy”).
Check push/pull rules
The push/pull rules define how stock moves are executed:
Pull rule: from store B → store A
Pull rule: from vendor → store A
Confirm warehouse configuration
Make sure store A and store B belong to warehouses with proper inter-warehouse rules.
Odoo uses inter-company and warehouse rules to generate the stock moves correctly.
Hope it helps