# Shopify FAQs

URL: https://docs.sparklayer.io/help/platforms/shopify/faqs
Applies to: Shopify

Answers to common Shopify questions: plans, Shopify B2B, themes, customers who see retail prices, products, payments, draft orders and checkout errors.

## Setup and plans

**Where do I find SparkLayer in my Shopify admin?**

Under **Sales channels**, click **SparkLayer Wholesale**. It opens on **Home**, and the menu items below it open each area, such as **Setup**, **Pricing** and **Customers**. See [How it works](https://docs.sparklayer.io/help/platforms/shopify.md#how-it-works). The same screens are in the SparkLayer Dashboard at [app.sparklayer.io](https://app.sparklayer.io/), which also has **Forms** and **Data tables**.

**What's the quickest way to set SparkLayer up?**

Work through the steps at **Home > Setup** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/)), or **SparkLayer Wholesale > Setup** in the Shopify app: a price list, a customer group, your first buyer and your theme. Most stores finish in under 15 minutes. See [Install SparkLayer on Shopify](https://docs.sparklayer.io/help/platforms/shopify/install.md).

**Which Shopify plan do I need to use SparkLayer?**

Any plan. SparkLayer works on every Shopify plan, from Shopify Basic to Shopify Plus, with customer accounts turned on so your B2B customers can sign in. Your Shopify plan is separate from your SparkLayer plan: see the next question.

**Which SparkLayer plan do I need, and can I try it on a development store?**

Any of them. The free **Basic** plan, only on Shopify, includes 3 price lists and 5 B2B orders a month, with no sales agents. The paid plans (Starter, Growth, Pro and Enterprise) add unlimited price lists, more orders, sales agents and more features, each with a 14-day free trial. You're billed through Shopify. See [Plans and features](https://docs.sparklayer.io/help/plans-and-features.md).

On a development store, such as a test account, we can turn on a developer mode, so you can use SparkLayer before you choose a plan. [Contact us](https://docs.sparklayer.io/help/support.md) to set it up.

**How does SparkLayer compare to Shopify B2B?**

Shopify's native B2B features, such as companies, catalogs and payment terms, are on every Shopify plan, but what they can do depends on your Shopify plan: check Shopify's [B2B guide](https://help.shopify.com/en/manual/b2b). For a few wholesale accounts on simple terms, that may be enough. SparkLayer adds, on any Shopify plan:

- **Pricing**: price lists assigned to customer groups (3 on Basic, unlimited on paid plans), prices for one customer and quantity pricing.
- **Sales team ordering**: sales agents order on your store at each customer's prices, from the Starter plan.
- **B2B ordering**: CSV upload to the cart, shopping lists and quick reordering on every plan, plus AI file upload, discounts, SparkLayer Invoices and quotes on higher plans. See [Plans and features](https://docs.sparklayer.io/help/plans-and-features.md).
- **Your own theme**: B2B ordering on your existing Shopify theme.

SparkLayer works alongside Shopify Companies, but SparkLayer and Shopify's native B2B checkout can't run side by side for the same customer: the ordering experience is one or the other. Using Shopify Companies may mean extra transaction costs from Shopify, so check with Shopify Support.

For a full comparison, read [SparkLayer vs Shopify B2B: what you need to know](https://sparklayer.io/blog/2026/04/03/shopify-b2b-all-plans/).

**Can I run retail (DTC) and B2B on the same Shopify store?**

Yes. Install SparkLayer on your existing retail store and run both from one store, a hybrid setup. Signed-in B2B customers see SparkLayer's [frontend interfaces](https://docs.sparklayer.io/help/storefront.md) with their prices and B2B ordering; retail customers see your store as it is. To see it working, [try our demo](https://docs.sparklayer.io/help/get-started/demo.md).

Retail and B2B then share one stock pool, apps and reporting, so sometimes a separate B2B store works better: see [One store or a separate B2B store](https://docs.sparklayer.io/help/platforms/shopify/customisations/store-setup.md).

**Which version of Shopify customer accounts does SparkLayer work with?**

Both. Shopify has two versions of customer accounts:

- **Legacy** (formerly "classic"): customers sign in with an email and password. Most Shopify stores use this. It works with third-party apps, and you can customise how it looks.
- **Customer accounts** (new): customers sign in without a password, using a one-time code, and the account area is Shopify's own, much like the checkout.

New customer accounts need a small extra step: turning on the **B2B Account Redirect**. See [Choose your customer accounts version](https://docs.sparklayer.io/help/platforms/shopify/install.md#choose-your-customer-accounts-version).

**Does SparkLayer support Shopify Companies?**

Yes, and they're optional. SparkLayer links its draft orders to the buyer's Shopify company, contact and location, so orders show under the company in your Shopify admin, and customers at a company location can use its vaulted cards. Prices, payment methods and order rules still come from SparkLayer, not from Shopify catalogs or payment terms. See [Shopify Companies](https://docs.sparklayer.io/help/platforms/shopify/companies.md).

**How do I cancel, downgrade or uninstall SparkLayer?**

- **To stop paying but keep your setup**, move to the free **Basic** plan at **Plan card** in the SparkLayer Dashboard, or **SparkLayer Wholesale > Plan** in the Shopify app, without uninstalling.
- **To cancel**, uninstall **SparkLayer Wholesale** at **Settings > Apps and sales channels** ([open in the Shopify admin](https://admin.shopify.com/settings/apps)). Billing stops straight away.

Treat uninstalling as deleting your SparkLayer data. Export what you need first, such as your price lists, and [contact us](https://docs.sparklayer.io/help/support.md) before you uninstall if you might reinstall or move to another store. Billing and refunds go through Shopify. See [Billing, trials and cancelling](https://docs.sparklayer.io/help/dashboard/billing.md) and [Cancel, uninstall or transfer SparkLayer](https://docs.sparklayer.io/help/platforms/shopify/uninstall.md).

**What is the B2B Ordering pixel in my Shopify customer events?**

It tells SparkLayer when a customer has paid by card through the Shopify checkout. SparkLayer needs to know the order is complete, so it can clear their cart and let them place more orders. The **B2B Ordering** pixel is added automatically when you install SparkLayer, so you don't usually need to do anything. 

To check it's there:

1. In your Shopify admin, go to **Settings > Customer events** ([open in the Shopify admin](https://admin.shopify.com/settings/customer_events)).
2. On the **App pixels** tab, look for **B2B Ordering**. Its status should be **Connected**.

If it's missing, reconnect your store: go to **Integrations > Platform** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/integrations/platform)), or **SparkLayer Wholesale > Integrations > Platform** in the Shopify app and save the page. This turns the pixel on.

**Can I delete old SparkLayer scripts from Additional Scripts?**

Yes, once the B2B Ordering pixel is connected. Older installs added SparkLayer code (a thank-you page script or order status script) through **Additional Scripts** in Shopify's checkout settings. The pixel in Shopify's customer events now does that job, so the old scripts aren't needed.

1. Check the **B2B Ordering** pixel shows **Connected** in **Settings > Customer events** ([open in the Shopify admin](https://admin.shopify.com/settings/customer_events)), as described in the question above.
2. Go to **Settings > Checkout** ([open in the Shopify admin](https://admin.shopify.com/settings/checkout)) and find **Additional Scripts**.
3. Delete any old SparkLayer checkout or thank-you page scripts, then save.

## Theme and storefront

**Can you install SparkLayer on my Shopify store for me?**

Yes, free of charge, on every plan. Click **Something not right? Install SparkLayer for me** on **Home > Setup > Theme setup** in the SparkLayer Dashboard, or **SparkLayer Wholesale > Setup > Theme setup** in the Shopify app, or **Request installation** at **Storefront > Widgets** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/frontend/core)), or **SparkLayer Wholesale > Storefront > Widgets** in the Shopify app. We'll be in touch, usually within a working day. On a paid plan, we'll also offer an onboarding session to walk you through how everything works. Theme customisation, such as restyling the widgets or page builder pages, isn't included. See [Ask our team to install it](https://docs.sparklayer.io/help/platforms/shopify/theme-setup.md#get-our-team-to-install-it).

**Does SparkLayer work with any Shopify theme or page builder?**

It works with every Shopify theme, including Online Store 2.0 and heavily customised themes. On [supported themes](https://docs.sparklayer.io/help/platforms/shopify/install.md#automatic-install-on-supported-themes), such as Dawn and Horizon, it adds the product page and product card interfaces automatically. You can also start with our [B2B Dawn theme](https://docs.sparklayer.io/help/platforms/shopify/dawn-theme.md).

Two set-ups need checking:

- **Page builder apps**, such as PageFly or Shogun. Their pages use their own layout, so they may not include SparkLayer's widgets, and B2B customers can see retail prices and **Add to cart** buttons there.
- **A theme copied from another store.** It can carry that store's SparkLayer code. Remove it and set SparkLayer up again on the copy.

See [Page builders and copied themes](https://docs.sparklayer.io/help/storefront/what-you-can-change.md#page-builders-and-copied-themes), and tell us about either when you request installation.

**How do I check SparkLayer is on my theme, for example after a theme update?**

Go to **Home > Setup > Theme setup** in the SparkLayer Dashboard, or **SparkLayer Wholesale > Setup > Theme setup** in the Shopify app. It shows your theme's status and each SparkLayer app block: the required **SparkLayer** and **B2B Account Redirect** blocks, and the optional **Product block** and **Product card block**. Turn a missing block on with **Edit** or **Add**, which opens Shopify's theme editor at that block, or click **Something not right? Install SparkLayer for me**. See [Theme setup](https://docs.sparklayer.io/help/platforms/shopify/theme-setup.md).

After you update or change your theme, check again: choose the new theme under **Select theme** on **Home > Setup** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/)), or **SparkLayer Wholesale > Setup** in the Shopify app first. App blocks aren't always carried across, and a theme update can remove SparkLayer code added to your theme files. SparkLayer only shows to signed-in B2B customers, so to see it on your store, use [Try it out](https://docs.sparklayer.io/help/get-started/launching.md#place-a-test-order).

If SparkLayer's styles stop working after you publish a theme, it may be loaded twice: see [Styles stop working after you publish a theme](https://docs.sparklayer.io/help/troubleshooting.md#styles-stop-working-after-publishing).

**Will SparkLayer change my store for retail customers, or slow it down?**

No. SparkLayer's widgets, including B2B pricing, the cart and the account area, only load when a B2B customer (tagged `b2b`) signs in. Retail shoppers and signed-out visitors see your store as it is, and no SparkLayer code loads for them. For B2B customers, the widgets load asynchronously, so the effect on page load times is negligible.

**Does SparkLayer work with my theme's variant image switcher?**

Not out of the box. SparkLayer's widgets replace your theme's product buying area for B2B customers, and load your variants, SKUs and product data themselves. Many themes change the main product image when a customer picks a variant, using custom JavaScript written for that theme. SparkLayer's widgets don't trigger it, so the image doesn't change for signed-in B2B customers.

A Shopify developer can connect the two for your theme using the [JavaScript SDK](https://docs.sparklayer.io/developers/javascript-sdk/products-and-pricing.md#update-the-product-image-when-a-variant-is-selected).

**What if I already use a wholesale app on my store?**

SparkLayer can run alongside it, so you can test SparkLayer first. When you're happy, uninstall your previous B2B app. If that app changed your theme code, you can ask its developer to remove the changes, but you don't have to. See [Move your existing wholesale customers onto SparkLayer](https://docs.sparklayer.io/help/guides/move-existing-customers.md).

**How do I set up a B2B registration form?**

We recommend one of these 2 options:

- **SparkLayer Forms (recommended)**: our built-in, no-code form builder. Start with the ready-made **Customer Registration Form** template, which includes approval workflows, automatic customer tagging and email notifications, with no third-party app needed. Forms are in the SparkLayer Dashboard at **Forms** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/forms)), not in the Shopify app. See [SparkLayer Forms](https://docs.sparklayer.io/help/forms.md).
- **B2B login and registration page**: a free, ready-made template that adds a B2B login and registration page to your store (for example `yourstore.com/pages/b2b-login`). It has a login form for existing customers and an application form for new ones, and you can customise it in the Shopify theme editor. Our team can install it for you free of charge. See [Shopify B2B registration and login](https://docs.sparklayer.io/help/platforms/shopify/customisations/registration-and-login.md).

You can also add customers by hand in your Shopify admin under **Customers**.

**How do I stop my Shopify prices showing in Google search results?**

Google indexes most Shopify stores, so your Shopify (retail) prices may appear in its search results. This is standard Shopify behaviour, not something SparkLayer controls.

To stop it, you need to customise your Shopify store itself. Shopify Support can advise, and there are [Shopify community articles](https://community.shopify.com/c/forums/searchpage/tab/message?advanced=false\&allow_punctuation=false\&filter=location\&location=category:en\&q=hide%20prices%20from%20google) on the topic. Changes like this can affect your search rankings, so speak to a Shopify expert first.

## Customers

**How do I make a Shopify customer a B2B customer?**

Add the tag `b2b` to their customer record in Shopify. To put them in a [customer group](https://docs.sparklayer.io/help/customers/customer-groups.md) other than Base, add that group's tag as well, for example `b2b-vip`. Use no more than 2 B2B tags, and make sure they have at least one complete address. You can tag many customers at once from Shopify's customer list.

To let a new customer know they can sign in: with Legacy customer accounts, click **Send account invite** on their Shopify record; with new customer accounts, send them a link to your store's sign-in page. See [Add B2B customers on Shopify](https://docs.sparklayer.io/help/platforms/shopify/invite-customers.md). To change the invitation email, see [Shopify email notifications](https://docs.sparklayer.io/help/platforms/shopify/customisations/email-notifications.md#b2b-customer-account-invite-email).

**Why does a B2B customer see retail prices, or can't sign in?**

Check these in order:

1. **Their tags**: `b2b`, plus a group tag with the `b2b-` prefix that matches a 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, and no more than 2 B2B tags.
2. **Their addresses**: every saved address needs a country, first line, city and postcode or ZIP code.
3. **The email they sign in with**: with new customer accounts, a different or mistyped email creates a separate retail account without the `b2b` tag.
4. **An old session**: try a private (incognito) window.
5. **Your theme**: SparkLayer must be on your published theme, not only a copy.

See [A B2B customer can't sign in or sees retail prices](https://docs.sparklayer.io/help/troubleshooting.md#b2b-customer-cant-sign-in-or-sees-retail-prices) for every check.

**Can my sales reps order for customers, including in Shopify POS?**

Yes, on your online store. Make them a sales agent at **Customers > Agents** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/v2/customers/agents)), or **SparkLayer Wholesale > Sales agents** in the Shopify app, from the Starter plan. They sign in on your store, choose a customer and order at that customer's B2B prices. See [Sales rep setup](https://docs.sparklayer.io/help/sales-reps.md) and [Order for a customer](https://docs.sparklayer.io/help/sales-ordering/order-for-a-customer.md).

Our guides don't cover Shopify POS, so [contact us](https://docs.sparklayer.io/help/support.md) before you plan around it.

## Products

**Why does a product show "Unavailable" or no B2B price?**

Usually the product hasn't reached SparkLayer, or the customer's price list has no price for it. Check the product:

- Has a **unique SKU** on every variant.
- Is **Active** in Shopify, not Draft.
- Is published to the **SparkLayer Wholesale** sales channel.
- Has a **price for that SKU** in a price list on the customer's group. If you uploaded a CSV, the SKUs must match Shopify exactly.

See [Customers can't see B2B prices, or products say "Unavailable"](https://docs.sparklayer.io/help/troubleshooting.md#customers-cant-see-b2b-prices-or-products-say-unavailable) and [Why a product shows Unavailable](https://docs.sparklayer.io/help/pricing/managing-pricing.md#unavailable).

**Do my products need SKUs?**

Yes. SparkLayer uses SKUs to show the right B2B price when a customer signs in, so every product variant needs a SKU in Shopify, and each SKU must be unique.

If your products don't have SKUs yet, you can add them by editing each product, or in bulk with Shopify's import or bulk edit tools.

**How do I hide products or set up B2B-only products?**

Use [B2B Catalogs](https://apps.shopify.com/sparklayer-b2b-catalogs), a free SparkLayer app that controls which products each type of customer can see on your Shopify store. You can hide products from retail customers, make products B2B-only, or show different ranges to different customer groups, all with tags and no code.

Install B2B Catalogs from the Shopify App Store, then follow the [B2B Catalogs documentation](https://docs.sparklayer.io/help/storefront/b2b-catalogs.md) to set it up. To hide variants from particular customer groups, see [Product settings](https://docs.sparklayer.io/help/storefront/product-settings.md#what-hides-what).

**Can I hide one variant of a product from retail customers?**

No. Shopify can't hide a single variant from retail shoppers, and SparkLayer's variant settings only apply to signed-in B2B customers. To keep one variant for B2B customers only, such as a 12-pack case, make it a separate product and tag it `b2b-only` with B2B Catalogs. See [What hides what](https://docs.sparklayer.io/help/storefront/product-settings.md#what-hides-what).

**Can I base my B2B prices on my Shopify prices?**

Yes. An automatic price list calculates B2B prices from your Shopify prices, for example 20% off your Shopify price or your compare-at price. If your Shopify prices include tax, set a percentage that takes the tax out too, because SparkLayer shows prices net. See [Managing pricing](https://docs.sparklayer.io/help/pricing/managing-pricing.md) and [Tax-inclusive prices](https://docs.sparklayer.io/help/pricing/managing-pricing.md#tax-inclusive-prices).

**Do bundles from other apps get B2B prices?**

Only if the bundle is a regular Shopify product with its own unique SKU. SparkLayer matches B2B prices to products by SKU, so it treats a bundle (or kit) like any other product.

Shopify's own Bundles app isn't supported. Shopify doesn't let you publish its bundle products to the SparkLayer Wholesale sales channel, so SparkLayer never receives them, and B2B customers get no price or buy buttons for them.

Bundle apps that create a regular product with its own SKU do work. Our support team has seen merchants use Fast Bundle and Simple Bundles & Kits (which has a free tier). Whichever app you use, check that the bundle product:

- Has its **own unique SKU**.
- Is **Active**, not Draft. Draft products don't sync to SparkLayer.
- Is published to the **SparkLayer Wholesale** sales channel.
- Has a **price for that SKU** in the customer's price list.

Also check the app builds bundles from your existing Shopify products and adjusts their stock when a bundle sells. To keep a B2B bundle away from retail shoppers, tag it `b2b-only` with [B2B Catalogs](https://docs.sparklayer.io/help/storefront/b2b-catalogs.md).

**How do I set up pre-order and back-order products?**

In Shopify, open the product or variant, tick **Track quantity** and **Continue selling when out of stock**, and set the available quantity to 0 or less. B2B customers then see a pre-order message, and you can show a restock date. "Continue selling when out of stock" applies to retail customers too, so to keep pre-orders for B2B customers only, make them separate B2B-only products. See [Allow pre-orders and back-orders](https://docs.sparklayer.io/help/storefront/stock-display.md#allow-pre-orders-and-back-orders).

**How do I keep B2B customers from using my retail stock (and the other way round)?**

If you run retail and B2B on one store, both use the same stock pool. SparkLayer can reserve stock for your retail customers, so B2B customers can't order too much of a product. See [Reserve stock for retail customers](https://docs.sparklayer.io/help/storefront/stock-display.md#reserving-stock).

You can't stop retail customers ordering from your stock, because Shopify has no way to do this. If you need to, consider:

- Creating B2B-only products on your store. See [B2B-only content](https://docs.sparklayer.io/help/platforms/shopify/customisations/b2b-only-content.md).
- Creating a separate store just for B2B customers, so your stock is completely separate. See [One store or a separate B2B store](https://docs.sparklayer.io/help/platforms/shopify/customisations/store-setup.md).

**What doesn't SparkLayer support on Shopify?**

The limits most stores meet are:

- **Shopify discounts** can't be used alongside SparkLayer. Use SparkLayer's own discounts instead.
- **Carts hold up to 350 line items** by default. Our [support team](https://docs.sparklayer.io/help/support.md) can raise this to 500.
- **Tax-inclusive prices, duties and orders that mix taxable and tax-exempt products** need a workaround, often a separate B2B store.
- **Product options added by other apps**, such as a text-entry field, don't show in SparkLayer's widgets. A developer can add them with the JavaScript SDK.
- **Subscriptions** from subscription apps aren't supported in SparkLayer's B2B cart. 

See [Shopify limitations](https://docs.sparklayer.io/help/platforms/shopify/limitations.md) for each one and its workaround.

## Payments

**How do B2B payments work with SparkLayer and Shopify?**

You choose the B2B payment methods for each [customer group](https://docs.sparklayer.io/help/customers/customer-groups.md#choose-payment-methods). Card payments go through the Shopify checkout and arrive as paid orders. Pay on Account and Pay by Invoice orders arrive as draft orders for you to complete. The diagram shows how they work with Shopify. See [Payment methods](https://docs.sparklayer.io/help/ordering/payment-methods.md) and [Shopify payment methods](https://docs.sparklayer.io/help/platforms/shopify/customisations/payment-methods.md).

How B2B payment methods work with SparkLayer and Shopify, starting from the B2B checkout (SparkLayer):

- **Pay online by card (upfront):**
  - If it's a **sales agent order**, an email is sent to the customer to complete payment. The customer clicks the link, pays in the **Shopify checkout** and the order is completed in Shopify.
  - Otherwise the customer pays in the **Shopify checkout** and the order is completed in Shopify.
- **Payment on account or by invoice:** the order is completed in SparkLayer ("Order completed (SparkLayer)").
  - If **auto-complete draft orders** is on, a completed order is created in Shopify.
  - If it's off, a draft order is created in Shopify, which becomes a completed order once it's manually marked as complete.

**Can customers use my existing Shopify payment methods?**

Yes, when they choose **Pay Online by Card** in the SparkLayer checkout. This takes them to the Shopify checkout, where the payment methods you've set up in Shopify are available, such as PayPal, Shop Pay or a manual method like bank transfer. Shopify gift cards also only work this way. Each order has one payment method, so a customer can't split an order between, say, card and on account. See [Which payment methods work with the SparkLayer checkout?](https://docs.sparklayer.io/help/ordering/payment-methods.md#which-payment-methods-work-with-the-sparklayer-checkout)

To show B2B customers only some of these methods, see [Hide payment methods in the checkout](https://docs.sparklayer.io/help/platforms/shopify/customisations/payment-methods.md#hide-payment-methods-in-the-checkout).

**Why does my customer see "Pay now" on a Pay on Account order?**

It comes from Shopify, not SparkLayer. Pay on Account orders arrive in Shopify as draft orders with **Payment due later** and payment terms filled in. Once the order is completed, Shopify treats it as an order with a balance to pay, and can show a **Pay now** button on the order status page. Your customer doesn't have to use it: they can pay on their agreed terms. See [Set net payment terms](https://docs.sparklayer.io/help/ordering/credit-net-terms-and-invoicing.md#set-net-payment-terms).

**Do Shopify vaulted credit cards work with SparkLayer?**

Yes, if you use Shopify Payments and the customer is a contact of a Shopify company (at **Customers > Companies** ([open in the Shopify admin](https://admin.shopify.com/companies))). A card saved by anyone at a company location, at checkout or in their customer account, can be used by every customer at that location. There's nothing to set up in SparkLayer.

- **Pay Online by Card**: the saved cards appear in the Shopify checkout.
- **Pay by Invoice or Pay on Account**: you can charge a saved card on the draft order from your Shopify admin, with **Collect payment**.

See [Use vaulted credit cards](https://docs.sparklayer.io/help/platforms/shopify/companies.md#use-vaulted-credit-cards).

**Can I add a charge to a B2B order based on the payment method?**

Not directly. For example, SparkLayer can't add 2% when a customer pays by credit card.

One workaround is to let the customer order with an offline payment method, such as Pay by Invoice:

1. When the order arrives in Shopify as a draft order, adjust the total.
2. On the draft order, click **Collect payment** and enter the customer's card details to take the payment.

## Orders

**Where do I find B2B orders in Shopify?**

Orders paid by card are regular Shopify orders. Orders paid with other methods (such as Pay by Invoice or Pay on Account) are saved as **draft orders**, and so is a card order the customer didn't finish paying for:

- Find them in your Shopify admin at **Orders > Drafts** ([open in the Shopify admin](https://admin.shopify.com/draft_orders)).
- To ask the customer to pay online, open the draft and click **Send invoice**. See [Send an invoice from a draft order](https://docs.sparklayer.io/help/platforms/shopify/customisations/payment-methods.md#send-an-invoice-from-a-draft-order), or for automatic PDF invoices, [SparkLayer Invoices](https://docs.sparklayer.io/help/ordering/invoices.md) (Growth plan and above).
- To turn a draft into a completed order, mark it as paid or add payment terms. See Shopify's guide to [accepting payment](https://help.shopify.com/en/manual/orders/create-orders#accept-payment).
- To complete draft orders automatically, turn on **Auto-complete draft orders** at **Integrations > Platform > Shopify order actions** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/integrations/platform)), or **SparkLayer Wholesale > Integrations > Platform > Shopify order actions** in the Shopify app.

See [Process orders in Shopify](https://docs.sparklayer.io/help/guides/process-orders-in-shopify.md).

**Why does an order show "Awaiting merchant"?**

It's waiting for you. **Awaiting merchant** means the customer has placed the order in SparkLayer, but it isn't a completed order in Shopify yet: usually it's a Pay on Account or Pay by Invoice order that's still a draft. Complete the draft at **Orders > Drafts** ([open in the Shopify admin](https://admin.shopify.com/draft_orders)), or turn on **Auto-complete draft orders** at **Integrations > Platform > Shopify order actions** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/integrations/platform)), or **SparkLayer Wholesale > Integrations > Platform > Shopify order actions** in the Shopify app. Until then, it shows as **Awaiting merchant** in the SparkLayer **Orders** screen and in your customer's [My Account](https://docs.sparklayer.io/help/storefront/interfaces/my-account.md#order-statuses). See [Awaiting merchant](https://docs.sparklayer.io/help/glossary.md#awaiting-merchant).

**Customers see "An unknown error occurred" at checkout. What do I do?**

If the message ends with a code, such as **SHOPIFY:002**, look it up in [Error codes](https://docs.sparklayer.io/help/platforms/shopify/error-codes.md). If there's no code:

1. Refresh the page, or empty the cart and add the products again.
2. Look in **Orders > Drafts** ([open in the Shopify admin](https://admin.shopify.com/draft_orders)) for an open draft order for that customer. Delete it, then try again.
3. Check no product in the order has a price of 0.00 in Shopify, and, if you sell in several currencies, that Shopify Markets has a market for each currency and shipping country.

See [Customers see "An unknown error occurred" at checkout](https://docs.sparklayer.io/help/troubleshooting.md#customers-see-an-unknown-error-occurred-at-checkout) for every check, and what to send us if it keeps happening.

**Why doesn't a draft order I create in Shopify get B2B prices?**

SparkLayer applies B2B prices to orders placed through its cart. A draft order you create yourself in your Shopify admin doesn't go through SparkLayer, so it uses your Shopify prices, unless you change them on the draft. 

To order for a customer at their B2B prices, make yourself or your team sales agents (from the Starter plan) and place the order on your store. See [Order for a customer](https://docs.sparklayer.io/help/sales-ordering/order-for-a-customer.md). To show orders made outside SparkLayer in the customer's order history, see [Show imported or manual orders](https://docs.sparklayer.io/help/guides/show-imported-orders.md).

**Can I edit orders?**

Yes. If SparkLayer creates draft orders, you can open a draft order in Shopify and change it. After you complete it by hand (for example with **Mark as paid**), you can still edit it until it's fulfilled.

The exception is when **Auto-complete draft orders** is on at **Integrations > Platform > Shopify order actions** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/integrations/platform)), or **SparkLayer Wholesale > Integrations > Platform > Shopify order actions** in the Shopify app. Because of a Shopify limitation, orders completed this way can't be edited afterwards, and Shopify shows "Unable to edit order". The only fix is to turn off the auto-complete setting.

**Can B2B customers use my Shopify shipping rates?**

Yes. By default, B2B customers see your Shopify shipping, including live carrier rates and shipping apps. From the Starter plan, you can use SparkLayer shipping rates instead, priced by customer group, order total or weight. B2B customers get one or the other, never both: **Use SparkLayer shipping rates** at **Settings > Shipping** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/shipping)), or **SparkLayer Wholesale > Settings > Shipping** in the Shopify app decides. See [Shipping rules](https://docs.sparklayer.io/help/ordering/shipping-rules.md).

If customers see "Sorry, no shipping methods are available for your selected address", see [No shipping methods show at checkout](https://docs.sparklayer.io/help/troubleshooting.md#no-shipping-methods-show-at-checkout).

**Why do B2B prices show as a discount on Shopify orders?**

A line can arrive at its Shopify price with a "Custom discount" that brings it down to your B2B price, so customer emails show the original price struck through. 

- To show only the final price in emails, see [Hide discount pricing](https://docs.sparklayer.io/help/platforms/shopify/customisations/email-notifications.md#hide-discount-pricing).
- To change how prices are sent to Shopify, [contact our team](https://docs.sparklayer.io/help/support.md).
- To change the "Custom discount" wording, go to **Online Store > Themes** ([open in the Shopify admin](https://admin.shopify.com/themes)), click the **...** menu next to your theme, choose **Edit default theme content** and search for "Custom discount".

**Can I set a minimum order quantity?**

Yes. You can set minimum (and maximum) quantities for each product or variant: see [Quantity rules](https://docs.sparklayer.io/help/storefront/quantity-rules.md). For the whole order, set order limits on a customer group: a minimum or maximum order total, such as $500, or a minimum or maximum number of items. See [Set order limits](https://docs.sparklayer.io/help/storefront/quantity-rules.md#order-limit-rules).

For a product range, one workaround is:

1. Create a new product in Shopify with the products you want to include as its variants.
2. Use the [minimum product quantity](https://docs.sparklayer.io/help/storefront/quantity-rules.md) setting so customers must order at least a set number, for example 3.
3. Use [quantity pricing](https://docs.sparklayer.io/help/pricing/quantity-pricing.md) to set the discounted rate, for example 10% cheaper when buying 3.

**How do I set up multiple currencies with Shopify Markets?**

Create a Shopify market for each currency, with Shopify Payments active, then a price list in that currency, and assign it to a customer group. SparkLayer doesn't convert prices: you set the exact price in each currency. Shopify's "Use local currencies" setting, duties and market catalogs aren't supported. See [Shopify Markets and currencies](https://docs.sparklayer.io/help/platforms/shopify/markets-and-currencies.md).

**How do I send order notifications to customers and my team?**

Shopify doesn't send a notification when a draft order is created, so you need a workaround.

- **Your team**: import our ready-made **Send an email with order details** workflow into Shopify Flow, a free Shopify app. See [Shopify Flow for B2B](https://docs.sparklayer.io/help/platforms/shopify/customisations/flow.md#email-workflows).
- **Customers**: send a Shopify invoice from the draft order with **Send invoice**.
- **Both**: turn on **Auto-complete draft orders** at **Integrations > Platform > Shopify order actions** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/integrations/platform)), or **SparkLayer Wholesale > Integrations > Platform > Shopify order actions** in the Shopify app, so drafts become completed orders. 

To change Shopify's emails for B2B customers, see [Shopify email notifications](https://docs.sparklayer.io/help/platforms/shopify/customisations/email-notifications.md).

**Can I import historic B2B orders?**

Yes. See [Import order history into SparkLayer](https://docs.sparklayer.io/help/platforms/shopify/metafields.md#import-order-history-into-sparklayer).

**Can I give B2B orders a different order number prefix, such as B2B-123?**

Not in Shopify: it uses one order number sequence (for example #123456) for retail and B2B orders. To tell them apart, use the `b2b` tag SparkLayer adds to every B2B order. You can filter by it in Shopify, and in connected systems such as shipping apps or 3PLs, to separate your workflows. See [Shopify reporting and filtering](https://docs.sparklayer.io/help/platforms/shopify/customisations/reporting-and-filtering.md).

To show customers your own order numbers in their account, see [Set a custom order number](https://docs.sparklayer.io/help/platforms/shopify/metafields.md#set-a-custom-order-number).

## Discounts

**Will my B2B customers get my Shopify discount codes or sales?**

No. Shopify discounts, including discount codes and automatic discounts, don't apply to orders placed through SparkLayer, and can't be used alongside it. To give B2B customers a discount, create it in SparkLayer: see [Discounts](https://docs.sparklayer.io/help/pricing/discounts.md).

**How do I set up B2B discounts and discount codes?**

Use SparkLayer's own [discounts](https://docs.sparklayer.io/help/pricing/discounts.md) at **Pricing > Discounts** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/discounts)), or **SparkLayer Wholesale > Pricing > Discounts** in the Shopify app, on the Growth plan and above, including its 14-day trial. A discount can apply automatically or when the customer enters a coupon code at checkout. You can set requirements such as:

- **An order total or number of items**, for example spend over $400 and get 5% off.
- **Customer groups and dates**, so only some customers get it, for a set time.
- **Products, collections or tags**: under **Rules**, click **New rule**, for example to discount only products tagged `dog-toy`. See [Restrict a discount to certain products](https://docs.sparklayer.io/help/pricing/discounts.md#restrict-a-discount-to-certain-products).

On every plan, you can also give a customer group a percentage off your Shopify prices with an automatic price list.
