# SKU Stock Sync Docs (/docs) Everything you need to set up SKU Stock Sync, understand how syncing works, and troubleshoot inventory issues. # Cancelling your plan (/docs/account-billing-and-plans/cancelling-your-plan) ## Cancel your subscription [#cancel-your-subscription] If you no longer need SKU Stock Sync, you can cancel your plan at any time from your account settings. The cancellation only affects future billing, so you can continue using your paid features until the end of your current billing period. ### Open Billing [#open-billing]

In SKU Stock Sync, go to Account , then open Billing .

### Select Cancel plan [#select-cancel-plan]

Click Cancel plan to start the cancellation process.

### Confirm cancellation [#confirm-cancellation]

A confirmation window will appear. Review the details, then confirm that you want to cancel your plan.

## What happens after you cancel [#what-happens-after-you-cancel] After you cancel, your subscription will remain active until the end of your current billing period. * You will not be charged again for the next billing cycle. * Your paid features will continue working until your current plan expires. * When the billing period ends, your account will no longer have access to paid plan benefits.

Canceling your plan does not end your access immediately. You can keep using your subscription until the current billing period ends.

See [Pausing inventory syncing](/docs/syncing-inventory/pausing-inventory-syncing) if you want to temporarily pause syncing. ## Optional feedback [#optional-feedback] During cancellation, you may see an option to share feedback. This step is optional, but it is always appreciated. Your feedback helps improve SKU Stock Sync for future users. # Plans, limits, and usage (/docs/account-billing-and-plans/plans-limits-and-usages) SKU Stock Sync has different plans for stores with different syncing needs. The main differences are included group syncs, extra usage cost, update speed, and how many history runs are available.

Group syncs and update speed are two separate things. Group syncs are a count of work done, and update speed is how long that work waits before it runs.

They are not the same limit, and one is never spent by the other.

## Plan overview [#plan-overview] The trial plan is applied automatically when you first launch SKU Stock Sync. * Lasts for **14 days** * Includes **100 group syncs** * Uses the same limits as the Starter plan Starter is best for new stores, smaller stores, or stores with lower inventory change volume. * Includes **100 group syncs** * Extra usage: **$0.05 per group sync** * Update speed: **within 60 minutes** * Maximum of **100 history runs** Growing is best for stores with more frequent inventory changes or stores that want due groups processed sooner. * Includes **300 group syncs** * Extra usage: **$0.04 per group sync** * Update speed: **within 30 minutes** * Maximum of **150 history runs** Pro is best for higher-volume stores that want the fastest update speed and the best included usage value. * Includes **500 group syncs** * Extra usage: **$0.03 per group sync** * Update speed: **within 20 minutes** * Maximum of **250 history runs** ## What is a group sync? [#what-is-a-group-sync] A group sync is counted by SKU/location group, not by individual variant. A SKU/location group is a set of variants that share the same SKU at the same Shopify location. * If one group is synced, that counts as **1 group sync**. * If that group contains 5 variants, it still counts as **1 group sync**. * If 2 different groups are synced, that counts as **2 group syncs**. * If the same SKU is stocked at 2 different locations, those are separate SKU/location groups.

Usage is based on groups because SKU Stock Sync works with SKU/location groups when syncing inventory.

For more details, see What are SKU/location groups?.

## When a group sync is used [#when-a-group-sync-is-used] A group sync is only used when a group's stock actually changes. * A scheduled run that finds nothing due uses **no group syncs**. * A scheduled run that finds due groups uses **one group sync per group it updates**. * Waiting for the next scheduled run uses **no group syncs**. * A [manual sync](/docs/syncing-inventory/manual-syncing) is counted the same way as a scheduled run. Running one early does not cost extra, it just does the same work sooner.

Your included group syncs are not divided up across the month by your update speed.

A store on a 60 minute update speed does not use 24 group syncs a day. If nothing changed, it uses none. If 40 groups changed in one hour, that run uses 40.

## What update speed means [#what-update-speed-means] Update speed is the longest a stock change waits before your matching listings are updated. * Starter: **within 60 minutes** * Growing: **within 30 minutes** * Pro: **within 20 minutes** A faster update speed means due groups wait less time before they are processed. It does not change how many group syncs that work costs.

Update speed is a waiting time, not a number of syncs.

It also does not mean every SKU in your store is synced every 20, 30, or 60 minutes. Scheduled runs only process groups that are due at the time the run happens.

For more details, see [Scheduled syncing](/docs/syncing-inventory/scheduled-syncing). ## What history limits mean [#what-history-limits-mean] Each plan includes a maximum number of sync history runs that can be available in the app. * Starter: up to **100 history runs** * Growing: up to **150 history runs** * Pro: up to **250 history runs** History helps you review what SKU Stock Sync processed, what changed, and whether any groups or variants were skipped. For more details, see [Sync history](/docs/using-the-app/sync-history). ## How to choose the right plan [#how-to-choose-the-right-plan] Choose a plan based on how often inventory changes and how quickly you want due groups to be processed. * **Choose Starter** if your store has low order volume, fewer inventory changes, or you are just getting started. * **Choose Growing** if inventory changes more often and you want due groups processed sooner. * **Choose Pro** if your store has higher inventory activity, more synced SKU groups, or you want the fastest update speed available.

If your store only receives a small number of orders each month, Starter is usually enough.

If your store has frequent orders, restocks, warehouse updates, or many synced SKU groups, a higher plan may be better value.

## Important things to know [#important-things-to-know] * Group syncs count work done. Update speed controls how long that work waits. They are separate limits. * A group sync is only used when a group's stock actually changes, so a quiet store uses very few. * Update speed controls how long a due group waits, not how often every SKU in your store is force-synced. * Higher plans include more group syncs, lower extra usage cost, faster update speed, and more history runs. ## When to contact support [#when-to-contact-support] If you are unsure which plan is right for your store, contact support and include: * How often your store receives orders * How often inventory is restocked or adjusted * How many products or variants share SKUs * Whether other apps or warehouse systems update inventory * How quickly you need inventory changes to be processed

The best plan depends on inventory activity, not just the total number of products in your store.

# Can another inventory app conflict with SKU Stock Sync? (/docs/faq/can-another-inventory-app-conflict-with-sku-stock-sync) Yes. Another app, warehouse system, feed, automation, or custom integration can conflict with SKU Stock Sync if it updates the same inventory quantities. This can happen when both systems try to control the same stock level. SKU Stock Sync may align a SKU/location group, then another system may change one of those quantities again. > **Note:** Groups stocked at locations managed by an app that handles fulfillment (for example, Shopify Collective) are automatically skipped during sync, specifically to avoid this kind of conflict. You shouldn't need to do anything manually for fulfillment-managed locations. This mainly matters for other integrations like warehouse systems, feeds, or custom scripts. > **Warning:** Two apps can both be working correctly on their own, but still create confusing results if they are both trying to control the same inventory. If inventory keeps changing unexpectedly, check Shopify adjustment history to see what changed the inventory and when. See [Another app is changing inventory](/docs/troubleshooting/another-app-is-changing-inventory). # Does it change SKUs? (/docs/faq/does-it-change-skus) The app doesn't change SKUs on its own. It never automatically creates, edits, formats, or renames a SKU in the background. The app uses your existing Shopify SKUs to decide which variants should be grouped together. It only changes a SKU when you tell it to. You can trigger a SKU change yourself from the **Groups page** using **Update SKU**. That writes the new value straight to the Shopify variant, the same as editing it in Shopify admin, just from inside the app. See [Changing a group's SKU from the app](/docs/managing-sku-groups/changing-a-groups-sku-from-the-app). > **Info:** However you change a SKU (in Shopify or from the Groups page), SKU Stock Sync needs to detect and prepare the updated grouping before those variants can sync correctly. If two variants should not share inventory, make sure they do not use the same SKU at the same Shopify location. # Does it create products or variants? (/docs/faq/does-it-create-products-or-variants) No. SKU Stock Sync does not create products or variants. The app only works with products, variants, SKUs, inventory items, and locations that already exist in Shopify.

If you add new products or variants in Shopify, SKU Stock Sync may need to detect and prepare them before they can be included in syncing.

SKU Stock Sync is designed to sync inventory quantities between matching variants. It is not a product creation, SKU generation, or catalog management app (Shopify Collective). # Does it perform a full store-wide sync? (/docs/faq/does-it-perform-a-full-store-wide-sync) No. SKU Stock Sync does not perform a full store-wide inventory sync. The app does not scan every SKU and force all matching inventory to update on demand. Instead, it processes SKU/location groups when they become due because of inventory changes or routine checks.

Manual sync does not force-sync your whole store. It processes work that is already waiting.

If there are no due groups or setup items waiting, there may be nothing for manual sync to process. # Does it sync between locations? (/docs/faq/does-it-sync-between-locations) No. SKU Stock Sync does not sync inventory from one Shopify location to another. Inventory is synced within the same Shopify location only. If the same SKU exists at two different locations, SKU Stock Sync treats those as separate SKU/location groups.

For example, BLACK-SHIRT at Location A and BLACK-SHIRT at Location B are separate groups.

This keeps inventory aligned with Shopify's location-based inventory system and helps prevent stock from one location being copied into another. # Does it sync products with the same SKU? (/docs/faq/does-it-sync-products-with-the-same-sku) SKU Stock Sync syncs **variants** that share the same SKU at the same Shopify location. It does not sync products just because the products have similar names, collections, tags, or options. What matters is the variant's SKU and Shopify location.

If two variants use the same SKU at the same location, SKU Stock Sync may treat them as part of the same SKU/location group.

If the same SKU exists at a different Shopify location, that location is treated separately. # Does SKU Stock Sync sync all inventory automatically? (/docs/faq/does-sku-stock-sync-sync-all-inventory-automatically) No. SKU Stock Sync does not continuously sync every inventory item in your store. SKU Stock Sync automatically monitors inventory changes and processes SKU/location groups when they become due for syncing.

A SKU/location group is made from variants that share the same SKU at the same Shopify location.

This means the app focuses on inventory that has changed or needs attention. It does not constantly rewrite every matching SKU in the background. # How should I correct inventory? (/docs/faq/how-should-i-correct-inventory) The easiest way to correct a group's stock is to set it directly from the **Groups page** in the app. Open the group, choose **Adjust**, and enter the quantity you want the group to have. SKU Stock Sync applies that quantity across the group's members for you. If you'd rather make the change in Shopify instead, you can also correct inventory by updating **one variant** in the group to the quantity you want. > **Warning:** If you're correcting inventory in Shopify rather than using Adjust, do not update every variant in the group to the same quantity manually. SKU Stock Sync may treat each manual change as a separate inventory change, which can cause the changes to be combined. ## Why you should only update one variant (Shopify method) [#why-you-should-only-update-one-variant-shopify-method] SKU Stock Sync treats variants in the same SKU/location group as sharing the same stock. When you change inventory for one variant, SKU Stock Sync can use that change to update the other variants in the group. If you manually update multiple variants before SKU Stock Sync processes the group, the app may see multiple inventory changes for the same shared stock. > **Info:** For example, if two variants are at stock 0 and you manually change both to 10, SKU Stock Sync will see multiple increases instead of one correction. Using **Adjust** on the Groups page avoids this altogether, since you're setting one value for the whole group directly. ## Correct approach in Shopify [#correct-approach-in-shopify] 1. **Choose one variant in the group**: Pick one variant that belongs to the SKU/location group you want to correct. 2. **Update that variant only**: In Shopify, change that one variant's inventory to the quantity the group should have. 3. **Wait for SKU Stock Sync to process the group**: SKU Stock Sync will process the related group during a scheduled sync, or sooner with manual sync. 4. **Check the result**: After the sync runs, check the other variants in the group to confirm they were updated. ## Example [#example] If a synced group should have stock of **10**: * **Easiest:** open the group on the Groups page and use **Adjust** to set it to 10. * **Correct (Shopify):** update one variant in the group to 10, then let SKU Stock Sync update the rest. * **Incorrect:** update every variant in the group to 10 manually. ## If you already updated every variant [#if-you-already-updated-every-variant] If you already changed every variant in the group, wait for the next sync to finish and check the final quantity. If the final quantity is not what you expected, correct the group again using **Adjust** on the Groups page, or by updating **one variant only** to the desired quantity. ## New variants take the group's stock [#new-variants-take-the-groups-stock] A variant that has just been added is different. Until SKU Stock Sync has synced it for the first time, it has no stock of its own to contribute: it takes its stock from the group it joins. So if you create a product or variant and then set its stock, that number is not applied to the group. The next sync sets the new variant to whatever the group already holds, and the number you typed is replaced. > **Info:** This is what keeps a new variant from dragging its group's stock up or down. A variant created holding 0, or holding whatever quantity you happened to enter, would otherwise be read as a change to the shared stock. To give the group a different stock level, set the group itself: * **Easiest:** open the group on the Groups page and use **Adjust**. * **In Shopify:** update **one existing variant** in the group, not the new one. Once the new variant has been synced once, it stops being treated as new and behaves like any other member of its group. # What happens if I edit inventory directly in Shopify? (/docs/faq/what-happens-if-i-edit-inventory-directly-in-shopify) If you edit inventory directly in Shopify, SKU Stock Sync may detect that inventory change and process the related SKU/location group. If other variants share the same SKU at the same Shopify location, SKU Stock Sync may update the group so the matching variants stay aligned.

This is expected behavior when the variants are meant to share the same stock.

If you only want to change one variant without affecting related variants, make sure that variant does not share the same SKU at the same Shopify location.

Inventory changes are not always processed instantly. They may be processed during a scheduled sync, or sooner if manual sync is available and work is already waiting. # What is a group? (/docs/faq/what-is-a-group) A group is a set of inventory items that share the same SKU at the same Shopify location. SKU Stock Sync uses groups to decide which items should have matching inventory.

A group is also called a SKU/location group because both the SKU and Shopify location need to match.

## How groups are created [#how-groups-are-created] SKU Stock Sync groups inventory items when they match on both: * **SKU** * **Shopify location** Same SKU alone is not enough. Same location alone is not enough. Both need to match. ## Example [#example] If 3 variants use the SKU **GREY-M** at your **Shop location**, SKU Stock Sync can treat them as one group. If the same SKU also exists at another location, that becomes a separate group.

The same SKU at different Shopify locations is not one shared group. Each location is handled separately.

## Why groups matter [#why-groups-matter] When inventory changes for one member of a group, SKU Stock Sync checks whether the group needs to be synced. If the group becomes due, the app can process the group during scheduled syncing or manual syncing. ## Short answer [#short-answer] A group is the set of matching inventory items SKU Stock Sync uses when syncing shared stock.

If two variants should not share stock, they should not use the same SKU at the same Shopify location.

# What is a member? (/docs/faq/what-is-a-member) A member is one inventory item inside a SKU Stock Sync group. Members are the items SKU Stock Sync keeps aligned when they share the same SKU at the same Shopify location.

If a group contains 3 members, that means SKU Stock Sync has found 3 inventory items with the same SKU at the same location.

## Why members matter [#why-members-matter] When one member's inventory changes, SKU Stock Sync checks the related group. If the group needs syncing, the app can update the other members so the group stays aligned. ## Example [#example] If 3 variants all use the SKU **GREY-M** at your **Location A**, each matching inventory item is a member of that group. * Member 1: GREY-M at Location A * Member 2: GREY-M at Location A * Member 3: GREY-M at Location A When the group is synced, SKU Stock Sync can update the members so their inventory stays aligned. ## Short answer [#short-answer] A member is one inventory item that belongs to a group.

If a variant is missing from a sync, it may not have been a member of that group at the time the sync ran.

# What is an inventory item? (/docs/faq/what-is-an-inventory-item) An inventory item is Shopify's inventory record for a sellable item. In SKU Stock Sync, inventory items are important because Shopify tracks available stock for inventory items at each Shopify location.

In most Shopify stores, you can think of an inventory item as the stock record connected to a product variant.

## Why inventory items matter [#why-inventory-items-matter] SKU Stock Sync uses inventory items when checking and updating stock. When Shopify shows an **available** quantity for a variant at a location, that quantity is tracked through the inventory item at that location. ## How this relates to members and groups [#how-this-relates-to-members-and-groups] Inside SKU Stock Sync, an inventory item can be a **member** of a group. A group is made from inventory items that share the same SKU at the same Shopify location.

Inventory items are the stock records SKU Stock Sync works with. Groups are how the app decides which inventory items should stay aligned.

## Short answer [#short-answer] An inventory item is Shopify's stock record for an item, tracked per location. # Changing a group's SKU from the app (/docs/managing-sku-groups/changing-a-groups-sku-from-the-app) ## What changing a SKU from the app does [#what-changing-a-sku-from-the-app-does] Updating a group's SKU rewrites that SKU across every member of the group in Shopify. You do not have to edit each variant by hand. Members are matched by their **current** SKU, so every listing linked to the group is updated together. > **Note:** This writes to your Shopify product data. It is the same change as editing the SKU field on each variant in Shopify admin, just done for the whole group at once. ## How to update a group's SKU [#how-to-update-a-groups-sku] 1. **Open the Groups page**: Go to the app's **Groups** page. 2. **Open the group**: Select the group whose SKU you want to change. 3. **Choose Update SKU**: The app shows the members that will be rewritten. 4. **Enter the new SKU**: Type the value all members should use. 5. **Confirm with Update SKU**: The app writes the new SKU to every member in Shopify. ## Permission this needs [#permission-this-needs] Writing SKUs means changing product data, which needs a Shopify permission the app does not request during normal setup. If that permission has not been granted yet, the confirm button reads **Grant permission and update SKU**. Choosing it takes you through Shopify's approval screen first, then applies the change. > **Info:** You only need to grant this once. Other group actions, such as syncing, checking, and adjusting stock, do not need it. ## How to undo the change [#how-to-undo-the-change] Set the SKU back to the original value the same way. Because members are matched on their current SKU, changing it back returns every member of the group to the previous value. > **Tip:** Note the original SKU somewhere before you change it. Once the change is applied, the app matches on the new value. ## What happens to the group afterwards [#what-happens-to-the-group-afterwards] Changing a SKU can move variants between groups, because groups are built from SKU and stocked location together. After the change, the app re-sorts the affected variants: * If the new SKU matches an existing group at the same location, the variants may join that group. * If the new SKU matches nothing, a new group is created. * The old group may be left without those members. This regrouping happens in time for future syncing, not the instant you save. For the full picture, see [Changing SKUs after setup](/docs/managing-sku-groups/changing-skus-after-setup). > **Warning:** SKUs are used by more than this app. Reports, exports, barcode systems, and other integrations may rely on the old value. Check what else depends on a SKU before rewriting it across a group. ## Does changing a SKU affect your plan usage? [#does-changing-a-sku-affect-your-plan-usage] No. Updating a group's SKU does not use any group syncs. Group syncs are only counted when a group's stock is updated during a scheduled or manual sync. Rewriting SKUs changes product data, not stock. See [Plans, limits, and usage](/docs/account-billing-and-plans/plans-limits-and-usages). ## Changing it in Shopify instead [#changing-it-in-shopify-instead] You can always rename a SKU directly on the variant in Shopify admin. The result is the same: the app picks up the change and re-sorts the variant into the correct group. Use the app when you want every member of a group changed together. Use Shopify admin when you want to move a single variant out of a group. See [Creating / updating groups](/docs/managing-sku-groups/creating-updating-groups). # Changing SKUs after setup (/docs/managing-sku-groups/changing-skus-after-setup) ## What happens when you change a SKU [#what-happens-when-you-change-a-sku] You can change a SKU at any time after setup, either in Shopify or from the **Groups page** in the app. Either way, SKU Stock Sync treats the affected variant as something that may need to be grouped differently based on its new SKU. In practice, changing a SKU can effectively move a variant from one [group](/docs/managing-sku-groups/what-are-sku-location-groups) to another. After the change is recorded, SKU Stock Sync is notified and queues that variant to be processed again. The app then re-sorts it so it can be placed into the correct group for that SKU and Shopify location. > **Note:** This regrouping is done in time for future syncing. It does not instantly move the variant the moment you save the new SKU. ## Where to make the change [#where-to-make-the-change] You have two options: 1. **From the Groups page**: Open the group and choose **Update SKU**. This writes the new SKU to the Shopify variant for you. See [Changing a group's SKU from the app](/docs/managing-sku-groups/changing-a-groups-sku-from-the-app). 2. **In Shopify admin**: Rename the SKU on the product variant directly: 1. **Open the variant in Shopify admin**: Go to the product and open the specific variant whose SKU you want to change. 2. **Update the SKU field**: Replace the existing SKU with the new value you want to use. 3. **Save the variant**: Once saved in Shopify, the change is available for SKU Stock Sync to pick up and re-process. Both paths lead to the same result: the Shopify variant's SKU is updated, and SKU Stock Sync re-sorts it into the correct group. ## What to expect next [#what-to-expect-next] After the SKU is updated, SKU Stock Sync adds that variant back into its processing queue and checks where it now belongs. * **If the new SKU matches a different group at the same Shopify location**, the variant may join that group for future syncing. * **If the new SKU no longer matches its previous group**, it can be removed from that grouping as part of the re-sort process. * **If the new SKU does not match any existing group**, a new group will be created. This is designed to keep future syncs accurate without requiring you to rebuild everything manually. > **Info:** Grouping is based on both SKU matching and Shopify location context. A matching SKU only joins a group when it fits the correct location grouping as well. ## Does this happen right away? [#does-this-happen-right-away] Not instantly. The SKU change is picked up, queued, and re-sorted before later sync activity. That means you should think of the update as affecting *upcoming* syncs rather than changing sync behavior the second you save the SKU. If you want to check results sooner, see [manual syncing](/docs/syncing-inventory/manual-syncing) and [when inventory gets synced](/docs/syncing-inventory/when-inventory-gets-synced). ## How this connects to group rules [#how-this-connects-to-group-rules] If you want more background on why a renamed SKU joins one group, leaves another, or stays separate, it helps to review how SKU and location groups are created and updated. For more detail, see [Creating and updating groups](/docs/managing-sku-groups/creating-updating-groups) and [What are SKU location groups](/docs/managing-sku-groups/what-are-sku-location-groups). # Checking if a group is in sync (/docs/managing-sku-groups/checking-if-a-group-is-in-sync) ## What checking a group does [#what-checking-a-group-does] Checking asks Shopify for each member's current inventory and compares it to the stock level the app has recorded for the group. Members whose quantity matches are marked **in sync**. Members that do not match are marked **out of sync**. > **Note:** Checking is read-only. It reads live data from Shopify and updates what the app shows you. It does not change any stock in Shopify. ## How to check a group [#how-to-check-a-group] 1. **Open the Groups page**: Go to the app's **Groups** page. 2. **Select the groups to check**: Tick one or more groups in the table. 3. **Choose Check groups**: The app explains that it will query each member's current inventory and compare it to the group's recorded stock. 4. **Confirm with Check**: While it runs, the group shows a **Checking** status. When the check finishes, each member shows its result and the group's status updates. ## Reading the result [#reading-the-result] * **In sync**: every member's available quantity in Shopify matches what the app recorded for the group. Nothing needs doing. * **Out of sync**: at least one member's quantity in Shopify does not match. This usually means something changed the stock outside the app, or a change has not been processed yet. * **Check required**: the app cannot confirm the group's current state and a check is needed to find out. > **Tip:** Out of sync is not always a fault. If a member's stock changed very recently, the group may simply be due and waiting for the next run. See [When inventory gets synced](/docs/syncing-inventory/when-inventory-gets-synced). ## What to do about an out of sync group [#what-to-do-about-an-out-of-sync-group] You have two options, depending on which number is correct: * **The app's recorded quantity is correct**: sync the group to push that quantity to every member. * **Neither number is correct**: set the quantity yourself. See [Setting a group's stock](/docs/managing-sku-groups/setting-a-groups-stock). If a group keeps returning to out of sync shortly after you fix it, another app is probably writing to the same variants. See [Inventory keeps changing back](/docs/troubleshooting/inventory-keeps-changing-back). ## When to check instead of using History or Insights [#when-to-check-instead-of-using-history-or-insights] Each of these answers a different question: * **Check groups** answers "is this group correct **right now**?" It reads live Shopify data on demand. * **History** answers "what did a run actually change?" See [Sync history](/docs/using-the-app/sync-history). * **Insights** answers "why was this group processed but not changed?" See [Insights](/docs/using-the-app/insights). For an overview of all three, see [Viewing synced groups](/docs/managing-sku-groups/viewing-synced-groups). ## Does checking affect your plan usage? [#does-checking-affect-your-plan-usage] No. Checking a group does not use any group syncs. Group syncs are only counted when a group's stock is actually updated. A check reads and compares, it never writes. See [Plans, limits, and usage](/docs/account-billing-and-plans/plans-limits-and-usages). # Creating / updating groups (/docs/managing-sku-groups/creating-updating-groups) Groups are created automatically by SKU Stock Sync: when variants use the same SKU and are stocked at the same Shopify location, the app places them into the same group. You do not need to build groups manually. You can also manage groups directly from the **Groups page** in the app. See [What you can do from the Groups page](#what-you-can-do-from-the-groups-page) below. > **Note:** Before you continue, it helps to understand what a group is and why SKU and location both matter. See [What SKU/location groups are](/docs/managing-sku-groups/what-are-sku-location-groups). ## How groups are created [#how-groups-are-created] To create a new group or update an existing one, make your changes in the Shopify admin: 1. **Choose the variants you want to share stock**: Pick the variants that should always stay in sync with each other. 2. **Give those variants the same SKU**: Update each variant so the SKU matches exactly. Even a small difference means they will not be treated as the same group. 3. **Make sure they are stocked at the same Shopify location**: The variants also need to be stocked at the same location. Matching SKU alone is not enough. 4. **Save your changes in Shopify**: Once the SKU and location match, the app can prepare those variants to be grouped together. > **Tip:** You can group variants from different products, not just variants inside the same product. If the SKU matches and the stocked location matches, they can still belong to the same group. You can also update an existing group the same way. For example, if you want to add another variant into a group, update that variant in Shopify so it has the same SKU and the same stocked location as the rest of the group. ## What you can do from the Groups page [#what-you-can-do-from-the-groups-page] The Groups page lets you view and manage your groups directly in the app, without needing to make every change in Shopify: * **Ignore a group** so it's excluded from syncing: see [Ignoring groups](/docs/managing-sku-groups/ignoring-groups) * **Set a group's stock** directly: see [Setting a group's stock](/docs/managing-sku-groups/setting-a-groups-stock) * **Change a group's SKU**: see [Changing a group's SKU from the app](/docs/managing-sku-groups/changing-a-groups-sku-from-the-app) * **Check whether a group is in sync**: see [Checking if a group is in sync](/docs/managing-sku-groups/checking-if-a-group-is-in-sync) * **Scan for inventory items the app hasn't detected yet**: see [Scanning for new items](/docs/managing-sku-groups/scanning-for-new-items) ## What happens after you make changes in Shopify [#what-happens-after-you-make-changes-in-shopify] Your changes are not applied to a group instantly. After you update variants in Shopify, SKU Stock Sync detects those changes and queues the affected items for setup. That setup step prepares them so the app can sort them into the correct group. > **Info:** This delay is expected. If you do not see the variants in their group right away, it usually means they are waiting to be processed. Queued setup items are processed 2-3 minutes before a sync, so they're sorted in time if they need to be part of a sync. ## How to check if items are waiting for setup [#how-to-check-if-items-are-waiting-for-setup] You can check for queued setup items from the manual sync action on the **Groups page**. Look for the **Waiting for setup** row. If it shows a number greater than zero, those items have been detected and are waiting to be processed into the correct group. This is the best place to confirm that the app has picked up your Shopify changes, even if the group has not been updated yet. ## How to process queued setup items sooner [#how-to-process-queued-setup-items-sooner] If you do not want to wait for the next scheduled run, you can process queued setup items sooner with a manual sync. 1. **Open the Groups page**: Go to the app's **Groups** page. 2. **Start a manual sync**: Open the manual sync modal. 3. **Make sure queued setup processing is enabled**: In the modal, confirm that **Process queued setup items in this sync** is checked. 4. **Run the sync**: Start the sync. The app will process those queued setup items so they can be sorted into the correct group sooner. If you want more detail on manual syncs, see [Manual syncing](/docs/syncing-inventory/manual-syncing). ## Good to know [#good-to-know] * Groups are created and updated from your Shopify product and inventory data by default, or directly from the Groups page. * Variants can be in the same product or in different products and still be grouped together. * For variants to share stock, both the **SKU** and the **stocked location** must match. * If you change SKUs again later (in Shopify or from the Groups page), the app may need to re-sort those variants based on the new values. > **Note:** If you plan to rename or change SKUs after a group has already been set up, read [Changing SKUs after setup](/docs/managing-sku-groups/changing-skus-after-setup). # Ignoring groups (/docs/managing-sku-groups/ignoring-groups) ## What ignoring a group does [#what-ignoring-a-group-does] Ignoring a group tells SKU Stock Sync to skip it during every sync. The group stays in your list and keeps its members, but its members' stock is no longer kept in line with each other. This is useful when you want to stop syncing a specific group without changing SKUs in Shopify or removing the variants from their group. > **Note:** Ignoring does not change any stock in Shopify. It only stops future syncing for that group. Whatever quantities the members currently have, they keep. ## How to ignore a group [#how-to-ignore-a-group] You can ignore groups from the **Groups page**: 1. **Select the groups you want to skip**: Tick one or more groups in the table, or open a single group in the detail panel. 2. **Choose Ignore groups**: When you have a single group open, this reads **Ignore group**. 3. **Confirm**: The app will confirm that the selected groups will be skipped during every sync and that you can resume them at any time. Once ignored, the group shows an **Ignored** status on the Groups page. ## How to resume an ignored group [#how-to-resume-an-ignored-group] Ignoring is always reversible. 1. **Find the ignored group**: Look for groups with the **Ignored** status on the Groups page. 2. **Choose Resume groups**: When you have a single group open, this reads **Resume group**. 3. **Confirm**: The group will be included in syncs again, and its members' stock will be kept in line with the group. > **Tip:** After resuming, the group is not synced instantly. It rejoins normal syncing and is processed once it becomes due. See [When inventory gets synced](/docs/syncing-inventory/when-inventory-gets-synced). ## Ignored is not the same as automatically skipped [#ignored-is-not-the-same-as-automatically-skipped] Some groups are never synced even though nobody ignored them. These are different situations, and only the first one is something you chose: * **Ignored**: someone selected the group and chose to ignore it. It shows the **Ignored** status and can be resumed at any time. * **Single-member groups**: a group with only one member has nothing to sync against, so it is excluded automatically. It cannot become due. Adding another variant with the same SKU at the same location resolves this. * **Fulfillment-app-managed locations**: groups stocked at a location controlled by another app that handles fulfillment, for example Shopify Collective, are skipped automatically. Shopify overrides inventory writes to those locations, so syncing them would have no effect. > **Info:** If a group is not syncing and you did not ignore it, check the member count and the location first. See [Inventory did not sync](/docs/troubleshooting/inventory-did-not-sync). ## Does ignoring affect your plan usage? [#does-ignoring-affect-your-plan-usage] No. Ignoring and resuming a group do not use any group syncs. Ignoring a group does reduce future usage, because a group that is skipped never gets updated and so never counts. See [Plans, limits, and usage](/docs/account-billing-and-plans/plans-limits-and-usages). ## When to ignore a group [#when-to-ignore-a-group] Ignoring is usually the right choice when: * Another app or system should control the stock for those variants. See [Another app is changing inventory](/docs/troubleshooting/another-app-is-changing-inventory). * Two variants share a SKU by accident and you do not want them to share stock. * You are troubleshooting repeated changes and want to take one group out of the picture. See [Inventory keeps changing back](/docs/troubleshooting/inventory-keeps-changing-back). > **Tip:** Ignoring is safer than changing SKUs to break a group apart. It is reversible, and it leaves your Shopify product data untouched. # Scanning for new items (/docs/managing-sku-groups/scanning-for-new-items) ## What a store scan does [#what-a-store-scan-does] A store scan looks through your entire Shopify store for inventory items that are not currently tracked by any group. That includes products added after your initial setup, and anything the app missed. Anything the scan finds is prepared and sorted into the correct group, the same way items are handled during first setup. > **Info:** Depending on your store size, a scan can take several minutes. You can keep using the app while it runs. ## How to run a scan [#how-to-run-a-scan] 1. **Open the Groups page**: Go to the app's **Groups** page. 2. **Choose Scan store**: The button sits in the controls above the groups table. 3. **Confirm**: The app will explain what it is about to do and warn you if your store is large enough that the scan will take a while. 4. **Start the scan**: Choose **Start scan**. Progress is shown while it runs. ## When to run a scan [#when-to-run-a-scan] A scan is the right tool when you think the app has **never seen** an item at all. That usually means one of these: * You imported or created a large batch of products and some are not showing up in any group. * Syncing was paused or disconnected for a while, so change notifications were missed. See [Pausing inventory syncing](/docs/syncing-inventory/pausing-inventory-syncing). * Your plan lapsed or your trial ended, and the app was disconnected before you resubscribed. * A variant looks like it should be in a group, but it never appears there and never shows as waiting for setup. > **Note:** If the app recommends a store scan after reconnecting, you will see a **Store scan recommended** alert. That alert appears when the app detects it was fully disconnected and may have missed inventory events. See [Alerts](/docs/using-the-app/alerts). ## Scanning is not the same as manual syncing [#scanning-is-not-the-same-as-manual-syncing] These two actions solve different problems, and using the wrong one is a common source of confusion: * **Manual sync** processes work the app already knows about. It handles due groups and queued setup items. It does not go looking for anything new. See [Manual syncing](/docs/syncing-inventory/manual-syncing). * **Store scan** goes looking for items the app has never detected, and adds them to the group structure so they can be synced in future. If a variant already appears under **Waiting for setup**, the app has detected it and a scan will not speed that up. Use a manual sync instead. See [Creating / updating groups](/docs/managing-sku-groups/creating-updating-groups). > **Tip:** Ask yourself whether the app knows the item exists. If it does, use manual sync. If it does not, use a store scan. ## Does scanning affect your plan usage? [#does-scanning-affect-your-plan-usage] No. Running a store scan does not use any group syncs. Group syncs are only used when a group's stock is actually updated. A scan prepares and groups items, it does not push stock. See [Plans, limits, and usage](/docs/account-billing-and-plans/plans-limits-and-usages). ## After the scan [#after-the-scan] Items found by the scan are sorted into groups based on their SKU and stocked location, exactly like any other group. * New groups may be created for SKUs that did not previously have one. * Existing groups may gain new members. * Variants that do not share a SKU with anything else at the same location will sit in single-member groups, which are excluded from syncing automatically. For the rules behind how items are grouped, see [What are SKU/location groups?](/docs/managing-sku-groups/what-are-sku-location-groups). # Setting a group's stock (/docs/managing-sku-groups/setting-a-groups-stock) ## What adjusting a group's stock does [#what-adjusting-a-groups-stock-does] Adjusting sets a new stock level for a group and updates every member's available inventory in Shopify to that number. This is the fastest way to put a group into a known, correct state. Instead of editing each variant in Shopify and waiting for the app to reconcile them, you set the number once and the app writes it to every member. > **Warning:** This writes to Shopify straight away and overwrites the current available quantity on every member of the group. Make sure the number you enter is the quantity you actually want. ## How to set a group's stock [#how-to-set-a-groups-stock] 1. **Open the Groups page**: Go to the app's **Groups** page. 2. **Open the group**: Select the group you want to change, or tick several groups to set them all to the same number. 3. **Choose Adjust**: In the group's detail panel, choose **Adjust**. 4. **Enter the new stock level**: Type the quantity all members should share. 5. **Confirm with Set and sync**: The app applies the new quantity to every member of the group in Shopify. While this runs, the group shows an **Adjusting** status on the Groups page. ## When to use it [#when-to-use-it] Adjusting is useful when: * You have done a stock count and know the correct number for a SKU at a location. * A group has drifted and you want to reset it rather than work out which member is wrong. * You are correcting the result of another app or an import that set the wrong quantity. > **Tip:** If you only want to find out whether a group is currently correct, do not adjust it. Use **Check groups** instead, which reads Shopify without changing anything. See [Checking if a group is in sync](/docs/managing-sku-groups/checking-if-a-group-is-in-sync). ## What happens afterwards [#what-happens-afterwards] Once the adjustment is applied, all members of the group share the quantity you set. Normal syncing continues from there. If a member's stock changes later, the group becomes due again and is processed on your plan's update speed. See [When inventory gets synced](/docs/syncing-inventory/when-inventory-gets-synced). > **Warning:** If another inventory app also controls these variants, it may change the quantity again after you set it. If your adjustment does not stick, see [Another app is changing inventory](/docs/troubleshooting/another-app-is-changing-inventory). ## Does adjusting affect your plan usage? [#does-adjusting-affect-your-plan-usage] No. Adjusting a group's stock does not use any group syncs. Group syncs are counted when the app processes due groups on a scheduled or manual sync. A stock adjustment you make yourself is not counted. See [Plans, limits, and usage](/docs/account-billing-and-plans/plans-limits-and-usages). ## Adjusting is not the same as syncing a group [#adjusting-is-not-the-same-as-syncing-a-group] Both actions write to Shopify, but they use different numbers: * **Adjust** uses a number **you** enter, and applies it to every member. * **Sync** uses the stock level the **app already has** for that group, and pushes it to every member. It does not ask you for a quantity. Use **Adjust** when you know the correct quantity. Use **Sync** when you want members brought back in line with what the app already recorded. # Viewing synced groups (/docs/managing-sku-groups/viewing-synced-groups) ## Where to review synced groups [#where-to-review-synced-groups] After a sync finishes, SKU Stock Sync gives you a few ways to review the outcome: * **History** shows groups where the sync made a change and records useful details about what changed. * **Insights** helps you understand groups that were processed but did not need an update, including the reason they were skipped. * **Groups page** lets you check whether a specific group is in sync right now, without waiting for a run to complete. If you want to confirm what happened in a recent run, start with [History](/docs/using-the-app/sync-history). If you are checking whether a group was reviewed but nothing changed, check [Insights](/docs/using-the-app/insights). If you just want a quick, current answer for one group, use [Checking if a group is in sync](/docs/managing-sku-groups/checking-if-a-group-is-in-sync) on the Groups page. > **Tip:** History is best for confirming *what changed*. Insights is best for confirming *why something did not change*. The Groups page check is best for confirming a group's *current* state right now. ## What you will see in History [#what-you-will-see-in-history] When a sync completes and updates a group, a log entry is created. This gives you a clear record of the work that was actually done. In History, you can review details such as: * which groups were updated * what changed during the sync * other useful information recorded for that run This makes History the right place to go when you want to verify that a sync completed work and see the groups that were actually changed. > **Note:** If you are looking for a record of completed updates, check [History](/docs/using-the-app/sync-history) first. ## Why a group may not appear in History [#why-a-group-may-not-appear-in-history] Not every processed group appears in History. If a group was due for syncing and was checked during the sync, but the app found that nothing needed to be updated, that group is not added to History. This keeps History focused on real changes and avoids filling it with unnecessary noise. In simple terms, **No change needed** means the group was reviewed, but its current data already matched what the sync expected. Because there was nothing to update, no History entry was created for that group. The same is true if you sync a group directly by selecting it on the Groups page rather than running a manual sync. That direct sync action does not create a History entry either. See [Manual syncing](/docs/syncing-inventory/manual-syncing) for the distinction. > **Info:** A missing group in History does not always mean it was missed. It may have been processed successfully and skipped because no update was necessary, or synced directly without a history record. ### How to confirm this [#how-to-confirm-this] If you expected to see a group in History but it is not there, check the [Insights](/docs/using-the-app/insights) page in the app, or select the group on the **Groups page** and use **Check groups**. This gives you a fuller picture of the sync result: * **History** confirms what changed * **Insights** explains why some processed groups did not need a change * **Groups page** confirms a group's current sync state on demand # What are SKU/location groups? (/docs/managing-sku-groups/what-are-sku-location-groups) ## What a SKU/location group is [#what-a-skulocation-group-is] A SKU/location group is a set of variants that share the **exact same SKU** at the **same Shopify location**. SKU Stock Sync uses these groups to decide which variants should share inventory and sync together.

Think of a SKU/location group as: same SKU + same location = can sync together.

If variants are not in the same SKU/location group, they are treated as separate for syncing. ## How a group is formed [#how-a-group-is-formed] For variants to be grouped together, **both** of these must be true: * They use the **exact same SKU** * They are stocked at the **same Shopify location** Both conditions matter: * **Same SKU alone is not enough.** If the location is different, the variants stay separate. * **Same location alone is not enough.** If the SKU is different, the variants stay separate. If 2 or more variants share the same SKU at the same location, they can be grouped. ## Why groups exist [#why-groups-exist] SKU/location groups are useful when multiple Shopify variants represent the **same physical stock**. For example, you may have multiple variants or listings that should stay aligned because they all point to the same real-world item. SKU Stock Sync uses the group to identify those related variants and keep them in sync. The product itself does not matter for grouping. Variants can be: * in the **same product**, or * in **different products** If the SKU and location both match, they can still belong to the same group. ## Why location matters [#why-location-matters] Shopify tracks inventory separately by location. A variant can have one stock level at one location and a different stock level at another. SKU Stock Sync respects those separate location stock levels. That means the app syncs inventory **per location**, not across every location in your store.

The app should not take stock from one location and apply it to another. Matching happens within each location separately.

If the same SKU exists at more than one location, SKU Stock Sync treats each location as its own separate grouping context. ## Example [#example] In this example, the variant uses the SKU `GREY-S`. You can see inventory is tracked separately at **Other Location** and **Shop location**. That means the app does **not** treat all `GREY-S` inventory in the store as one combined stock pool. Instead, each location is handled separately. ## What counts as the same SKU [#what-counts-as-the-same-sku] SKUs must match **exactly**. Small differences can stop variants from being grouped, including: * different spelling * extra spaces * different punctuation or characters * inconsistent formatting For example, these may be treated as different SKUs: * `GREY-S` * `GREY S` * `"GREY-S"` * `grey-s`

Blank or missing SKUs cannot be reliably grouped.

If variants should sync together, make sure the SKU is entered consistently everywhere. If variants should **not** sync together, they should **not** share the same SKU. ## Quick checklist [#quick-checklist] If you are trying to decide whether variants can be grouped, check these first: * Do they have the **exact same SKU**? * Are they stocked at the **same Shopify location**? * Do they represent the **same physical stock**? * Are the SKUs filled in consistently, with no blank values or accidental differences? If the answer to all of those is yes, they can usually be grouped. # Before you start syncing (/docs/start-here/before-you-start-syncing) ## Before you rely on syncing [#before-you-rely-on-syncing] If you are about to turn on SKU-based syncing for real products, it is completely normal to want to double-check everything first. This page is a practical pre-flight checklist for merchants who want to avoid surprises and feel confident before relying on syncs day to day. The good news: most sync issues come from a small number of common misunderstandings. If you work through the checklist below, you can usually spot those problems early and avoid unnecessary panic. > **Tip:** Do not judge syncing too early. If setup is still in progress, what you see may be incomplete or misleading. Finish setup first, then test a small known example before making conclusions. ## Before you continue [#before-you-continue] * Your setup is fully complete using [Quick setup](/docs/start-here/quick-setup). * You understand that syncing only applies when variants share the **same SKU** at the **same Shopify location**. * You have checked that your SKUs are exact, and consistent. [Verifying SKUs](/docs/troubleshooting/check-whether-other-variants-share-the-same-sku). * You know the app does **not** run a full store-wide on-demand sync of everything at once. * You are aware that other apps and direct Shopify inventory edits can affect what you see. * You have tested one small, known example before relying on syncing more broadly. ## 1. Make sure the variants actually qualify to sync [#1-make-sure-the-variants-actually-qualify-to-sync] Syncing is not based on product titles, product type, vendor, or similar-looking items. It only works for variants that share the same SKU and are at the same Shopify location. If one of those conditions is missing, those variants are not part of the same syncing group. * The SKU must match exactly. * The variants must be tracked at the same Shopify location. * If the same SKU exists in different locations, that does not automatically mean those quantities will sync together. See [What are SKU/location groups?](/docs/managing-sku-groups/what-are-sku-location-groups) for more information. ## 2. Check your SKUs carefully before relying on syncs [#2-check-your-skus-carefully-before-relying-on-syncs] Many confusing results come from SKU issues rather than sync issues. Before you rely on the app, review the SKUs involved and make sure they are exactly what you intend. ### What to check [#what-to-check] * **Exact matches:** Shared SKUs must match character for character. * **No accidental duplicates:** If two variants share a SKU by mistake, they may be treated as related when you did not intend that. * **No inconsistent formatting:** Small differences can matter, such as extra spaces, dashes, or missing characters. * **Intentional sharing only:** If variants are meant to sync, they should share the same SKU on purpose, not by accident. > **Warning:** If you are ever surprised that items are grouped together, check the SKU first. If you are surprised that items are not grouped together, also check the SKU first. ### Common examples of SKU problems [#common-examples-of-sku-problems] * `ABC-123` vs `ABC123` * `sku-red-m` vs `SKU-RED-M` * `12345` vs `12345` (extra space) * Two unrelated variants both using the same SKU accidentally If you want to verify, check this [guide](/docs/troubleshooting/check-whether-other-variants-share-the-same-sku). ## 3. Understand how syncing happens [#3-understand-how-syncing-happens] SKU Stock Sync does not do a full store-wide on-demand sync of every product whenever you want. Instead, syncing happens when inventory changes affect the related SKU group. If you want a clearer overview, read [How syncing works](/docs/start-here/how-syncing-works). ## 4. Remember that other changes can affect what you see [#4-remember-that-other-changes-can-affect-what-you-see] Sometimes the app is working correctly, but the inventory you are viewing has also been changed somewhere else. This can make results feel inconsistent if you are not expecting it. Common sources of outside changes include: * Another inventory or bundling app * A marketplace connector * A fulfillment or warehouse app * Staff member updating stock in the Shopify admin > **Note:** Groups stocked at locations managed by an app that handles fulfillment (for example, Catalog) are automatically skipped during sync, so that specific conflict should be rare. Other integrations (marketplace connectors, warehouse systems, custom scripts) aren't automatically detected and are still worth checking. If you suspect something else is also changing inventory, read [Another app is changing inventory](/docs/troubleshooting/another-app-is-changing-inventory) ## 5. Test one small known example first [#5-test-one-small-known-example-first] Before you rely on syncing across many products, test with one small example that you fully understand. This is the safest way to confirm your setup and build confidence. For a guided test approach, see [Testing the app](/docs/setup/Testing-the-app). ## If something looks wrong, pause and check these first [#if-something-looks-wrong-pause-and-check-these-first] * Is setup fully finished? * Do the variants share the exact same SKU? * Are they at the same Shopify location? * Could another app or a direct Shopify edit have changed the inventory? > **Info:** In most cases, you do not need to panic. A quick review of setup, SKUs, locations, and outside inventory changes usually explains what you are seeing. ## What to do next [#what-to-do-next] * Finish or review [Quick setup](/docs/start-here/quick-setup). * Review how groups work in [What are SKU/location groups?](/docs/managing-sku-groups/what-are-sku-location-groups). * Read [how syncing works](/docs/start-here/how-syncing-works) so the app's behavior matches your expectations. * Run a small test using [Testing the app](/docs/setup/Testing-the-app). * If results still seem off, check whether [another app is changing inventory](/docs/troubleshooting/another-app-is-changing-inventory). # How SKU Stock Sync works (/docs/start-here/how-sku-stock-sync-works) ## What the app does [#what-the-app-does] SKU Stock Sync keeps inventory aligned between product variants that share the same SKU at the same Shopify location. If two or more variants match on both SKU and location, the app helps keep their stock levels in sync. This helps reduce overselling by making sure matching variants stay aligned instead of drifting apart.

In this app, a SKU/location group means all variants that share the same SKU at one specific Shopify location.

## How syncing happens [#how-syncing-happens] SKU Stock Sync does not run a full store-wide inventory sync on demand. Instead, it watches for inventory changes. When stock changes for a matching SKU at a Shopify location, the related SKU/location group is marked as due. Due groups are then synced on a schedule. You can also [manually sync](/docs/syncing-inventory/manual-syncing) groups that are already due if you want them processed sooner.

Manual syncing only processes due groups. It does not force a full sync across your entire store.

## What this means for you [#what-this-means-for-you] * **Matching variants stay aligned:** Variants with the same SKU at the same location are kept in sync. * **Syncing is event-based:** The app reacts to inventory changes instead of repeatedly syncing your whole catalog. * **Scheduled processing:** Due groups are picked up and synced automatically on a schedule. * **Manual control when needed:** You can manually sync due groups if you do not want to wait for the next scheduled run.

If you are trying to understand why a variant did or did not sync, first check whether it shares the same SKU and Shopify location as the other variant.

# How syncing works (/docs/start-here/how-syncing-works) ## SKU Stock Sync updates only what needs attention [#sku-stock-sync-updates-only-what-needs-attention] SKU Stock Sync does **not** push inventory across your entire store every time something changes. Instead, it watches for stock changes and then syncs the specific inventory groups that need updating. This makes syncing more efficient while still keeping linked products responsive when stock matters most.

Syncing is event-driven and scheduled. That means the app reacts to stock change notifications, then processes the affected groups on a schedule. It is not a continuous full-store sync.

## What is a due group? [#what-is-a-due-group] A group becomes **due** when one of its linked SKU and location combinations has an **available stock change** and the app receives that change notification. In plain language: if one item in a synced group changes stock, that group is marked for syncing. Only groups that are due are queued for sync. Groups with no relevant stock changes are left alone. ## Why some due groups sync more often than others [#why-some-due-groups-sync-more-often-than-others] Once a group is due, the app decides when it should be processed. * **Regular schedule:** used for groups that need quicker attention. * **Daily schedule:** used for groups whose stock is safely above **50**, so they do not need to be checked as often. This helps the app stay efficient while still being more responsive when stock gets closer to low levels.

If a group's stock is safely above 50, it may be processed on the less frequent daily schedule. If stock later drops below that level, the group can move back to the more frequent regular schedule.

The goal is simple: **higher stock can usually wait a bit longer, while lower stock gets more attention**. If you want more detail about timing, see [Scheduled syncing](/docs/syncing-inventory/scheduled-syncing). ## How the app calculates the new stock level [#how-the-app-calculates-the-new-stock-level] When a due group is processed, the app works out the stock level that all members of the group should share. If **more than one member changed before the sync runs**, the app accounts for **all of those changes**, not just the latest one. This is important because several items in the same group may change close together. The app adds up the full effect of those changes before updating the group. ### Example [#example] Imagine a group starts at **10** stock, and it has **3 members**. Before the sync runs, each member changes from **10** to **11**: * Member 1: 10 → 11 * Member 2: 10 → 11 * Member 3: 10 → 11 Each member increased by 1, so the total change across the group is **+3**, not just +1. That means the new shared stock becomes: * **Group:** 10 → 13 Then all members are updated to match: * Member 1: 11 → 13 * Member 2: 11 → 13 * Member 3: 11 → 13

If several linked items change before a scheduled sync runs, that is expected. The app includes all of those changes when calculating the new group total.

## What you will see in History [#what-you-will-see-in-history] When a sync completes and makes changes, the app creates a History run with details about what happened. You can review those runs here: [Sync history](/docs/using-the-app/sync-history). If a scheduled run checks a due group but there is nothing new to update, a History entry may **not** be created.

No History entry usually means no actual inventory update was needed for that run. However, thats not always the case, see Insights for more information.

## In short [#in-short] * The app syncs **due groups**, not your whole store. * A [group](/docs/managing-sku-groups/what-are-sku-location-groups) becomes due when a member's available stock changes and the app receives that update. * Groups with stock safely above 50 may be processed less often. * If stock drops later, the group can return to a more frequent schedule. * When multiple members change before syncing, the app counts **all** of those changes. * Completed syncs with actual updates create History runs; no-change runs may not appear in History. # Quick setup (/docs/start-here/quick-setup) ## What to expect during setup [#what-to-expect-during-setup] When you install SKU Stock Sync and open the app for the first time, setup starts automatically. You do not need to manually start setup or map inventory yourself. Setup prepares the app so it can detect variants that share the same SKU at the same Shopify location.

Larger stores may take a few minutes to finish setup. The longest part is usually waiting for Shopify to prepare your inventory data.

## What the app is doing [#what-the-app-is-doing] During setup, SKU Stock Sync requests your inventory data from Shopify. Once Shopify finishes preparing that data, the app organizes your variants by SKU and location. This allows SKU Stock Sync to find inventory that can be synced together without asking you to manually create groups during setup.

Setup does not change your stock levels. It prepares the app so inventory changes can be tracked and synced after setup is complete.

## Understanding the setup steps [#understanding-the-setup-steps] ### Preparing app [#preparing-app]

The app creates the records it needs to track setup, syncs, and history for your store.

### Requesting inventory [#requesting-inventory]

The app asks Shopify to prepare your store inventory data.

### Waiting for Shopify [#waiting-for-shopify]

Shopify is preparing the inventory data. This step can take the longest, especially for larger stores.

### Processing inventory [#processing-inventory]

SKU Stock Sync is organizing your inventory by SKU and Shopify location.

### Start tracking changes [#start-tracking-changes]

Setup is complete and the app is ready to track inventory changes.

## What to do while setup finishes [#what-to-do-while-setup-finishes] If setup is still running, there is usually nothing you need to fix. The app is still working in the background. You can wait on the setup page, or leave and come back later. Once setup is complete, the page will show what SKU Stock Sync found in your inventory.

If setup takes longer than expected, it usually means Shopify is still preparing your inventory data. This can happen on stores with more products, variants, or locations.

## When setup is complete [#when-setup-is-complete] When setup finishes, the setup page will show a summary of what SKU Stock Sync found in your store. This may include details such as: * How many variants were mapped * How many sync groups were found * How many locations were checked ## Recommended next step: My First Sync [#recommended-next-step-my-first-sync] After setup is complete, the recommended next step is to complete **My First Sync**. My First Sync helps you create a safe test sync, trigger an inventory change, and review the result in History. This is the fastest way to confirm how SKU Stock Sync works before relying on it for live inventory changes. ### Create or use test products [#create-or-use-test-products]

The guide can help you create safe test products for your first sync.

### Change inventory [#change-inventory]

You will update stock for one of the test variants in Shopify.

### Run or wait for the sync [#run-or-wait-for-the-sync]

SKU Stock Sync detects the change and prepares matching variants to be synced.

### Review the result in History [#review-the-result-in-history]

After the sync runs, History shows what was checked, updated, or skipped.

My First Sync is optional, but it is recommended for new users. It helps you see the app working before depending on it for real products.

## If you skip My First Sync [#if-you-skip-my-first-sync] You can skip My First Sync if you already understand how the app works or do not want to create test products. If you skip it, your History page may stay empty until SKU Stock Sync processes an inventory change for your real products. ## If History is empty after setup [#if-history-is-empty-after-setup] An empty History page usually means no sync has run yet. History will begin showing results after SKU Stock Sync processes an inventory change. If you want to create your first history result, open **My First Sync** and follow the guided steps. # What the app does not do (/docs/start-here/what-the-app-does-not-do) ## Know the app's boundaries before you rely on it [#know-the-apps-boundaries-before-you-rely-on-it] SKU Stock Sync is designed to do one specific job well: keep inventory aligned for products and variants that belong in the same sync group. To make that behavior predictable, the app also has clear limits. This page explains what the app **does not** do, so you can set the right expectations and use it with confidence. If you are new to the app, start with [How syncing works](/docs/start-here/how-syncing-works). > **Info:** SKU Stock Sync is intentionally focused. It does not try to be a full inventory management system for every store-wide workflow. ## What the app does not do [#what-the-app-does-not-do] ### It does not perform a store-wide stock sync [#it-does-not-perform-a-store-wide-stock-sync] The app does **not** scan your whole catalog and automatically sync inventory across every product in your store. > **Note:** If you'd like to see this within the app, please let me know. ### It does not connect multiple Shopify stores together [#it-does-not-connect-multiple-shopify-stores-together] SKU Stock Sync works within a single Shopify store. It does **not** connect separate Shopify stores to each other. If you run more than one store, the app does not use one store's inventory to update another store's inventory. ## Other important expectations to keep in mind [#other-important-expectations-to-keep-in-mind] ### It does not change SKUs on its own [#it-does-not-change-skus-on-its-own] The app does not automatically rename, rewrite, standardize, or repair your SKUs in the background. If items should sync together, they need to already meet the app's grouping requirements. You can, however, change a group's SKU yourself from the [Groups page](/docs/managing-sku-groups/creating-updating-groups). That's a merchant-initiated action, not something the app does automatically. See [Does it change SKUs](/docs/faq/does-it-change-skus). ### It does not create products or variants [#it-does-not-create-products-or-variants] The app does not generate missing products, create variants, or build catalog structure on your behalf. It works with the products and variants that already exist in Shopify. See [Does it create products or variants](/docs/faq/does-it-create-products-or-variants). ## What the app does do instead [#what-the-app-does-do-instead] While the app does not offer store-wide or multi-store syncing, it **does** provide a focused and predictable way to keep the right items aligned. * It syncs inventory for items that belong together under the app's SKU and location rules. See [What are SKU/location groups?](/docs/managing-sku-groups/what-are-sku-location-groups) * From the Groups page, you can set a group's stock directly, change its SKU, ignore a group, check whether it's in sync, and scan for inventory items the app hasn't detected yet. * It helps you work with clearly defined SKU/location groups instead of broad catalog-wide assumptions. * It keeps syncing behavior narrow and intentional, which reduces unexpected inventory changes. * It gives you a more dependable setup when your goal is to sync matching items inside one Shopify store. # Manual syncing (/docs/syncing-inventory/manual-syncing) ## What manual sync does [#what-manual-sync-does] Manual sync lets you process work that is already waiting, sooner, instead of waiting for the next scheduled sync. It is useful when you want faster confirmation that SKU Stock Sync has picked up work that is already ready to be processed. Manual sync does **not** run a store-wide sync of your full catalog. It only processes work that is already waiting for attention, such as: * Groups that are currently due to sync * Members that are queued for setup so they can be sorted into the correct group If nothing is currently due and no members are waiting to be prepared, a manual sync will not have any work to do. > **Info:** Think of manual sync as a way to process pending work now. It is not a force-sync for every product or SKU in your store. ## How to run a manual sync [#how-to-run-a-manual-sync] 1. **Open the Groups page**: In the app sidebar, go to **Groups**. 2. **Start a manual sync**: Open the manual sync action from the Groups page. 3. **Choose what to process**: In the modal, select the waiting work you want to process in this manual sync. 4. **Start the sync**: Click **Start sync** to begin. If you want to understand the normal timing first, see [Scheduled syncing](/docs/syncing-inventory/scheduled-syncing) and [When inventory gets synced](/docs/syncing-inventory/when-inventory-gets-synced). ## Manual sync modal [#manual-sync-modal] When you start a manual sync, a modal opens so you can choose which waiting work should be processed now. If groups are due on both schedules, the modal can show both options: * **Regular due groups** * **Maintenance due groups** (the daily schedule) You can select either one, or select both if both are waiting and you want both processed in the same manual sync. The modal can also appear in a second state: there may be **no due groups** ready to process, but there are still queued setup items available. In that case, the modal will tell you that no due groups are currently waiting, and it will give you the option to process the queued setup items in this sync. This is helpful when new variants or members are still waiting to be prepared and assigned to the correct group. ## When manual sync helps [#when-manual-sync-helps] Manual sync is most helpful when you know there is already work waiting and you want it handled sooner. * You have one or more groups that are already due, and you do not want to wait for the next scheduled run. * You recently made a small test change and want quicker confirmation that the app processes the waiting work. * You have members that still need to be set up and placed into the correct group. > **Tip:** If you are trying to speed up work that is already queued, manual sync can help. If you are expecting it to rescan your entire store, it will not do that. Use [Scanning for new items](/docs/managing-sku-groups/scanning-for-new-items) instead. ## What gets processed [#what-gets-processed] A manual sync only processes work that is already waiting at the time you start it. That can include: * **Due groups** that are ready on the regular schedule * **Due groups** that are ready on the daily schedule * **Queued setup items** that need to be prepared and assigned to the correct group If you want to learn more about setup work and how groups are created or updated, see [Creating and updating groups](/docs/managing-sku-groups/creating-updating-groups). ## Manual sync vs. syncing selected groups directly [#manual-sync-vs-syncing-selected-groups-directly] The Groups page has a second, separate way to sync: selecting one or more groups yourself (for example, groups showing an **Out of sync** status) and choosing to sync just those groups. This is different from manual sync in one important way: **syncing selected groups directly does not create a Sync history entry**. Manual sync processes due/queued work and records the result in [Sync history](/docs/using-the-app/sync-history); syncing a specific selection is meant as a quick, direct correction and is not logged the same way. > **Note:** If you want a record of the sync in History, use manual sync. If you just want to correct specific groups right now, select them and sync directly. ## Important limits to know [#important-limits-to-know] Manual sync has a few built-in limits: * You can run up to **10 manual syncs per day**. * Each manual sync can process up to **100 due groups**. > **Warning:** Manual sync is designed to help you process waiting work sooner, not to replace scheduled syncing or bypass the app's normal processing limits. # Pausing inventory syncing (/docs/syncing-inventory/pausing-inventory-syncing) If you need to temporarily stop SKU Stock Sync from monitoring and processing inventory updates, you can pause syncing from the **Settings** page. This is a temporary setting, so you do not need to uninstall the app to stop syncing for a while. If you want more background on sync activity, see [Sync status](/docs/using-the-app/sync-status), [Manual syncing](/docs/syncing-inventory/manual-syncing), and [When inventory gets synced](/docs/syncing-inventory/when-inventory-gets-synced). ## What pausing does [#what-pausing-does] When syncing is paused, the app stops monitoring your store for inventory changes. * The app will **not be notified** when inventory changes happen. * Your inventory groups will **not become due for syncing** while the app is paused. * Your store will **not be processed for syncing** during that time. > **Info:** Pausing is meant for temporary use. It lets you stop syncing without uninstalling the app or changing your setup. ## How to pause syncing [#how-to-pause-syncing] 1. **Open the Settings page**: In the app, go to the **Settings** page. 2. **Find the Pause setting**: Look for the **Pause** section on the page. 3. **Turn on the Pause toggle**: Use the toggle switch to pause syncing. Once it is enabled, syncing is paused right away. ## What you will see while paused [#what-you-will-see-while-paused] While syncing is paused, the monitoring [status](/docs/using-the-app/sync-status) on the Settings page shows **Paused**. This confirms that the app is not currently watching for inventory changes or processing your store for syncing. In plain language, this means the app is standing by and waiting until you turn syncing back on. > **Note:** If you make inventory changes while syncing is paused, the app will not automatically pick them up during that paused period because it is not being notified about those changes. ## How to turn syncing back on [#how-to-turn-syncing-back-on] When you are ready to resume normal syncing, go back to the **Settings** page and use the same toggle again to turn **Pause** off. Once syncing is active again, the monitoring status changes to **On**. This shows that the app is monitoring for inventory changes again. # Scheduled syncing (/docs/syncing-inventory/scheduled-syncing) ## How scheduled syncing works [#how-scheduled-syncing-works] Scheduled syncing helps SKU Stock Sync keep your inventory up to date without needing you to run every sync manually. The app works through **due groups**. A due group is simply a group that is ready to be checked and synced based on its schedule. When scheduled syncing runs, the app looks for groups that are due and processes them. If you want a broader overview of the syncing process, see [How syncing works](/docs/start-here/how-syncing-works). ## The two schedules [#the-two-schedules] Due groups can be processed on one of two schedules: This is the more frequent schedule. Groups on the regular schedule are processed sooner than groups on the daily schedule. How soon depends on your plan's update speed, which is within 60 minutes on the trial and Starter plans. This schedule runs less often. Groups on the daily schedule are still processed automatically, but not as frequently as groups on the regular schedule.

The app uses these two schedules to balance freshness and usage, so the groups most likely to need attention are processed more often.

## Why some groups are processed less often [#why-some-groups-are-processed-less-often] Groups with higher stock are usually less urgent, so the app processes them less often. This helps focus usage on groups that matter more, especially the ones more likely to run low or change in a meaningful way. Right now, the threshold is **50**: * Groups with estimated current stock **above 50** are processed on the **daily schedule**. * Groups with estimated current stock **50 or below** are processed on the **regular schedule**. If a due group is currently being processed on the daily schedule, it is not stuck there permanently. When the app estimates that the group’s current stock has dropped below the threshold, that group can move back to the regular schedule and be processed more often again.

You may sometimes hear this described as different sync “lanes.” On this page, that simply means the two schedules above: the regular schedule and the daily schedule.

## Do scheduled runs use group syncs? [#do-scheduled-runs-use-group-syncs] A scheduled run only uses group syncs for the groups it actually updates. A run that finds nothing due costs nothing. This means your update speed does not spend your included group syncs on its own. A store on a 60 minute update speed does not use 24 group syncs a day just because the schedule ran 24 times. For more details, see [Plans, limits, and usage](/docs/account-billing-and-plans/plans-limits-and-usages). ## If you want to sync sooner [#if-you-want-to-sync-sooner] If you have due groups on either schedule and you want them processed sooner, you can run a manual sync instead of waiting for the next scheduled run. To learn more, see [Manual syncing](/docs/syncing-inventory/manual-syncing).

If you are checking whether a group will be processed soon, review your due groups first so you can see what is waiting to sync and whether manual syncing would help.

You can also learn more about timing on [When inventory gets synced](/docs/syncing-inventory/when-inventory-gets-synced) and review your due groups in the Manual sync section. ## At a glance [#at-a-glance] * Scheduled syncing processes groups that are due. * Due groups are processed on either the regular schedule or the daily schedule. * The regular schedule runs more often. How soon a due group is processed depends on your plan's update speed. * The daily schedule runs less often. * Scheduled runs only use group syncs for groups they actually update. * Groups with higher stock are processed less frequently so usage stays focused on groups that matter more. * The current threshold is 50, so groups above 50 are processed on the daily schedule. * If estimated current stock drops below the threshold, a group can move back to the regular schedule. * If you want a due group processed sooner, you can use manual sync. # When inventory gets synced (/docs/syncing-inventory/when-inventory-gets-synced) ## When syncing happens [#when-syncing-happens] SKU Stock Sync updates inventory after it detects a relevant inventory change. That usually means a product, variant, or inventory item in Shopify changed stock, and that change gave the app a reason to sync. Syncing is **event-driven**. In plain language, that means the app does not keep doing full-store sweeps looking at every item in your store. Instead, it waits for inventory-related events, then processes the SKU groups that were affected. When a stock change happens for an item that belongs to a SKU group with other members, that group may be marked as **due** for syncing. **Due** simply means the group has been flagged as needing attention the next time the app processes pending sync work. Due groups are processed on two schedules: * **Regular schedule:** the normal ongoing processing for groups that became due. * **Daily schedule:** an additional scheduled pass that also processes due groups. This means inventory changes are picked up and synced on a schedule, not always the moment the change happens. > **Note:** If helpful, think of syncing as a queue. Inventory changes can put a group into the queue, and the app processes that queue on its schedules or when you run a manual sync. See [Scheduled syncing](/docs/syncing-inventory/scheduled-syncing). If you want to understand the bigger picture of how groups and syncing work together, see [How syncing works](/docs/start-here/how-syncing-works). ## Why syncing may not happen immediately [#why-syncing-may-not-happen-immediately] The most important expectation to set is this: **SKU Stock Sync is not instant**. A detected change does not always produce an immediate stock update. That delay is expected because the app processes *due* groups on scheduled runs instead of continuously rechecking your whole catalog. You can also process due groups sooner from the **Groups page** by running a manual sync. Manual sync handles groups that are already due and processes them right away, instead of waiting for the next scheduled run. See [Manual syncing](/docs/syncing-inventory/manual-syncing). > **Tip:** If you know inventory changed recently and want the app to act on it sooner, use manual sync from the Groups page. This is the fastest way to process groups that are already due. Some groups may also be processed less often depending on how the app prioritizes work, especially for higher-stock groups. Even then, the main rule stays the same: the app syncs based on detected changes and scheduled processing, not constant full-store rescans. ## Why there may be nothing to sync [#why-there-may-be-nothing-to-sync] If no relevant inventory change has happened, there may be nothing for SKU Stock Sync to do. This is often the reason a sync appears quiet: the app only processes groups that became due. If nothing made a group due, there may be no changes waiting. If stock changed but a group did **not** become due, the most likely reasons are: * **The item is still unknown to the app.** Newly added products, variants, or SKU changes may need to be detected and prepared before the app can place them into the right group and sync them. See [Insights](/docs/using-the-app/insights) to check if this has occurred, or use [Scanning for new items](/docs/managing-sku-groups/scanning-for-new-items) to look for items the app has missed entirely. * **The group has only one member.** Single-member groups are automatically excluded, so they cannot become due for syncing. This is different from a group you've manually **ignored**: see the note below. * **The group has been manually ignored.** If someone marked the group as ignored on the Groups page, it will not be processed until it's unignored. See [Ignoring groups](/docs/managing-sku-groups/ignoring-groups). * **The group is stocked at a location managed by a fulfillment app.** Groups stocked at locations managed by an app that handles fulfillment (for example, Shopify Collective) are automatically skipped during sync, to avoid conflicting with that app. If you recently added products, created variants, or changed SKUs, give the app time to detect and prepare those items first. You can learn more about keeping groups up to date in [Creating and updating groups](/docs/managing-sku-groups/creating-updating-groups). > **Info:** Being "prepared" means the app has recognized the item and sorted it into the correct SKU group structure so it can participate in syncing. ## Changes that can trigger syncing [#changes-that-can-trigger-syncing] A sync can be triggered by more than just something you changed inside SKU Stock Sync. Inventory changes from other apps, integrations, or direct actions in the Shopify admin can also cause a group to become due. For example, if stock is edited elsewhere and that change affects an item in a multi-member group, SKU Stock Sync may detect that event and schedule the group for syncing. This is why you may sometimes see syncing happen after actions taken outside the app itself. ## What can affect the final result [#what-can-affect-the-final-result] Sometimes SKU Stock Sync runs, but the final stock level you see in Shopify still looks unexpected. When that happens, timing is often only part of the story. Other inventory apps can also change stock *after* SKU Stock Sync runs. If another app reacts to the updated quantity and changes it again, the final stock can look different from what you expected. In some setups, this can even create back-and-forth changes where one app updates stock, another app reacts, and the quantity keeps getting adjusted repeatedly. > **Warning:** If another inventory app is also editing the same products or variants, it can override or counteract SKU Stock Sync. This can make stock levels look inconsistent even when syncing itself is working correctly. If you suspect another app is involved, see [Another app is changing inventory](/docs/troubleshooting/another-app-is-changing-inventory). ## If inventory did not sync as expected [#if-inventory-did-not-sync-as-expected] If syncing seems delayed or missing, the usual checks are: * Did a relevant inventory change actually happen? * Is the item already known to the app and prepared for grouping? * Is the item in a group with more than one member? * Has the group been manually ignored? * Is the group stocked at a fulfillment-app-managed location? * Did the group become due? * Has the regular schedule, daily schedule, or a manual sync had a chance to process it? * Is another app changing the stock afterward? For a focused troubleshooting guide, see [Inventory did not sync](/docs/troubleshooting/inventory-did-not-sync). # Another app is changing inventory (/docs/troubleshooting/another-app-is-changing-inventory) If another app is changing inventory, SKU Stock Sync may not be the only system updating stock in Shopify. This can make inventory look unexpected, delayed, or like it keeps changing back. > **Info:** If inventory keeps changing after SKU Stock Sync runs, see [Inventory keeps changing back](/docs/troubleshooting/inventory-keeps-changing-back). ## What counts as another inventory system? [#what-counts-as-another-inventory-system] Another inventory system can be any tool or workflow that updates inventory quantities in Shopify. * Inventory management apps * Warehouse or fulfillment systems * ERP systems * Product feed apps * Automation apps * Custom scripts or private integrations * Staff workflows that manually adjust inventory > **Note:** Another app is not automatically a problem. It becomes a problem when it updates the same inventory quantities that SKU Stock Sync is trying to keep aligned. ## Built-in protection for fulfillment apps [#built-in-protection-for-fulfillment-apps] Groups stocked at locations managed by an app that handles fulfillment (for example, Catalog) are automatically skipped during sync. This is specifically to avoid the back-and-forth conflict described below for that common case, so you shouldn't need to do anything manually for fulfillment-managed locations. The guidance in this article is most relevant for other kinds of integrations (warehouse systems, feeds, ERPs, or custom scripts) that aren't automatically recognized as fulfillment-managed. ## Why this can cause problems [#why-this-can-cause-problems] SKU Stock Sync reacts to inventory changes and aligns variants that share the same SKU at the same Shopify location. If another system also updates those same quantities, the two systems can compete with each other. * SKU Stock Sync may correct a SKU/location group. * Another app may detect that change and write a different quantity back to Shopify. * SKU Stock Sync may later detect another difference and correct the group again. * The inventory may look like it is changing unexpectedly or changing back. > **Warning:** If two systems are both trying to be the source of truth for the same inventory, the result can be confusing or unstable. Choose which system should control those quantities. ## Check who is changing inventory [#check-who-is-changing-inventory] The best place to start is Shopify adjustment history. It can show what created recent inventory adjustments for a specific variant and location. 1. **Open the affected variant in Shopify**: In Shopify, open the product variant where inventory is changing unexpectedly. 2. **Open adjustment history**: In the inventory locations table, click **View adjustment history**. 3. **Select the correct location**: Make sure the selected location matches the location where the inventory issue is happening. Inventory is tracked separately for each Shopify location. 4. **Review the Created by column**: Look at the **Created by** column to see what made each inventory adjustment. 5. **Compare the timing**: Check whether another app or integration updates inventory shortly before or after SKU Stock Sync. ## Signs another app may be interfering [#signs-another-app-may-be-interfering] Another app or integration may be affecting inventory if you notice patterns like these: * A different app changes inventory shortly after SKU Stock Sync. * The same quantity keeps moving up and down. * SKU Stock Sync updates the group, then another system changes one item back. * The same SKU/location group keeps needing repeated corrections. * The problem only happens for products managed by a specific app, feed, warehouse, or integration. ## Compare Shopify adjustment history with SKU Stock Sync History [#compare-shopify-adjustment-history-with-sku-stock-sync-history] Shopify adjustment history shows inventory changes for a specific variant and location. SKU Stock Sync History shows what the app processed during sync runs. 1. **Open SKU Stock Sync History**: In SKU Stock Sync, open the **History** page. 2. **Filter by SKU and location**: Use the affected SKU and Shopify location to find related sync activity. 3. **Open the matching run**: Review the group and members that were processed during the run. 4. **Compare the quantity changes**: Compare the before-and-after quantities in SKU Stock Sync History with the changes shown in Shopify adjustment history. 5. **Look for changes after the sync**: If another app changed inventory after SKU Stock Sync, that app may be the reason the final quantity looks wrong. For more details, see [Sync history](/docs/using-the-app/sync-history). ## What to do if another app is changing inventory [#what-to-do-if-another-app-is-changing-inventory] If another app or integration is updating the same inventory, decide which system should control that stock. * **If SKU Stock Sync should control the shared stock:** adjust the other app so it does not overwrite those quantities. * **If the other app should control the stock:** avoid grouping those variants in SKU Stock Sync, or **ignore** the affected group from the Groups page instead of removing it entirely. See [Ignoring groups](/docs/managing-sku-groups/ignoring-groups). * **If both systems are needed:** make sure they are responsible for different products, locations, or workflows. > **Warning:** Do not leave two apps fighting over the same inventory quantities. Even if each app is working correctly on its own, the combined behavior can still create incorrect or confusing stock changes. ## Pause syncing while you investigate [#pause-syncing-while-you-investigate] If inventory is changing unexpectedly and you need time to investigate, you can temporarily pause SKU Stock Sync from the **Settings** page. Pausing can help you check whether another app is still changing inventory without SKU Stock Sync processing new inventory changes during the investigation. > **Warning:** While SKU Stock Sync is paused, the app will not monitor or process inventory changes. Only pause syncing if you understand that syncing will stop during that time. For more details, see [Pausing inventory syncing](/docs/syncing-inventory/pausing-inventory-syncing). ## Important things to know [#important-things-to-know] * Shopify adjustment history is the best place to check who changed a specific variant at a specific location. * Another app may change inventory before or after SKU Stock Sync runs. * Locations managed by a fulfillment app are automatically skipped, which removes this class of conflict for that case. * If another app is the source of truth for inventory, SKU Stock Sync may need to be paused, the group ignored, or the affected SKUs separated. * If SKU Stock Sync is the source of truth for shared stock, other apps should not overwrite those same quantities. ## When to contact support [#when-to-contact-support] If you cannot tell whether another app is changing inventory, contact support and include: * The affected SKU * The Shopify location * The product or variant where the issue is happening * The quantity you expected * The quantity Shopify shows now * A screenshot of Shopify adjustment history with the **Created by** column visible * A screenshot or description of the matching SKU Stock Sync History run, if available * The names of any other apps, feeds, warehouse systems, or integrations that update inventory > **Note:** The most useful details are the SKU, location, adjustment history, and the names of any other inventory tools connected to your store. # Check shared SKUs in Shopify (/docs/troubleshooting/check-whether-other-variants-share-the-same-sku) ## Why this check matters [#why-this-check-matters] If variants are expected to share stock in SKU Stock Sync, they must use the same SKU in Shopify. This quick check shows whether other variants are using that SKU. ### Open the variant in Shopify [#open-the-variant-in-shopify]

In Shopify, open the product variant you want to check.

### Find the SKU details [#find-the-sku-details]

Look for the SKU field. If needed, click the SKU button to expand More details .

### Look for the shared SKU message [#look-for-the-shared-sku-message]

Under the SKU field, message like In use by ... other items should appear. If the SKU button is orange .

If you see that message, click View in bulk editor to open the full list of matching variants.

### Review the matching variants [#review-the-matching-variants]

In the bulk editor, Shopify shows the variants using that exact same SKU. This is the fastest way to confirm which items are grouped by SKU.

## What to confirm [#what-to-confirm] * The variant has a SKU entered in Shopify. * The SKU button is **orange** to indicate that other variants share the same SKU. * **View in bulk editor** shows the variants you expect to match. * The SKU value is exactly the same on every matching variant.

SKUs must match exactly. Even a small difference such as an extra space, dash, or letter case change can stop variants from being treated as the same SKU.

The same SKU can appear in more than one group when different locations are involved. What matters first is whether the SKU itself matches exactly.

# Inventory did not sync (/docs/troubleshooting/inventory-did-not-sync) If inventory did not update the way you expected, start by checking whether SKU Stock Sync has processed that SKU/location group recently. > **Info:** SKU Stock Sync is not instant. Inventory changes are processed during scheduled syncs, or sooner if you run a manual sync for work that is already waiting. For more details, see [When inventory gets synced](/docs/syncing-inventory/when-inventory-gets-synced). ## Start with Sync history [#start-with-sync-history] The quickest way to troubleshoot a missing sync is to check whether the affected SKU/location group appears in History. 1. **Identify the affected SKU and location**: In Shopify, open the variant that did not sync as expected. Make note of the variant's **SKU** and the **location** where the inventory quantity changed. 2. **Open History in SKU Stock Sync**: In SKU Stock Sync, open the **History** page. History shows previous sync runs and the groups that were processed during those runs. 3. **Filter by location**: Use the location filter to select the Shopify location where the inventory change happened. 4. **Filter by SKU**: Use the SKU filter to select the SKU that did not sync as expected. 5. **Check the recent results**: Use a recent date range, such as **Last 30 days**, then review whether any sync runs appear for that SKU and location. ## If the group appears in History [#if-the-group-appears-in-history] If a matching run appears, SKU Stock Sync did process that SKU/location group. Open the run and review the group and member details. ### What to check [#what-to-check] * **Check the group result.** Confirm whether the group was updated, skipped, or had no change to make. * **Check the members list.** Confirm whether the variant you expected to sync appears in the group members. * **Check the location.** Make sure the run is for the same Shopify location where the inventory change happened. * **Check the quantity change.** Compare the quantity shown in History with the quantity you expected in Shopify. > **Note:** If the run appears in History but a variant is missing from the members list, the most likely cause is that the variant was not part of that SKU/location group at the time of the sync. To check the SKU side first, see [Check shared SKUs in Shopify](/docs/troubleshooting/check-whether-other-variants-share-the-same-sku). ## If the group does not appear in History [#if-the-group-does-not-appear-in-history] If no matching run appears, it usually means SKU Stock Sync has not processed that SKU/location group recently, or there was no inventory update to record. It could also mean the group was synced directly from the Groups page. That action does not create a History entry (see [Manual syncing](/docs/syncing-inventory/manual-syncing)). ### Common reasons [#common-reasons] * **The sync has not run yet.** Inventory changes are processed on a schedule, not always immediately. * **The group was not due.** SKU Stock Sync processes groups that have been marked as needing attention. * **The group is ignored.** If someone marked the group as ignored on the Groups page, it will not be processed until it's unignored. See [Ignoring groups](/docs/managing-sku-groups/ignoring-groups). * **The group is stocked at a fulfillment-app-managed location.** Groups stocked at locations managed by an app that handles fulfillment (for example, Catalog) are automatically skipped during sync. * **The variants do not share the exact same SKU.** Even a small difference can stop variants from being grouped together. * **The variants are not stocked at the same location.** Matching SKU alone is not enough. * **The group only has one member.** If there are no other matching variants at that location, there is nothing else to sync. * **The item is new or recently changed.** New products, new variants, or changed SKUs may need to be prepared before they can be included in syncing. If you suspect the app never detected the item at all, try [Scanning for new items](/docs/managing-sku-groups/scanning-for-new-items). * **Another app changed inventory afterward.** Other inventory apps, integrations, or custom workflows can make the final Shopify quantity look different after SKU Stock Sync runs. ## What to check next [#what-to-check-next] 1. **Confirm the SKU matches exactly**: Check that the variants you expect to sync use the exact same SKU in Shopify. See [Check shared SKUs in Shopify](/docs/troubleshooting/check-whether-other-variants-share-the-same-sku). 2. **Confirm the location matches**: Make sure the variants are stocked at the same Shopify location. The same SKU at a different location is treated as a separate group. 3. **Check whether the app is ready**: Open the **Settings** page and confirm that SKU Stock Sync is not still setting up or paused. See [Sync status](/docs/using-the-app/sync-status). 4. **Check for waiting setup items or ignored groups**: If the product, variant, or SKU was recently created or changed, open the **Groups page** and check whether any items are waiting for setup, or whether the group has been ignored. See [Creating / updating groups](/docs/managing-sku-groups/creating-updating-groups). 5. **Run a small test**: If the setup looks correct, make a small test inventory change on one low-risk variant in the group. You can then wait for the next scheduled sync, or use manual sync if the group is ready to process. See [Testing the app](/docs/setup/Testing-the-app). ## Important things to know [#important-things-to-know] * SKU Stock Sync syncs variants by **SKU and Shopify location**. * Manual sync processes work that is already waiting. It does not force-sync every SKU in your store. * History shows sync activity from SKU Stock Sync. It is not a full audit log of every inventory change made in Shopify. * If another app updates the same inventory after SKU Stock Sync runs, Shopify may show a different final quantity than expected. ## When to contact support [#when-to-contact-support] If the group still does not sync after checking the steps above, contact support and include: * The SKU that did not sync * The Shopify location where the inventory changed * The product or variant that was changed * What quantity you expected * What quantity Shopify shows now * Whether another app or integration also updates inventory for those products > **Note:** The more specific the SKU, location, and expected quantity are, the easier it is for me to trace what happened. # Inventory keeps changing back (/docs/troubleshooting/inventory-keeps-changing-back) If inventory keeps changing back, start by checking who is changing the inventory in Shopify. The most common causes are expected syncing behavior, another app or integration updating the same inventory, or repeated manual changes to only one variant in a synced group. > **Info:** SKU Stock Sync keeps variants aligned when they share the same SKU at the same Shopify location. If you manually change only one variant in a synced group, SKU Stock Sync may later update other variants in that group to match. For more details, see [What are SKU/location groups?](/docs/managing-sku-groups/what-are-sku-location-groups). ## Start with Shopify adjustment history [#start-with-shopify-adjustment-history] Shopify's adjustment history shows recent inventory changes for a specific variant and location. This is the best place to check whether SKU Stock Sync, another app, a staff member, or an order changed the inventory. 1. **Open the affected variant in Shopify**: In Shopify, open the product variant where inventory keeps changing back. 2. **Open adjustment history**: In the inventory locations table, click **View adjustment history**. 3. **Select the correct location**: Make sure the location in the top right matches the Shopify location where the inventory is changing. This matters because Shopify tracks inventory separately for each location. 4. **Review the Created by column**: Look at the **Created by** column to see what made each inventory adjustment. 5. **Look for a repeating pattern**: Check whether the inventory is repeatedly changed by SKU Stock Sync, another app, a staff member, or order activity. ## What different changes can mean [#what-different-changes-can-mean] * **SKU Stock Sync:** The app made an inventory correction to align variants in the same SKU/location group. * **Manual adjustment:** A staff member or Shopify admin action changed the inventory. * **Order activity:** Shopify changed inventory because of an order, refund, cancellation, fulfillment, or related order event. * **Another app or integration:** A third-party app, warehouse system, feed, automation, or custom integration changed the inventory. > **Note:** Manual adjustments, order-related activity, and inventory corrections from SKU Stock Sync can all be normal. The important thing is whether there is a repeating pattern that keeps undoing the inventory level you expect. ## If SKU Stock Sync changed the inventory [#if-sku-stock-sync-changed-the-inventory] If the adjustment history shows SKU Stock Sync changing the inventory, check whether the variant belongs to a synced SKU/location group. This can be expected when: * You changed inventory for one variant, but other variants share the same SKU at the same location. * SKU Stock Sync later corrected the group so the matching variants stayed aligned. * The variant is part of a group that was already due for syncing. > **Info:** If you want variants to share stock, this correction may be expected. If you do not want those variants synced together, they should not share the same SKU at the same Shopify location. To check which variants share the SKU, see [Check shared SKUs in Shopify](/docs/troubleshooting/check-whether-other-variants-share-the-same-sku). ## If another app changes inventory after SKU Stock Sync [#if-another-app-changes-inventory-after-sku-stock-sync] If another app or integration repeatedly changes inventory after SKU Stock Sync runs, that system may be reacting to SKU Stock Sync's updates and changing the stock again. This can create a back-and-forth pattern where: * SKU Stock Sync corrects inventory for a SKU/location group. * Another app, feed, warehouse system, or custom integration sees that change. * That system updates the same inventory again. * SKU Stock Sync later sees another difference and corrects the group again. > **Note:** Groups stocked at locations managed by an app that handles fulfillment (for example, Catalog) are now automatically skipped during sync, specifically to prevent this kind of back-and-forth. If this pattern is happening at a fulfillment-managed location, it should now be much less likely. If you still see it, that's worth reporting to support. > **Warning:** SKU Stock Sync may conflict with other systems that also try to control the same inventory quantities. This is especially likely when another app reacts to every inventory change and then writes a different stock level back to Shopify. ## Signs of a conflict [#signs-of-a-conflict] A conflict may be happening if you see patterns like these in adjustment history: * The same inventory quantity repeatedly moves up and down. * A third-party app changes inventory shortly after SKU Stock Sync. * SKU Stock Sync corrects the inventory, then another system changes it back. * The same SKU/location group keeps appearing in History with unexpected changes. * The final Shopify quantity does not match what you expected after the sync. For broader troubleshooting, see [Another app is changing inventory](/docs/troubleshooting/another-app-is-changing-inventory). ## What to check next [#what-to-check-next] 1. **Check the group in SKU Stock Sync History**: Open **History** in SKU Stock Sync and look for the affected SKU and location. Confirm whether SKU Stock Sync processed the group and what quantity it attempted to set. See [Sync history](/docs/using-the-app/sync-history). 2. **Check whether variants should be grouped**: Confirm that the variants using the same SKU at the same location are supposed to share inventory. If they should not share stock, update the SKUs so they are no longer grouped together. 3. **Check other inventory apps and integrations**: Review any apps, warehouse systems, feeds, ERPs, automations, or custom scripts that update inventory in Shopify. Look for systems that write inventory shortly after SKU Stock Sync updates it. 4. **Pause syncing if needed**: If inventory is changing back and forth and you need to stop SKU Stock Sync temporarily, pause inventory syncing from the **Settings** page while you investigate. See [Pausing inventory syncing](/docs/syncing-inventory/pausing-inventory-syncing). 5. **Run a small controlled test**: After checking the group and any other inventory tools, make a small test adjustment on a low-risk variant. Then compare Shopify adjustment history with SKU Stock Sync History to see what changed the inventory and when. ## If you do not want these variants synced together [#if-you-do-not-want-these-variants-synced-together] SKU Stock Sync groups variants by SKU and location. If two variants should not share stock, they should not use the same SKU at the same Shopify location. * Give unrelated variants different SKUs. * Check that the SKU does not have an accidental extra match in Shopify. * Confirm the affected variants are not stocked together at the same location if they should be managed separately. * Alternatively, you can **ignore** the group from the Groups page so it's excluded from syncing without changing any SKUs. See [Ignoring groups](/docs/managing-sku-groups/ignoring-groups). For more details, see [Changing SKUs after setup](/docs/managing-sku-groups/changing-skus-after-setup). ## Important things to know [#important-things-to-know] * SKU Stock Sync does not decide stock levels by itself. It reacts to inventory changes and aligns variants in the same SKU/location group. * If another system also controls the same inventory, the two systems can compete with each other. * Shopify adjustment history is the best place to check who changed inventory for a specific variant and location. * SKU Stock Sync History shows what the app processed. Shopify adjustment history shows the broader Shopify inventory changes for that variant and location. * Pausing SKU Stock Sync can help you investigate, but it will also stop the app from processing inventory changes while paused. ## When to contact support [#when-to-contact-support] If inventory keeps changing back and you cannot tell what is causing it, contact support and include: * The affected SKU * The Shopify location * The product or variant where the issue is happening * The quantity you expected * The quantity Shopify keeps changing to * A screenshot of Shopify adjustment history for the affected variant and location * Any other apps, feeds, warehouse systems, or integrations that update inventory > **Note:** The most useful screenshot is the Shopify adjustment history with the correct location selected. # Some variants are missing from a sync (/docs/troubleshooting/some-variants-are-missing-from-a-sync) If a sync ran but some variants were not included, the missing variants were likely not part of the same SKU/location group at the time of the sync. > **Info:** SKU Stock Sync groups variants by **SKU and Shopify location**. A variant needs to match both before it can be included in the same sync group. For more details, see [What are SKU/location groups?](/docs/managing-sku-groups/what-are-sku-location-groups). ## Start by opening the sync run [#start-by-opening-the-sync-run] The quickest way to check why a variant was missing is to open the sync run in History and review the group members. 1. **Open Sync history**: In SKU Stock Sync, open the **History** page. 2. **Find the affected sync run**: Use the date, SKU, and location filters to find the run where the variant should have been included. See [Sync history](/docs/using-the-app/sync-history). 3. **Open the matching group**: Open the SKU/location group from the run and review the listed members. 4. **Check whether the missing variant appears**: If the variant is not listed as a member, SKU Stock Sync did not treat it as part of that group during the sync. ## Common reasons variants are missing [#common-reasons-variants-are-missing] * **The SKU does not match exactly.** Even a small difference such as an extra space, dash, or letter case change can stop variants from being grouped together. See [how to verify](/docs/troubleshooting/check-whether-other-variants-share-the-same-sku). * **The variant is stocked at a different location.** The same SKU at another Shopify location is treated as a separate group. See [What are SKU/location groups?](/docs/managing-sku-groups/what-are-sku-location-groups) * **The group has been ignored.** If someone marked the group as ignored on the Groups page, its members are excluded from syncing until it's unignored. See [Ignoring groups](/docs/managing-sku-groups/ignoring-groups). * **The group is stocked at a fulfillment-app-managed location.** Groups stocked at locations managed by an app that handles fulfillment (for example, Catalog) are automatically skipped during sync. * **The variant was added recently.** New products or variants may need to be detected and prepared before they can be included in syncing. If the app may have missed it entirely, try [Scanning for new items](/docs/managing-sku-groups/scanning-for-new-items). See also [Creating / updating groups](/docs/managing-sku-groups/creating-updating-groups). * **The SKU was changed recently.** SKU changes can move a variant into or out of a group, but the app may need time to prepare the updated grouping. See [Creating / updating groups](/docs/managing-sku-groups/creating-updating-groups). * **The inventory location changed recently.** Adding or removing a variant from a Shopify location can affect whether it belongs to a group at that location. See [Creating / updating groups](/docs/managing-sku-groups/creating-updating-groups). * **The variant only matched after the sync ran.** History shows what was processed at the time of the sync, not what matches later. ## Check the SKU first [#check-the-sku-first] If a variant is missing from a sync, first confirm that it shares the exact same SKU as the variants that were included. 1. **Open the missing variant in Shopify**: In Shopify, open the product variant that was missing from the sync. 2. **Check the SKU field**: Confirm that the SKU value exactly matches the SKU used by the variants that were synced. 3. **Check Shopify's shared SKU message**: If Shopify shows that the SKU is in use by other items, use **View in bulk editor** to review the matching variants. For a detailed walkthrough, see [Check shared SKUs in Shopify](/docs/troubleshooting/check-whether-other-variants-share-the-same-sku). > **Warning:** SKUs must match exactly. `ABC-123`, `ABC123`, and `ABC-123` will be treated as different SKUs. ## Check the location [#check-the-location] If the SKU matches, check whether the missing variant is stocked at the same Shopify location as the synced variants. * If the variant is not stocked at the location at all, it cannot be included in the group for that location. * If the variant was recently added to the location, SKU Stock Sync may need to detect and prepare it before it appears in syncs. ## If the variant was recently added or changed [#if-the-variant-was-recently-added-or-changed] New products, new variants, SKU changes, and location changes may need to be prepared before they are included in syncing. Open the **Groups page** and check whether any items are waiting for setup. For more details, see [Creating / updating groups](/docs/managing-sku-groups/creating-updating-groups). ## If the missing variant should have been included [#if-the-missing-variant-should-have-been-included] If the SKU and location both match, but the variant still does not appear in the sync group, check these items next: * Confirm the app is not paused on the [Settings](/docs/using-the-app/sync-status) page. * Confirm the group has not been manually ignored. See [Ignoring groups](/docs/managing-sku-groups/ignoring-groups). * Run a small test inventory change on a low-risk variant in the same group. See [Testing the app](/docs/setup/Testing-the-app). For broader troubleshooting, see [Inventory did not sync](/docs/troubleshooting/inventory-did-not-sync). ## Important things to know [#important-things-to-know] * A sync run only shows the variants that were part of the group at the time that sync ran. * The same SKU at different locations creates separate groups. ## When to contact support [#when-to-contact-support] If the variant still looks like it should have been included, reach out and include: * The SKU * The Shopify location * The variant that was included in the sync * The variant that was missing from the sync * A screenshot of the SKU field for the missing variant * Whether the product, variant, SKU, or location was recently changed # Sync appears delayed (/docs/troubleshooting/sync-appears-delayed) If syncing appears delayed, it does not always mean something is wrong. SKU Stock Sync processes inventory changes through due groups, scheduled syncing, and manual syncing. > **Info:** SKU Stock Sync is not instant. A detected inventory change does not always create an immediate stock update. For the full timing overview, see [When inventory gets synced](/docs/syncing-inventory/when-inventory-gets-synced). ## Why syncing can appear delayed [#why-syncing-can-appear-delayed] When inventory changes in Shopify, SKU Stock Sync checks whether the affected item belongs to a SKU/location group. If the group needs attention, it may be marked as due. Due groups are then processed during scheduled syncs, or sooner if you run a manual sync for work that is already waiting. * **The next scheduled sync may not have run yet.** A group can be waiting for the next scheduled processing window. * **The group may be on the daily schedule.** Higher-stock groups may be processed less often than lower-stock groups. * **The group may not be due yet.** If no relevant inventory change has made the group ready to process, there may be nothing waiting. * **The group may be ignored, or intentionally not synced.** If a group has been manually ignored on the Groups page, this isn't a delay. It's expected to stay out of syncing until unignored. See [Ignoring groups](/docs/managing-sku-groups/ignoring-groups). * **The group may be at a fulfillment-app-managed location.** Groups stocked at locations managed by a fulfillment app (for example, Catalog) are automatically skipped during sync. * **The item may still need setup.** New products, new variants, or changed SKUs may need to be prepared before they can be included in syncing. * **The app may be paused, setting up, or disconnected.** Check Sync status if syncing does not seem active. ## Check whether the delay is expected [#check-whether-the-delay-is-expected] 1. **Check Sync status**: Open the **Settings** page and check the current status. If the status is **On**, the app is ready and monitoring normally. If not, syncing may not process until that status is resolved. See [Sync status](/docs/using-the-app/sync-status). 2. **Check whether work is waiting**: On the Groups page, review whether any groups are waiting to be processed. If no groups are due, there may not be anything ready to sync yet. 3. **Check the schedule type**: If the group is waiting on the regular schedule, it should be processed sooner than groups waiting on the daily schedule. If the group is waiting on the daily schedule, the delay may be expected. See [Scheduled syncing](/docs/syncing-inventory/scheduled-syncing). 4. **Use manual sync if needed**: If work is already waiting and you want it processed sooner, run a manual sync from the Groups page. Manual sync processes work that is already waiting. It does not force-sync every SKU in your store. See [Manual syncing](/docs/syncing-inventory/manual-syncing). ## Regular schedule vs daily schedule [#regular-schedule-vs-daily-schedule] SKU Stock Sync uses different schedules to focus syncing on the groups that are most likely to need attention. * **Regular schedule:** used for groups that should be checked more often. * **Daily schedule:** used for groups that still need automatic processing, but less frequently. For more details, see [Scheduled syncing](/docs/syncing-inventory/scheduled-syncing). ## If the item was recently added or changed [#if-the-item-was-recently-added-or-changed] Syncing can appear delayed when the affected product, variant, SKU, or inventory location was recently changed. Before a new or changed item can sync correctly, SKU Stock Sync needs to detect it and place it into the correct SKU/location group. * A new variant may need to be prepared. * A changed SKU may need to be moved into the correct group. * A location change may affect which groups the variant belongs to. If you suspect the app never detected the item at all, try [Scanning for new items](/docs/managing-sku-groups/scanning-for-new-items). For more details, see [Creating / updating groups](/docs/managing-sku-groups/creating-updating-groups). ## When manual sync helps [#when-manual-sync-helps] Manual sync helps when work is already waiting and you do not want to wait for the next scheduled sync. Manual sync can process: * Due groups waiting on the regular schedule * Due groups waiting on the daily schedule * Queued setup items that need to be prepared > **Note:** Manual sync is not a full-store force sync. If no groups are due and no setup items are waiting, manual sync may not have anything to process. If you just want to correct a specific group's stock right now, you can also select it on the Groups page and sync it directly. ## When the delay may be a problem [#when-the-delay-may-be-a-problem] A delay may need investigation if: * The app status is **On**, but the group never appears in History. * The group has been due for longer than expected and manual sync does not process it. * The same SKU/location group repeatedly appears to wait without being processed. * The affected variant is not showing up in the expected group. * Another app or integration may be changing the same inventory after SKU Stock Sync runs. For broader troubleshooting, see [Inventory did not sync](/docs/troubleshooting/inventory-did-not-sync). ## Important things to know [#important-things-to-know] * SKU Stock Sync processes groups that are due. It does not constantly resync every SKU in your store. * A recent inventory change may wait until the next scheduled sync. * Higher-stock groups may be processed less often than lower-stock groups. * Manual sync can process waiting work sooner, but only if there is work ready to process. * New products, variants, SKUs, and location changes may need setup before they can sync normally. ## When to contact support [#when-to-contact-support] If syncing still appears delayed after checking the steps above, contact support and include: * The affected SKU * The Shopify location * The product or variant that changed * When the inventory change was made * Whether the group appears as due on the Groups page * Whether you tried manual sync * Whether the item, SKU, or location was recently created or changed # Alerts (/docs/using-the-app/alerts) Alerts are created when SKU Stock Sync detects something that may need your attention. Alerts do not always mean something is broken, but they should be reviewed. They can help you spot inventory behavior that may cause unexpected syncing results. > **Info:** SKU Stock Sync currently creates alerts for stock oscillation. Stock oscillation usually means inventory has been moving back and forth repeatedly for the same item or group. ## Where alerts appear [#where-alerts-appear] Alerts will appear in the **Alerts** page located on the app sidebar. If you have any alerts you'll notice a number on the right side of the button. ## Stock oscillation alerts [#stock-oscillation-alerts] A stock oscillation alert means SKU Stock Sync detected repeated inventory changes that may indicate a conflict or unstable inventory behavior. This is often caused by another app, warehouse system, feed, automation, or custom integration also updating the same inventory quantities. > **Note:** Groups stocked at locations managed by a fulfillment app (for example, Shopify Collective) are now automatically skipped during sync, so oscillation caused specifically by that pattern should be rarer than before. Oscillation from other integrations (warehouse systems, feeds, or custom scripts) can still occur and is still worth reviewing. > **Warning:** Stock oscillation should be reviewed as soon as possible. If two systems keep changing the same inventory back and forth, your Shopify stock levels may become confusing or unreliable. See [Another app is changing inventory](/docs/troubleshooting/another-app-is-changing-inventory), for more details. ## Important things to know [#important-things-to-know] * Alerts are meant to help you investigate possible issues. * Stock oscillation usually points to repeated inventory changes, often from multiple systems updating the same stock. * Shopify adjustment history is the best place to check who changed inventory for a specific variant and location. ## When to contact support [#when-to-contact-support] If you are unsure what caused an alert, contact support and include: * The alert type * The affected SKU * The Shopify location * The affected product or variant * A screenshot of the alert * A screenshot of Shopify adjustment history with the **Created by** column visible * Any other apps, feeds, warehouse systems, or integrations that update inventory > **Note:** The most useful details are the affected SKU, location, alert details, Shopify adjustment history, and any other systems that may update inventory. This will help me investigate. # App overview (/docs/using-the-app/app-overview) This page gives you a quick tour of the main areas of SKU Stock Sync and links to the detailed article for each one. If you are new to the app, start here for a high-level view, then open the page you need. ## What the app is for [#what-the-app-is-for] SKU Stock Sync helps keep inventory aligned between product variants that share the same SKU at the same Shopify location. The app watches for inventory changes, then processes matching SKU groups when they become due. This helps keep related variant stock levels in sync without you needing to manually update each one. If you want a deeper explanation of how syncing works behind the scenes, see [How SKU Stock Sync works](/docs/start-here/how-sku-stock-sync-works). ## Main areas of the app [#main-areas-of-the-app] SKU Stock Sync is organized into a few main areas so you can manage your groups, review past activity, understand results, and spot issues that need attention. * **[Groups](/docs/managing-sku-groups/what-are-sku-location-groups)**: View and manage your SKU/location groups: ignore a group, set its stock directly, change its SKU, check whether it's in sync, or scan for inventory items the app hasn't picked up yet. * **[Sync history](/docs/using-the-app/sync-history)**: Review previous sync runs and see what changed during each run. * **[Insights](/docs/using-the-app/insights)**: Understand what the app processed, what was skipped, and what did not need any change. * **[Alerts](/docs/using-the-app/alerts)**: See important issues the app has detected that may affect syncing, such as stock oscillation. > **Note:** Sync status and Pause have moved to the Settings page. See [Sync status](/docs/using-the-app/sync-status) and [Pausing inventory syncing](/docs/syncing-inventory/pausing-inventory-syncing). ## Groups [#groups] The **Groups** area is where you view and manage your SKU/location groups. * See every group, its members, and its current stock * Ignore a group so it's excluded from syncing, or unignore it later * Set a group's stock directly instead of editing a Shopify variant * Change a group's SKU * Check whether a group is currently in sync * Scan your store for inventory items the app hasn't detected yet This is usually the first place to look if you want to see or adjust how your groups are set up. ## History [#history] The **Sync history** area helps you review previous sync runs. * See when a sync run happened * Review what changed during that run * Look back at past activity when you are checking an inventory update This page is useful when you want to understand what the app changed and when it happened. ## Insights [#insights] The **Insights** area gives you a broader view of sync results. It helps you understand: * what the app processed * what was skipped * what did not need any change This makes it easier to understand overall syncing activity, not just the individual runs listed in history. It is especially helpful when you want more context around app behavior and outcomes over time. > **Note:** Insights is based on SKU Stock Sync activity. It helps explain what the app saw and did, but it is not a complete audit of all Shopify inventory activity. ## Alerts [#alerts] The **Alerts** area notifies you when SKU Stock Sync detects important issues that may affect syncing. Alerts are meant to help you notice problems early so you can review them and decide whether action is needed. A current example is **stock oscillation**. > **Info:** If you see an alert, treat it as a sign that the app has detected something important enough to call out, not just routine sync activity. ## Where to go next [#where-to-go-next] If you want to continue learning the app, these pages are the best next steps: * [What are SKU/location groups?](/docs/managing-sku-groups/what-are-sku-location-groups) to see what you can do on the Groups page * [Sync history](/docs/using-the-app/sync-history) to review past runs * [Insights](/docs/using-the-app/insights) to understand results in more detail # Insights (/docs/using-the-app/insights) ## What Insights is for [#what-insights-is-for] Insights helps you understand the bigger picture of your sync activity. Instead of focusing on one sync run at a time, it helps you see broader outcomes across your synced SKU groups. This is useful when you want to understand what the app reviewed, what it skipped, and what did not need any updates. It can also help explain why a sync looked quieter than expected, even when the app still checked your groups. Use Insights when you want a clearer view of overall results, reasons, and patterns over time.

Insights is designed to complement Sync history, not replace it. Sync history shows the detail of individual runs, while Insights helps explain the broader outcome behind those results.

## How Insights differs from Sync history [#how-insights-differs-from-sync-history] [Sync history](/docs/using-the-app/sync-history) is best when you want to review a specific sync run and see the exact changes that happened during that run. Insights is better when your question is more like: * Why were there fewer updates than I expected? * Why do some groups not seem to appear in history as often? * Did the app review groups even if nothing changed? * Are there recurring reasons that explain my recent sync results? In other words, Sync history helps you inspect individual activity, while Insights helps you interpret the outcome across multiple runs.

If you are trying to verify a specific stock update, start with Sync history. If you are trying to understand the overall pattern behind recent results, check Insights.

## What you can learn from Insights [#what-you-can-learn-from-insights] Insights gives you helpful summaries, reasons, and patterns that make sync activity easier to understand. ### What the app processed [#what-the-app-processed] Insights can help you see that the app reviewed groups during sync activity, even when the end result was not a visible stock change. This gives you more confidence that your groups were included in the app’s review process. ### What was skipped [#what-was-skipped] Some groups may be skipped for a reason. Seeing those reasons in one place helps you understand that the app did not ignore them randomly. Instead, there was usually a specific outcome or condition behind the result. ### What did not need a change [#what-did-not-need-a-change] One of the most useful outcomes in Insights is when a group shows a reason like **No change needed**. This means the app reviewed the group, compared the current values, and determined that no update was necessary. That matters because a quiet result does not always mean nothing happened. In many cases, it means the app checked the group and confirmed that everything was already in the correct state.

Reasons such as No change needed can help explain why a group may not stand out in history, or why a sync run looks quieter than expected. The group may still have been reviewed successfully even though there was nothing new to update.

### Patterns over time [#patterns-over-time] Insights is especially helpful when you want to move beyond one-off results and notice trends. For example, you may start to see that recent sync activity includes mostly unchanged groups, or that certain kinds of outcomes happen more often than others. This makes it easier to tell the difference between a problem and a normal result. ## When to check Insights [#when-to-check-insights] Insights is a good place to look when: * You expected more activity, but recent sync results were quiet * You want to understand whether groups were reviewed even if few changes were made * You want a clearer explanation of skipped or unchanged outcomes * You are comparing overall results across time instead of reviewing a single sync run * You want more context before digging into individual entries in [Sync history](/docs/using-the-app/sync-history) ## Why Insights is helpful [#why-insights-is-helpful] Not every successful sync produces a visible update. Sometimes the most important result is confirmation that the app checked your groups and found that nothing needed to change. Insights helps make those quieter outcomes easier to understand. By showing helpful summaries, reasons, and patterns over time, it gives you more confidence in what the app is doing behind the scenes. # Sync history (/docs/using-the-app/sync-history) ## What Sync history shows [#what-sync-history-shows] Whenever a sync makes changes, SKU Stock Sync creates a history log for that run. This gives you a clear record of what changed, where it changed, and whether anything needs your attention. Sync history helps you answer questions like: * Which sync runs made updates * Which groups were affected in each run * Which members inside those groups were updated * What the stock value was before the sync and after the sync * Whether any groups or members had issues If you want broader patterns and performance trends, see [Insights](/docs/using-the-app/insights).

When fully expanded, the Sync history view is split into three columns: sync runs on the left, groups in the middle, and members on the right.

## How to read a sync run [#how-to-read-a-sync-run] The page is designed to let you move from a high-level view into the exact items that changed. ### Select a sync run [#select-a-sync-run]

Start in the left column. Each row represents a past sync run. Click a run to load the groups that were part of that run.

### Review the groups in that run [#review-the-groups-in-that-run]

In the middle column, you will see the groups affected by the selected run. This helps you understand which sets of products or locations were involved.

### Open a group to see member updates [#open-a-group-to-see-member-updates]

Click any group to view the members updated within that group in the right column.

### Compare stock before and after [#compare-stock-before-and-after]

For each group or member update, review the quantity change shown in the history log. This lets you see the stock value before the sync and the stock value after the sync.

This layout makes it easy to trace a sync from the overall run down to the exact products or variants that changed. ### Understanding the three columns [#understanding-the-three-columns] * **Runs:** Shows each past sync run and a summary of what happened in that run. * **Groups:** Shows the groups included in the selected run. * **Members:** Shows the individual members updated in the selected group. You can resize any column by dragging its border. This is helpful when you want more room to read longer names, quantities, or result labels. ## Group and member issues [#group-and-member-issues] Most history entries simply show what was updated, but Sync history also helps you spot when something could not be updated as expected. If a group encountered an issue during a sync, an issue indicator appears beside that group. This gives you a quick signal that something in that group needs a closer look. Members can also show issues. When that happens, you will see an issue label beside the affected member. Click the issue label to open a popup with more detail about why that member was not updated. This can help you quickly understand whether the problem was caused by a missing location, stock availability, or another data condition that prevented the update.

An issue in Sync history does not always mean the entire sync failed. It may only affect one group or one member, which is why drilling into the details is useful.

## Tips for reviewing history [#tips-for-reviewing-history] * Check the before-and-after quantities to confirm exactly what changed. * Look for issue indicators beside groups and members if something did not update as expected. * Resize columns when names or result messages are cut off.

If you are investigating why an item did not change, open the relevant sync run, select the group, then click the member's issue label. The popup is the best place to find the reason that update was skipped.

## Why this page matters [#why-this-page-matters] Sync history is your audit trail for stock changes made by SKU Stock Sync. It gives you a reliable way to confirm updates, review affected groups and members, and understand exceptions without guessing. When you need confidence in what happened during a sync, this is the page to check first. # Sync status (/docs/using-the-app/sync-status) ## What Sync status means [#what-sync-status-means] The **Sync status** on the Settings page shows the app's current connection and monitoring state with your Shopify store. It gives you a quick way to confirm whether SKU Stock Sync is actively watching for inventory changes, temporarily paused, or needs attention. In most day-to-day use, if you expect inventory syncing to be active, your status should be **On**. If you have intentionally stopped syncing, it should be **Paused**. > **Note:** The Settings page is the best place to check whether the app is fully connected and monitoring your store as expected. ## The possible statuses [#the-possible-statuses] **On** means the app is fully connected to your store and actively monitoring inventory changes. * Your connection to the store is complete. * The app is ready to process inventory syncing. * This is the normal status when everything is working as expected. If you have finished setup and want the app syncing normally, this is the status you should expect to see. You can learn more about what happens after setup in [Setup complete: what happens next](/docs/setup/setup-complete-what-happens-next). **Paused** means you have temporarily paused syncing. * The app will **not** process syncs while paused. * This is expected if you intentionally stopped syncing for a period of time. * Your store is not actively being monitored for sync processing in this state. If you paused syncing on purpose, there is nothing wrong. The app will stay paused until you resume syncing. For more detail, see [Pausing inventory syncing](/docs/syncing-inventory/pausing-inventory-syncing). **Disabled** means your store does not currently have an active app plan or trial, so syncing is turned off. * The app is not able to sync inventory in this state. * This is related to billing or plan access rather than a temporary connection issue. * Until the store has an active plan or trial, syncing will remain disabled. If you expected syncing to be active and see **Disabled**, check whether your app plan or trial is still active. **Not connected** means the app is not fully connected to your store. * The connection may be missing or only partially completed. * You may see a refresh button beside the status label. * That refresh button lets you retry the app's connection to the store. If you see **Not connected**, try using the refresh button beside the label first. If the connection succeeds, the status should update. ## What you should expect [#what-you-should-expect] * **If you want normal syncing:** the status should be **On**. * **If you intentionally stopped syncing:** the status should be **Paused**. * **If your plan or trial is inactive:** you may see **Disabled**. * **If the app is not fully connected:** you may see **Not connected**, and you can retry with the refresh button. # Testing the app (/docs/setup/Testing-the-app) After setup is complete, the best way to build confidence is to test a small sync in a safe, controlled way. For most new users, the recommended option is **My First Sync**. It guides you through creating or using a small test group, making an inventory change, and reviewing the result in History. If you prefer, you can also test the app manually with your own shared-SKU variants. Before you begin, make sure you have already completed [Quick setup](/docs/start-here/quick-setup). ## Recommended option: My First Sync [#recommended-option-my-first-sync] **My First Sync** is the easiest way to confirm the app is working after setup. It is designed to help you reach your first successful sync with less guesswork. > **Info:** My First Sync can help you create a safe test scenario, guide you through the steps, and point you back to History so you can review the result. 1. **Open My First Sync**: After setup is complete, open **My First Sync** from the app. 2. **Create or use test products**: You can use the guide to create safe test products, or use your own small shared-SKU group if you already have one. 3. **Change inventory**: Make one small inventory change to one variant in the group. 4. **Run or wait for the sync**: SKU Stock Sync will detect the change and prepare the sync. Depending on your setup, you can let the app process it normally or run a manual sync from the Groups page if you want to check sooner. 5. **Review the result in History**: After the sync runs, History will show what was checked, updated, or skipped. ## Before you test manually [#before-you-test-manually] If you want to test the app with your own products instead of using My First Sync, make sure the variants you choose: * Share the exact same SKU * Are stocked at the same Shopify location * Are variants you intentionally want to sync together If you want a quick refresher on the matching rule, see [What are SKU/location groups?](/docs/managing-sku-groups/what-are-sku-location-groups) > **Warning:** Use a small test group and make only a minor inventory change. This test is meant to confirm the app is working, not to rework live inventory in bulk. ## How to test the app manually [#how-to-test-the-app-manually] 1. **Pick one small shared-SKU group**: Choose a small group of variants that are supposed to stay aligned because they share one SKU. For a clean test, pick variants stocked at the same Shopify location and avoid using a large product group. The most important condition is that the SKU matches exactly and the location matches too. 2. **Make one small inventory change to one variant**: Choose just one variant in the group and make a small inventory adjustment in Shopify, such as increasing or decreasing the quantity by 1. Only change one variant for this test. That makes it much easier to confirm that the matching variants updated because of the sync. 3. **Let the app sync it, or run a manual sync if you want to check sooner**: After you make the change, you can let SKU Stock Sync process it as part of normal syncing. If you want to confirm the result sooner during testing, you can also run a manual sync from the **Groups page**. See [Manual syncing](/docs/syncing-inventory/manual-syncing) if you want to use that option. 4. **Confirm the other matching variants updated**: Check the other variants in the same shared-SKU group and confirm their quantities now match as expected. You can also review the result in History to see what the app checked, updated, or skipped. ## What a successful test looks like [#what-a-successful-test-looks-like] * You changed only one variant * The other variants with the same SKU at the same location updated to match * History shows a sync result for the change > **Tip:** If your first test works, that is usually the clearest sign that SKU Stock Sync is set up correctly. ## If the quantities did not update [#if-the-quantities-did-not-update] If the matching variants did not change as expected, check these pages next: * [Inventory did not sync](/docs/troubleshooting/inventory-did-not-sync): Work through the most common reasons a shared-SKU sync does not happen. * [Another app is changing inventory](/docs/troubleshooting/another-app-is-changing-inventory): See how other apps can interfere with inventory changes and make test results look inconsistent. # Setup complete: what happens next (/docs/setup/setup-complete-what-happens-next) ## You're set up and ready [#youre-set-up-and-ready] Once setup is complete, SKU Stock Sync moves from setup mode into normal monitoring. That means the app is now watching for inventory changes and is ready to sync affected SKU/location groups when matching items change. You do not need to manually build mappings as part of setup. The app organizes matching SKU/location groups automatically, based on the shared SKUs and locations it finds. From this point on, the app is ready to respond to changes in those matching groups according to its normal syncing behavior. > **Info:** Setup completion does **not** trigger a full store-wide inventory sync. Instead, it means the app is now ready to watch for inventory changes and sync the affected groups when changes happen. ## What changes after setup [#what-changes-after-setup] After setup finishes, the app begins monitoring your store inventory in the background. If inventory changes for a product that belongs to a matching SKU/location group, SKU Stock Sync can act on that group based on how syncing works in the app. This is different from an immediate one-time sync of everything in your store. The app is not going product by product across your entire catalog at the moment setup completes. Instead, it is standing by and ready to keep matching groups in sync as inventory updates occur. ### Automatic group organization [#automatic-group-organization] During and after setup, the app identifies products that share the same SKU and organizes them into matching groups by SKU and location. This is why you are not asked to manually create mappings just to finish setup. See [Creating / updating groups](/docs/managing-sku-groups/creating-updating-groups) for more info. ## What you should expect now [#what-you-should-expect-now] * **Monitoring is active:** the app is now watching for inventory changes in matching SKU/location groups. * **Syncs happen when relevant inventory changes occur:** only affected groups are involved as part of the app's normal behavior. * **You can review the results:** you can check your groups and sync activity to confirm everything looks right. ## If you want to check activity [#if-you-want-to-check-activity] If you want reassurance that things are working as expected, check the app's status and recent sync activity. This can help you confirm that the app is active and responding normally. * [View sync result](/docs/using-the-app/sync-history) * [View sync insights](/docs/using-the-app/insights) * [View sync status](/docs/using-the-app/sync-status) (on the Settings page) ## In short [#in-short] Setup complete means SKU Stock Sync is now monitoring inventory and ready to respond to changes for matching SKU/location groups. It does not mean the app is performing a full store-wide sync at that exact moment. Your best next step is to run a small shared-SKU test, and get familiar with how syncing works in normal use.