Changes after import
An order keeps syncing after its first import. Shopify sends a webhook (or the 15-minute check finds the change), Odoo reads the order again and applies what changed.
An order is not only imported once. Every time it changes in Shopify (through a webhook, the 15-minute check or Update From Store), Odoo compares it with what it imported last and applies the changes that are still safe to apply.
How Odoo decides what to do
- Odoo builds a fingerprint of the store order (lines, amounts, addresses, status, payment, refunds). When it is the same as at the last import, nothing happens, so repeated webhooks cost nothing.
- Odoo saves the new Store Status. Paid in the Store only ever goes from off to on.
- Cancelled in the store: see the cancellation rules below. Nothing else is updated.
- Order cancelled in Odoo: nothing else is updated.
- Not delivered and not invoiced yet: lines and the delivery address are updated (see the table).
- A status change is written in the log.
- A quotation whose new status is not one Odoo imports stays as it is.
- The payment method workflow runs again (confirm, delivery, invoice, payment), so an order paid later is now invoiced and its payment registered.
- New refunds are imported.
Change in the store, effect in Odoo
| Change in Shopify | Effect in Odoo |
|---|---|
| Quantity or price of a line changed | Line updated, while the order is neither delivered nor invoiced |
| Line added | Line added, same condition |
| Line removed | Removed from a quotation; quantity set to 0 on a confirmed order (the delivery is updated by Odoo), same condition |
| Other product on a line | Product changed on a quotation only |
| Shipping address changed | New delivery address; open deliveries are moved to it, same condition |
| Billing address changed | Not updated (the invoice address of the order stays) |
| Order paid | Paid in the Store on; invoice and payment per payment method |
| Order completed or fulfilled | Invoice per payment method (when not invoiced yet) |
| Order cancelled | Order cancelled, or a to-do when it is already delivered or invoiced |
| Refund | Credit note (see refunds) |
| Anything, after delivery or invoicing | Status, payment and refunds only. Lines and addresses stay as invoiced. |
When lines change, Odoo also compares the new totals and flags the order if they differ.
Cancellations from the store
With Cancel Orders Cancelled in the Store on:
- Not delivered and no posted invoice: draft invoices are cancelled, then the order is cancelled. Nothing is sent back to Shopify.
- Already delivered or invoiced: the order is not cancelled. The log gets a warning and the salesperson (or you) gets a to-do Cancelled in the store on the order: handle the return and the credit note by hand.
With the setting off, only the Store Status changes.
Good to know
note
- Update From Store on an order reads it again from Shopify and applies it even when the fingerprint did not change. Use it after you fixed a mapping or a product.
- Changes made in Odoo to an imported order (an extra line, another price) can be overwritten by the next store change while the order is not delivered or invoiced. Change the order in Shopify instead, or deliver or invoice it first.
Shopify examples
| In Shopify | In Odoo |
|---|---|
| You click Mark as paid on a cash on delivery order | Paid in the Store is set; invoice and payment follow the payment method. |
| Payment captured on an authorized order | Status processing to paid; invoice and payment. |
| You edit the order before Odoo delivered or invoiced it | Added items become new lines. Removed items and lowered quantities are not applied in version 1.0 (Odoo reads the ordered quantity): change them in Odoo by hand. |
| You edit the order after Odoo delivered or invoiced it | Lines are not changed; adjust in Odoo by hand. |
| You change the shipping address | The delivery address of the order and of its open deliveries is updated. |
| You fulfill in Shopify | Status becomes completed when paid. Odoo does not validate its delivery from that. |
| You refund | A credit note (Refunds). |
| You cancel | The Odoo order is cancelled, or a to-do is created when it is already delivered or invoiced (Cancellations). |
Was this page helpful?