Skip to main content

Jobs

Every sync with Shopify runs as a job: webhooks, scheduled checks, and the actions you start.

Every sync with Shopify runs as a job: each webhook, each scheduled check, each button and each bulk operation. Jobs run in the background, one after the other, so a slow store never blocks Odoo, and nothing is lost when a call fails. Online Stores > Queue > Jobs lists them (pending and failed jobs first).

The job queue

Job fields​

FieldMeaning
NameWhat the job does, for example Import order 1001 or Send stock
StoreThe store
StatusPending (waiting), Running, Done, Failed (gave up after the last attempt), Cancelled
Attempts / Max AttemptsTries so far, and the limit (5). You can raise Max Attempts on a job.
Run AfterA pending job does not start before this time (retries and short delays)
Started, FinishedTimes of the last run
ResultWhat the job did, for example SH-1001 or Stock sent for 12 of 12 products.
ErrorWhy the last attempt failed
Log tabThe log lines of this job

Retries​

A job that fails is tried again after 2, 4, 8 and 16 minutes. After the fifth failed attempt it is marked Failed and stays in the list with its error. Each failed attempt is also written in the log.

ButtonDoes
Retry (failed or cancelled jobs, also in Action for several)Back to pending with the attempts reset; runs within seconds
Run Now (pending or failed jobs)Runs the job right away while you wait, and shows the result
Cancel (pending or failed jobs)Stops it from running

Good to know​

note
  • Jobs for the same thing are merged while they wait: ten webhooks for one order make one Import order job, many stock moves make one Send stock job.
  • Orders go first: order imports run before product and page imports.
  • A background worker checks the queue at least every 5 minutes, and immediately when a job is added.
  • A job left Running for more than 30 minutes (for example after a server restart) goes back to pending.
  • Done and cancelled jobs, and log lines, are deleted after 30 days. Failed jobs stay until you retry or cancel them. The number of days is the system parameter commerce_bridge.keep_days.

Common errors​

ErrorWhat to do
Products not found in Odoo: ...Import or link the product, then Retry
Store tax "X" (r%) has no Odoo taxMap it in Configuration > Taxes, then Retry
Set a shipping product on the store.Set Shipping Product on the Orders tab, then Retry
Currency XXX does not exist in Odoo.Activate or create the currency, then Retry
Store "X" was connected from another databaseThis is a test copy: see test databases
Connection or authentication errorsCheck the connection, click Test Connection, then Retry

Shopify errors you may see​

Message in the jobMeaning and fix
This app is not approved to access the Order object (or Customer)The app has no distribution method. Choose Custom distribution in the Dev Dashboard.
Access denied for ... Required access: ...A scope is missing. Add it to a new app version, release it and approve the update in the store.
Token request refusedWrong client ID or secret, or the app is not installed on the store.
Shopify: ... [HTTP 401]The access token is no longer valid (app removed or token revoked). Reconnect.
ThrottledShopify's rate limit. Odoo waits and retries by itself; only shows when it keeps failing.
Products not found in Odoo: ...Link or import the product, then Retry.
No Shopify location to send stock toClick Test Connection to read the locations, and map them.
Shopify stock update: ...Shopify refused a quantity, for example for a location that no longer exists. Read the locations again.
Was this page helpful?