For the complete documentation index, see llms.txt. This page is also available as Markdown.

When something looks wrong

Common symptoms in the Shopify app and what they mean

Audience: Logistics Manager

Symptoms you may meet, what each one means, and what to do about it.

Start at the Activity page. It lists every sync attempt with its status and details, and most of what follows is visible there.

A stock sync stopped because it would have emptied a location

What you see. A red banner on the Warehouse stock page: "Sync stopped — it would have emptied your location", naming how many SKUs would have gone to zero.

What it means. pyck reported most of that location's stock as zero. Nothing was written and your Shopify stock is exactly as it was. Far more often this is a storage area that was emptied, re-seeded or renamed in pyck than a real sell-out, so the app stops instead of taking your storefront down.

What to do. Check the paired storage area in pyck. Once it reports normal counts again the next sync goes through by itself, with nothing to click.

If the warehouse really did empty, use Let this sync through once. It applies to one sync only — the next is checked exactly as before.

"No production connection"

What you see. A warning on the Warehouse stock page saying no stock will move whichever option you pick, or a 403 reported by your pyck worker when it tries to write stock.

What it means. Only the production connection may fulfil orders and write stock. Your store currently has none — usually because it was deleted, or because a different connection was made production and the old one demoted.

What to do. Open Connections and use Make production on the connection that runs your real warehouse. If the connection exists but is switched off, switch it back on: a deactivated production connection is refused for the same reason a missing one is.

A record will not sync, and the reason names a label

What you see. In Activity, a failed entry saying an unknown pyck route label was used, or that the label names a connection that is switched off.

What it means. The product, customer or order carries a route label — in its pyck route field or a pyck-route-… tag — that matches no connection on your store. A typo like pyck-route-stagg does this, and so does a label pointing at a connection that has since been deleted or deactivated.

The record was not sent anywhere. It did not partially deliver and it did not fall back to sending everywhere, because you wrote a label in order to restrict it and quietly ignoring that would send your data to tenants you deliberately excluded.

What to do. Compare the label against your connection names under Connections. Fix the label on the record, or reactivate the connection it names. The record syncs on its next change; to push it immediately, run a Full sync from Activity.

See Sending data to several pyck tenants for how labels work.

A value I set in pyck keeps changing back, or disappears

What it means. The field has a Shopify source in the connection's Data mapping (under Settings, Advanced), so Shopify owns it. Every sync writes Shopify's value again, and a value cleared in Shopify is removed in pyck. A mapping that still names a metafield definition deleted or renamed in Shopify counts as cleared too.

What to do. Change the value in Shopify, or set the field to Not synced so pyck owns it from then on. If the field keeps disappearing although Shopify has a value, look for a metafield marked as stale in the Data mapping and pick the current one. See What a sync overwrites in pyck.

A record fails with "jsonschema validation failed"

What you see. In Activity, a failed entry such as at '/unitOfMeasure': maxLength: got 6, want 3 or at '/status': got array, want string. When an existing product is updated because it changed in Shopify, the entry only appears after you choose Record every attempt on the Activity page; without it, the product simply stops changing in pyck. A required field that was cleared in Shopify fails the same way.

What it means. A mapped Shopify source sends a value your pyck schema does not accept, and pyck rejects the whole record. Typical causes: a product's Weight unit (POUNDS) mapped to a short unit-of-measure field, or Order tags (always a list) mapped to a single-value field.

What to do. In Data mapping (under Settings, Advanced), pick a source whose values fit the field, or set the field to Not synced. The record syncs on its next change, or straight away with Sync now on the Home page.

A file attached in Shopify disappeared from pyck

What it means. Files always follow Shopify. When a file metafield is cleared or points at a different file, the file the app delivered earlier is deleted. Files your team attached in pyck directly are not affected.

What to do. Attach the file again in Shopify. See What a sync overwrites in pyck.

A product is not appearing in pyck

What you see. The product exists in Shopify but never turns up in pyck, and Activity shows it as skipped or reports that variants were left out.

What it means. The most common cause is that the variant has no SKU. pyck identifies stock by SKU, so a variant without one has nothing to be matched against and is never sent. This is not a setting you can loosen.

What to do. Give the variant a SKU in Shopify and it will sync on the next change. If some variants of a product have SKUs and some do not, only the ones with SKUs are sent.

Two other possibilities worth checking:

  • Products are switched off under Connections.

  • The product carries a route label — see the previous section.

Stock is not updating in Shopify

Work down this list; the first one that is not true is your answer.

Check
Where

The location is paired with a pyck storage area

Connections, Warehouse stock card

The mode is not off

Warehouse stock page

The location's first sync has been approved

Warehouse stock page — a location badged "Never synced" is waiting for you

A production connection exists and is switched on

Connections

If all four are fine, look at the location's last run. A run badged in orange stopped on purpose and wrote nothing — see the table on the Warehouse stock page for what each reason means.

One SKU never changes while others do

What it means. Two likely causes, both of which the app handles by leaving the SKU alone rather than guessing:

  • pyck holds no entry for that SKU. It is skipped, never set to zero. Anything you do not keep in the paired storage area stays exactly as it is in Shopify.

  • More than one Shopify product uses that SKU. The app refuses to decide which of them a count belongs to.

What to do. For the first, check the item exists in the paired storage area in pyck. For the second, give the products distinct SKUs in Shopify.

An order shows as available below zero

What it means. This is usually correct, not a fault. pyck reports the physical count on the shelf, and Shopify subtracts the units already promised to open orders:

3 on the shelf with 5 already sold shows as −2 available. You are oversold, and the number is telling you by how much.

What to do. Treat it as a stock alert rather than a display bug.

An order was not shipped, and pyck reports a conflict

What you see. Your pyck worker gets a 409 saying another connection owns the order.

What it means. An order can be delivered to several pyck tenants, but exactly one owns it and may ship it. The tenant that called is holding a copy. This is what stops one order being posted twice.

What to do. Nothing on the copy's side — it should log and move on. If the owning tenant is not shipping either, check under Connections that it has not been switched off: an order whose owner is deactivated cannot be shipped by anyone until it syncs again.

A test order reached the wrong place, or did not reach production

Orders Shopify marks as tests — Bogus gateway or Shopify Payments test mode — are deliberately excluded from the production connection whatever labels they carry. They still reach your other tenants. This is by design and cannot be overridden.

Nothing at all is syncing

  • Setup may be incomplete. If the app's menu shows Setup instead of Connections, Warehouse stock and Activity, no connection exists. See Setup.

  • Deleting your last connection reopens setup and stops syncing until you connect one again.

  • Products, customers and orders each have their own switch under Connections.

  • Use Validate on a connection's card to check the connection itself is healthy.

Last updated

Was this helpful?