# Fix customers or products that won't sync

URL: https://docs.sparklayer.io/help/guides/fix-sync-problems

Find products and B2B customers that haven't reached SparkLayer, fix missing SKUs, incomplete addresses and tag errors in your store, then check they sync.

> **Quick summary**
>
> - You'll end up with every product and B2B customer synced to SparkLayer, so buyers see their prices when they sign in.
> - Allow about 15 minutes, plus the time to fix the records in your store.
> - Sync is on every plan and platform. Product sync is at **Integrations > Product sync** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/integrations/products-sync)), or **SparkLayer Wholesale > Integrations > Product sync** in the Shopify app, and customer sync errors show as a banner at **Customers** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/customers/list)), or **SparkLayer Wholesale > Customers** in the Shopify app.

SparkLayer keeps a copy of your products, and of customers tagged `b2b`, from your store. A product or customer that doesn't sync can't get B2B prices. The fix is almost always in your store: a missing SKU, a draft product or an incomplete address. See [How sync works](https://docs.sparklayer.io/help/integrations/data-sync.md#how-sync-works).

## Before you start

- **The product's SKU, or the customer's email**, for anything you know is missing.
- **Access to edit products and customers** in your store admin.

## Fix products

### Step 1. Check product sync

Go to **Integrations > Product sync** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/integrations/products-sync)), or **SparkLayer Wholesale > Integrations > Product sync** in the Shopify app. When everything is working, the banner reads **Products are up to date**. See [Check your products are syncing](https://docs.sparklayer.io/help/integrations/data-sync.md#check-your-products-are-syncing).

### Step 2. Look up the missing product

In **Product data lookup**, search by name, SKU, barcode or ID. If it says **No products found**, SparkLayer doesn't have it. See [Look up a product's data](https://docs.sparklayer.io/help/integrations/data-sync.md#look-up-a-products-data).

If the banner shows errors instead of **Products are up to date**, the rest of your products still sync, but fix the errors:

| Error message | Fix |
| --- | --- |
| **Check SKUs are assigned to all variants in Shopify** | The product, or one of its variants, has no SKU. Add one in the product's **Inventory** section. SparkLayer only imports products with a SKU on every variant. |

### Step 3. Fix the product in your store

**Shopify only:**

In your Shopify admin, check the product:

- Has a unique SKU on every variant, in the **Inventory** section
- Is **Active**, not **Draft**
- Is included in the **SparkLayer Wholesale** sales channel

See "Do my products need SKUs?" in [Shopify FAQs](https://docs.sparklayer.io/help/platforms/shopify/faqs.md#products).

**BigCommerce and Wix and WooCommerce and Magento only:**

In your platform's admin, check the product has a unique SKU on every variant and is active. See your platform's guide in [Platforms](https://docs.sparklayer.io/help/platforms.md).

Then click **Sync products now** at **Integrations > Product sync** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/integrations/products-sync)), or **SparkLayer Wholesale > Integrations > Product sync** in the Shopify app. It usually takes a few minutes.

## Fix customers

### Step 1. Check customer sync

Go to **Customers** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/customers/list)), or **SparkLayer Wholesale > Customers** in the Shopify app. If some customers didn't sync, a banner such as **Customers sync completed with 3 errors** shows at the top. Click **Show errors** to see each customer and the problem. See [Fix customer sync errors](https://docs.sparklayer.io/help/integrations/data-sync.md#fix-customer-sync-errors). [Take the 1-minute tour](https://docs.sparklayer.io/help/customers/managing-customers?tour).

### Step 2. Fix each customer in your store

**Shopify only:**

Click **Open customers in Shopify** and fix each record:

| Error message | Fix |
| --- | --- |
| **Missing a default shipping address** | Add a default shipping address, with a country, first line, city and postcode or ZIP code. |
| **Address - The Country assigned is incomplete or invalid**, **Address - The City is missing and is a required field**, **Address - The address needs a first line added (Line 1)** or **Address - the Post/Zip code is invalid and is a required field** | Add the missing country, city, first line or postcode or ZIP code. This applies to every address in the customer's address book, including second and older addresses: an incomplete second address causes an error even when the default is complete. Complete it or delete it. |
| **Tagged b2b-trade but no first or last name**, or the same message with another group tag | Add the customer's first and last name. |
| **Invalid customer group**, such as `{"code":"resource-id-not-found","message":"Invalid customer group "tier-1"."}` | The customer has a tag, such as `b2b-tier-1`, that doesn't match any group at **Customers > Groups** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/customers/groups)), or **SparkLayer Wholesale > Customers > Customer groups** in the Shopify app, for example because the group was deleted. Fix the tag, or create the group. |
| Not in the list at all | Add the `b2b` tag. Only customers tagged `b2b` sync. |

If a customer still won't sync, check whether their email address changed recently. It shouldn't cause problems, but it sometimes affects syncing.

**Customers with a sales agent groups metafield**

Older setups used a **sales agent groups** metafield (`sparklayer.sales_agent_groups`) on each customer. If customers with it don't sync, check the metafield's definition in **Settings > Custom data** ([open in the Shopify admin](https://admin.shopify.com/settings/custom_data)) is set to **Limit to preset choices**. See [Set up the sales agent groups metafield](https://docs.sparklayer.io/help/platforms/shopify/metafields.md#set-up-the-sales-agent-groups-metafield).

**BigCommerce and Wix and WooCommerce and Magento only:**

Fix each customer in your platform's admin. Check they're marked as B2B for your platform and have a complete address. On Wix, they must also be a **Site Member**. See [Assign customers to a customer group](https://docs.sparklayer.io/help/customers/add-customers-to-a-group.md#assign-customers-to-a-customer-group).

### Step 3. Wait for the next sync

Fixed customers sync on the next partial sync. You don't need to start it yourself. If a customer still hasn't synced after you've fixed them, [contact support](https://docs.sparklayer.io/help/support.md).

## Check it worked

- **Product sync** shows **Products are up to date**, and **Product data lookup** finds the product.
- **The customer appears at** **Customers** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/customers/list)), or **SparkLayer Wholesale > Customers** in the Shopify app, with the right customer group in the **Group** column.
- **The customer signs in** and sees B2B prices on the product.

## If something's not right

- **Product data lookup says "No products found".** See [Product data lookup says "No products found"](https://docs.sparklayer.io/help/troubleshooting.md#the-product-data-sync-says-this-product-cannot-be-found).
- **A customer isn't in the Customers list.** See [A customer isn't in the Customers list](https://docs.sparklayer.io/help/troubleshooting.md#the-customer-data-sync-says-this-customer-id-cannot-be-found).
- **You can't choose a pricing source for an automatic price list.** SparkLayer can't find SKUs on your store. See [You can't choose a source for an automatic price list](https://docs.sparklayer.io/help/troubleshooting.md#you-cant-choose-a-source-for-an-automatic-price-list).
- **The customer synced but sees no B2B prices.** See [Customers can't see B2B prices](https://docs.sparklayer.io/help/troubleshooting.md#customers-cant-see-b2b-prices-or-products-say-unavailable).

## Next steps

- [Move your existing wholesale customers](https://docs.sparklayer.io/help/guides/move-existing-customers.md): Tag customers in bulk and import their order history
- [Set up wholesale prices](https://docs.sparklayer.io/help/guides/set-up-wholesale-prices.md): Give synced products their B2B prices
- [Troubleshooting](https://docs.sparklayer.io/help/troubleshooting.md): Every symptom, with the checks to fix it
