Send stock
Odoo is the master of stock: it sends the quantity of every linked variant to each mapped Shopify location.
- Products are linked.
- Locations are mapped (or the main location got the store's warehouses on the first connection).
- On the Stock tab, check Stock Source, Stock Buffer and Send Stock Automatically.
Method 1: automatic
With Send Stock Automatically on (default), stock is sent when stock moves in Odoo (about a minute later) and every hour as a safety net. Only quantities that changed since the last send are sent.
Method 2: by hand
| Button | What is sent |
|---|---|
| Send All Stock (store header) | Every linked variant, also when nothing changed. |
| Sync... > Send stock to the store | Same as Send All Stock. |
| Product Links, select lines, Action > Send Stock to Store | The selected variants. |
Odoo is the master of stock: it sends Shopify the quantity of every linked product. Stock is sent only for products in Product Links with Send Stock on.
The quantity sent
- Odoo takes the quantity of the Stock Source in the Stock From Warehouses (or the Order Warehouse): free to use (on hand minus reserved), on hand or forecasted.
- It applies the Stock Buffer.
- It rounds down to whole units. Negative quantities become 0.
| Stock Source quantity | Stock Buffer | Buffer Value | Sent |
|---|---|---|---|
| 12 | Send the full quantity | 12 | |
| 12 | Keep back a fixed quantity | 2 | 10 |
| 1 | Keep back a fixed quantity | 2 | 0 |
| 12 | Send a percentage | 80 | 9 (9.6 rounded down) |
| 2.5 kg | Send the full quantity | 2 |
On Odoo 18, 19 and 20, Stock From Warehouses is respected from Commerce Bridge 1.0.2. Version 1.0.1 sent the stock of all warehouses of the company there.
When stock is sent
| When | What is sent |
|---|---|
| Stock moves in Odoo (a delivery or receipt is validated, products are reserved or unreserved, an inventory adjustment is applied) | About one minute later, one job sends every linked product whose quantity changed since it was last sent. Many moves within that minute become one job. |
| Every hour | The same check, as a safety net. |
| Send All Stock on the store, or Sync... > Send stock to the store | Every linked product, also when nothing changed. |
| Product Links, select lines, Action > Send Stock to Store | The selected products, also when nothing changed. |
Automatic sending needs Send Stock Automatically on and the store Connected. A test copy of the database never sends stock.
Reading Product Links
| Column | Meaning |
|---|---|
| Send Stock | Switch off to leave the quantity of this product to Shopify, for example for a product you manage only in the store. |
| Stock Sent | The quantity Shopify accepted last time |
| Stock Sent On | When |
The filters Stock Not Sent and Out of Stock in Store help to check what customers see.
Setting Odoo stock from the store
When you start, your stock may only be correct in Shopify. Sync... > Set Odoo stock from the store quantities sets the on-hand quantity of every linked product, in the location you choose, to the store quantity, as an inventory adjustment. Use it once, at the start: afterwards Odoo is the master and sends its quantities.
Per location
The rules above give one quantity per warehouse set. Each Shopify location gets the quantity of its own Stock From Warehouses, computed with the same Stock Source and Stock Buffer. Stock Sent in Product Links shows the quantity of the store's own warehouses (the main location in the fallback case).
What changes in Shopify
- For variants that miss it, Odoo looks up the inventory item, and switches on quantity tracking when it is off.
- The first time a variant is sent to a location where it is not stocked, Odoo stocks it there with the quantity in the same call.
- Then Odoo sets the available quantity, up to 250 items per call, with reason correction and Odoo as the reference document. Shopify shows these changes in the inventory history.
Odoo does not compare with the quantity Shopify had before: Odoo's quantity wins.
Good to know
- Sending stock from Odoo replaces the quantity in Shopify. Do not also adjust stock by hand in Shopify for the same location.
- Odoo sends quantities to locations; the available quantity that Shopify shows customers is the sum over locations that fulfill online orders.
- A variant without inventory item is logged as no Shopify inventory item found. Import products again.
- A test copy of the database never sends stock.