# Customer groups

URL: https://docs.sparklayer.io/help/customers/customer-groups

Set the price lists, payment methods, order limits and other rules for each B2B customer group, and see how groups inherit from the Base group.

> **Quick summary**
>
> - A customer group is a set of rules shared by a set of B2B customers: which [price lists](https://docs.sparklayer.io/help/pricing.md) they see, which payment methods they can use, their order limits, and settings such as address editing and stock display.
> - Manage groups at **Customers > Groups** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/customers/groups)), or **SparkLayer Wholesale > Customers > Customer groups** in the Shopify app. Every store has a **Base customer group** that applies to all B2B customers. Every other group inherits the Base group's rules unless you override them.
> - Each customer belongs to one group. Add buyers in your eCommerce platform. On Shopify, tag them `b2b` plus the group's tag, for example `b2b-trade`. See [Add customers to a group](https://docs.sparklayer.io/help/customers/add-customers-to-a-group.md).
> - Customer groups are on every plan.

## How it works

B2B customers usually order on agreed terms. A new customer might only be allowed to pay by card. A long-standing customer might pay on account with 30-day terms and a lower price list. With customer groups, you set those rules once and they apply to every customer in the group.

How a customer gets their B2B rules:

1. **Add them to a group**: Tag them `b2b` plus the group's tag, such as `b2b-trade`
2. **SparkLayer syncs**: SparkLayer imports the customer and matches their tags to a customer group. With no group tag, they're in the Base group
3. **Customer signs in**: They see the group's prices, payment methods and ordering rules

### The Base customer group

The **Base customer group** covers all your B2B customers. If every B2B customer orders on the same terms, the Base group is all you need: set your rules there and they apply to everyone.

When some customers need different rules, create more groups. Every new group **inherits** its rules from the Base group. A rule the group hasn't changed shows as **Inherited**. Override a rule to give the group its own setting. Anything you don't override keeps following the Base group.

How rules are inherited:

1. **Base customer group**: Its rules apply to every B2B customer
2. **Another group**: Starts with the Base group's rules, shown as Inherited
3. **Override a rule**: Give the group its own setting, such as price lists. The rest still follow the Base group

So to change something for every B2B customer, such as turning on stock display, change it in the Base group.

### What can replace a group's settings

A group's settings are the starting point for its customers. A single customer can have their own price lists, with [customer pricing](https://docs.sparklayer.io/help/pricing/customer-pricing.md). See [What overrides what](https://docs.sparklayer.io/help/customers.md#who-sets-what).

## Create a customer group

Create a group for customers who need different rules from the rest. If all your B2B customers order on the same terms, you don't need one: set up the [Base customer group](#the-base-customer-group) instead.

**BigCommerce only:**

On BigCommerce, you create customer groups in BigCommerce, and they sync to SparkLayer. See [Add customers to a group](https://docs.sparklayer.io/help/customers/add-customers-to-a-group.md#assign-customers-to-a-customer-group).

1. Go to **Customers > Groups** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/customers/groups)), or **SparkLayer Wholesale > Customers > Customer groups** in the Shopify app and click **Create customer group**.
2. Enter a **Name**, for example `Trade`.
3. Choose a **Price list**, or leave **Base pricing** to use the Base group's prices.
4. Optionally, enter a **Minimum order value**, for example `250`.
5. Click **Create group**. You'll see "Customer group created".

SparkLayer makes the group's **Handle (or ID)** from its name and creates its tag: a group called `Trade` gets the handle `trade` and the tag `b2b-trade`.

**More detail**

- If you see "Give the group a name", "There's already a group with that name" or "The minimum order can't be negative", fix the field and click **Create group** again.
- The minimum order value becomes the group's **Order total limits** rule: see [Set order limits](#set-order-limits). 
- The handle is also the ID you use elsewhere, for example in [pack size rules per customer group](https://docs.sparklayer.io/help/storefront/quantity-rules.md), the API and ERP integrations. You can't change it.

Then finish setting up the group:

1. [Check its price lists](#assign-price-lists).
2. [Choose its payment methods](#choose-payment-methods).
3. Optionally, [change its order limits](#set-order-limits).
4. [Add customers to the group](https://docs.sparklayer.io/help/customers/add-customers-to-a-group.md).
5. [Test as a B2B customer](https://docs.sparklayer.io/help/customers/add-customers-to-a-group.md#test-as-a-b2b-customer) to check what they'll see.

## Edit a customer group's rules

1. Go to **Customers > Groups** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/customers/groups)), or **SparkLayer Wholesale > Customers > Customer groups** in the Shopify app.
2. Click the group's name. For the Base group, click **Edit** on the **Base customer group** card.
3. Find the rule under **Inherited rules** and click **Override** (on the Base group, **Customize**). The rule moves up to **Customized rules**.
4. Change the rule's settings.
5. Click **Save** in the bar at the top of the page. You'll see "Customer group saved". One save covers every rule you've changed.

To hand a rule back, click **Reset** next to it under **Customized rules**, then save. On a group, the rule goes back to following the Base group. On the Base group, it goes back to SparkLayer's default.

**More detail**

- **Customized rules** on a group: "Set for this group. Reset hands a rule back to the base group." With nothing customized, it says "Nothing customized yet. Everything below comes from the base group."
- **Inherited rules** on a group: "From the base customer group. Override one to change it for" the group. Each rule shows the value it inherits.
- On the Base group, **Customized rules** says "Every B2B customer gets these. Other groups inherit them unless they override them." and **Inherited rules** says "SparkLayer's defaults. Customize one to change it for every B2B customer."
- Click **Discard** in the bar at the top to throw away changes you haven't saved.

### The group page

| Part | What it shows / does |
| --- | --- |
| **Details** | The group's **Name** (fixed on the Base group), its **Handle (or ID)** ("Made from the name. Used by the API and ERP integrations.") and its **Customer tags**. The Base group's tag is `b2b` ("Applied to customers to turn on SparkLayer."). Other groups have `b2b` and their own tag ("Customers with these tags join this group."). **View customers** opens the customers with that tag in Shopify. A group also says how many customers it has. |
| **Customized rules** | The rules this group sets itself, each with **Reset**. |
| **Inherited rules** | Every other rule, with the value it inherits and **Override** (or **Customize** on the Base group). |
| **More actions** | On a group (not the Base group): **Edit base customer group** and **Delete group**. |

## The customer groups screen

The customer groups screen shows the Base customer group and every other group, with what each one sets. Go to **Customers > Groups** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/customers/groups)), or **SparkLayer Wholesale > Customers > Customer groups** in the Shopify app. In the SparkLayer Dashboard, it's **Groups** in the sidebar. In the Shopify app, it's the **Customer groups** tab.

**Base customer group** comes first: "Every B2B customer gets these settings. Groups inherit them unless they override one." Click **Edit** to open it. Four tiles sum it up: its **Shopify tag** (`b2b`), its **Price list**, its **Payment methods** and any **Other settings** it customizes.

**What the Base customer group tiles show**

| Tile | What it shows |
| --- | --- |
| **Shopify tag** | `b2b`, the tag every B2B customer has. |
| **Price list** (or **Price lists**) | The Base group's price lists, or **Retail prices** if it has none. |
| **Payment methods** | The payment methods it allows. |
| **Other settings** | Any other rules it customizes, such as **Address management**. |

**Additional customer groups** lists your other groups:

| Column | What it shows |
| --- | --- |
| **Group** | The group's name, with its tag underneath, for example "Tag: b2b-trade". Click the name to open the group. |
| **Customers** | How many customers are in the group. |
| **Price list** | The group's own price lists, or **Inherited**. |
| **Payment methods** | The group's own payment methods, or **Inherited**. |
| **Order limit** | The group's minimum order, for example "$250 minimum", or **Inherited**. |

With no other groups, it says **No customer groups yet**: "Every B2B customer gets the base settings until you add a group."

**Common tasks**

**Common tasks** shortcuts the usual jobs: **Create a customer group**, **Give a group its prices**, **Set a minimum order** and **Tag customers in Shopify**.

## What a customer group controls

Each group has the same 11 rules.

| Rule | What it does | When it's inherited, it shows |
| --- | --- | --- |
| [Price lists](#assign-price-lists) | "Choose which price lists this group uses." | The Base group's price lists, or **Retail prices** |
| [Payment methods](#choose-payment-methods) | "Choose which payment methods show at checkout." | The Base group's payment methods |
| [Order quantity limits](#set-order-limits) | The minimum or maximum number of items in the whole order. | **No quantity limits set** |
| [Order total limits](#set-order-limits) | "The order total buyers must reach before checking out." | **No total limits set** |
| [Stock display](#show-stock-levels) | "What buyers see about stock." | **Availability: On, Pre-order: On, Units: Off, Max: 100** |
| [Stock location](#set-a-stock-location) | "Which inventory locations buyers can order from." | **The stock location feature isn't on** |
| [Credit settings](#block-orders-over-the-credit-limit) | "What happens when a buyer reaches their credit limit." | **Checkout blocked if limit exceeded** |
| [Quoting engine](#let-customers-request-quotes) | "Whether buyers can request quotes." | **Buyers can request quotes** |
| [Checkout access](#disable-checkout) | "Whether buyers can check out." | **Checkout is enabled** |
| [Address management](#allow-customers-to-edit-addresses) | "Whether buyers can edit their addresses." | Whether buyers can edit addresses |
| [Recurring orders](#allow-recurring-orders) | "Whether buyers can set up repeat orders." | **The recurring orders feature isn't on** |

Most groups only need their own price lists and payment methods. Every other rule is optional, and follows the Base group until you override it: see [Optional rules](#optional-rules).

## Assign price lists

1. [Edit the customer group](#edit-a-customer-groups-rules). If **Price lists** is under **Inherited rules**, click **Override** (or **Customize** on the Base group).
2. Choose a price list. Each option shows its currency and name, for example **USD - Trade 20%**.
3. To add another, click **Add price list**. To remove one, click the bin icon next to it.
4. Click **Save** in the bar at the top.

### When a product is in several price lists

A group's price lists are numbered in order, and if a product is in more than one, the first list it's in wins. So put the most specific list first, and check this order first when a customer sees the wrong price. See [Which price list wins](https://docs.sparklayer.io/help/pricing/managing-pricing.md#price-list-order).

### Prices from outside the group

Some customers can get prices from somewhere other than their group. An individual customer can have their own price lists or a percentage discount: see [Prices for one customer](https://docs.sparklayer.io/help/pricing/customer-pricing.md).

## Choose payment methods

1. [Edit the customer group](#edit-a-customer-groups-rules) and override **Payment methods**.
2. Tick the methods the group can use: **Pay by invoice**, **Payment on account** or **Card at checkout**. Then click **Save**.

At checkout, the customer sees the methods their group allows, as **Pay by Invoice**, **Pay on Account** and **Pay Online by Card**. A group with only **Card at checkout** ticked shows card payment and nothing else. For what each method means, how the order arrives in your platform and how to rename or reorder them, see [Payment methods](https://docs.sparklayer.io/help/ordering/payment-methods.md) and [How orders arrive](https://docs.sparklayer.io/help/ordering/payment-methods.md#how-orders-arrive).

## Set order limits

Order limits stop a customer checking out until the whole order meets your rules: a minimum or maximum order total (**Order total limits**, per currency) or a minimum or maximum number of items (**Order quantity limits**). [Edit the customer group](#edit-a-customer-groups-rules), override the rule and save. For the steps, the checkout messages and how to change them, see [Set order limits](https://docs.sparklayer.io/help/storefront/quantity-rules.md#order-limit-rules).

A minimum, maximum or pack size for one product isn't a group rule: it's a [quantity rule](https://docs.sparklayer.io/help/storefront/quantity-rules.md) set on the product, and can differ by group with [product settings](https://docs.sparklayer.io/help/storefront/quantity-rules.md#set-different-rules-for-each-customer-group).

## Add customers to the group

Each customer belongs to one group. You add them in your eCommerce platform: on Shopify, with the `b2b` tag plus the group's tag, such as `b2b-trade`. For the steps on each platform, how to check a customer has synced and how to test as one, see [Add customers to a group](https://docs.sparklayer.io/help/customers/add-customers-to-a-group.md).

## Optional rules

These rules are optional. Each one follows the Base group until you override it. Most groups only need price lists, payment methods and perhaps an order limit.

### Allow customers to edit addresses

Address management controls whether customers can manage their own address book in the [My Account](https://docs.sparklayer.io/help/storefront/interfaces/my-account.md) and [My Cart](https://docs.sparklayer.io/help/storefront/interfaces/my-cart.md) interfaces.

1. [Edit the customer group](#edit-a-customer-groups-rules) and override **Address management** (on the Base group, it's already customized).
2. Tick or untick the settings below, then click **Save**.

| Setting | What it does |
| --- | --- |
| **Allow address editing in My Account** | "Buyers can add or edit their addresses." |
| **Allow buyers to add and edit billing addresses** | "Buyers can set a default billing address." Untick it to stop billing address changes while still allowing shipping address changes. |

If addresses are synced to SparkLayer from another system, such as an ERP, the sync may overwrite changes your customers make. [Contact us](https://docs.sparklayer.io/help/support.md) if you're unsure.

### Block orders over the credit limit

The **Credit settings** rule decides what happens when a customer paying on account would go over their [credit limit](https://docs.sparklayer.io/help/ordering/credit-net-terms-and-invoicing.md). By default, **Checkout blocked if limit exceeded**. To let a group order over its limit, override **Credit settings**, click **Configure** and turn off **Prevent placing an order if exceeding credit limit**. See [Let customers order over their credit limit](https://docs.sparklayer.io/help/ordering/credit-net-terms-and-invoicing.md#let-customers-order-over-their-credit-limit).

### Show stock levels

The **Stock display** rule decides what a group's customers see about stock: availability, pre-order messages and, if you want, the number of units. By default, availability and pre-order messages are on and unit counts are off. To change it for every customer, edit the Base group. For the settings and what customers see, see [Show stock levels to customers](https://docs.sparklayer.io/help/storefront/stock-display.md#show-stock-levels-to-customers).

### Set a stock location

Stock location (also called inventory location) shows a customer group the stock from one location, such as the warehouse that serves their region. For example, with warehouses in London, Paris, Toronto and Madrid, you can show your Canada group the stock held in Toronto. Stock locations need the Growth plan or above.

1. Turn on **Multi-location stock** at **Settings > Configurations > Ordering** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/settings/general)), or **SparkLayer Wholesale > Settings > Configurations > Ordering** in the Shopify app ("Choose which inventory locations customers can buy stock from."). Until it's on, the rule shows **The stock location feature isn't on**.
2. [Edit the customer group](#edit-a-customer-groups-rules), override **Stock location** and click **Configure**.
3. Select the location the group should use, then save.

Things to know:

- If you don't choose a location, customers see combined stock from all your locations.
- Stock locations only affect the stock **shown** to customers. They don't change which location your platform uses to fulfil the order.

Your platform needs some setup too:

**Shopify:**

SparkLayer syncs your active Shopify locations automatically. Set them up in Shopify first (see Shopify's guide to [locations](https://help.shopify.com/en/manual/locations)):

1. In your Shopify admin, go to **Settings > Locations** ([open in the Shopify admin](https://admin.shopify.com/settings/locations)) and check the locations you want to use for B2B customers are active.
2. Open each of those locations and, under **Fulfillment details**, tick **Fulfill online orders from this location**.
3. Optionally, review how Shopify chooses a location for each order at **Settings > Shipping and delivery > Order routing** ([open in the Shopify admin](https://admin.shopify.com/settings/shipping/order_routing)). Routing rules (such as **Minimize split fulfillments** or **Ship from the closest location**) run from top to bottom.

If you run retail and B2B from the same store (a [hybrid store](https://docs.sparklayer.io/help/glossary.md#hybrid-store)):

- Signed-in B2B customers can buy up to the stock held at their group's location. For example, if their group uses **London Warehouse** and it has 100 of product A, they can order up to 100.
- Assigning a location to B2B customers doesn't stop retail customers buying the same stock, depending on how your Shopify store is set up. To hold stock back, see reserving stock and minimum stock levels in [Stock display](https://docs.sparklayer.io/help/storefront/stock-display.md).

**Other platforms:**

Stock locations and their stock levels are managed through the [Stock API](https://docs.sparklayer.io/developers/api/stock.md).

### Let customers request quotes

If you use the [Quoting Engine](https://docs.sparklayer.io/help/ordering/quoting.md), the **Quoting engine** rule decides whether a group can request quotes. By default, **Buyers can request quotes**. Quotes are included on Pro and Enterprise, and are an add-on on Starter and Growth. See [Choose which customer groups can request quotes](https://docs.sparklayer.io/help/ordering/quoting.md#choose-which-customer-groups-can-request-quotes).

### Disable checkout

To stop a group checking out, override **Checkout access** and click **Configure**. By default, every customer group can check out once their order meets your rules (**Checkout is enabled**). A common use is with the [Quoting Engine](https://docs.sparklayer.io/help/ordering/quoting.md): turn off checkout so the group can only submit a quote.

### Allow recurring orders

The **Recurring orders** rule decides whether a group's buyers can set orders to repeat on a schedule.

1. Turn on **Recurring orders** at **Settings > Configurations > Ordering** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/settings/general)), or **SparkLayer Wholesale > Settings > Configurations > Ordering** in the Shopify app ("Customers can set orders to repeat on a schedule."). Until then, the rule shows **The recurring orders feature isn't on**.
2. [Edit the customer group](#edit-a-customer-groups-rules), override **Recurring orders** and click **Configure**.

## Delete a customer group

You can't delete a customer group while it still has customers. Move them to another group first, for example the Base customer group, by changing their tags in your platform. See [Add customers to a group](https://docs.sparklayer.io/help/customers/add-customers-to-a-group.md#assign-customers-to-a-customer-group). On Shopify, **View customers** on the group's page lists everyone with its tag.

Once the group is empty:

1. Open the group.
2. Click **More actions**, then **Delete group**.
3. Click **Delete group** to confirm.

This can't be undone. You can't delete the Base customer group.

Moving a customer to another group doesn't remove them from SparkLayer. To remove customers altogether, see [Remove a customer from B2B](https://docs.sparklayer.io/help/customers/managing-customers.md#remove-a-customer-from-b2b).

## FAQs and troubleshooting

If a customer sees the wrong prices, payment methods or shipping, check their tags and group first: see [Add customers to a group](https://docs.sparklayer.io/help/customers/add-customers-to-a-group.md#troubleshooting).

**Can a customer be in more than one customer group?**

No. Each customer belongs to one customer group. To give a customer prices from several price lists, assign several lists to their group, or give the customer their own in [Prices for one customer](https://docs.sparklayer.io/help/pricing/customer-pricing.md). See [Add customers to a group](https://docs.sparklayer.io/help/customers/add-customers-to-a-group.md#assign-customers-to-a-customer-group).

**Can a group inherit from a group other than Base?**

No. Every group inherits from the Base customer group. Rules you override on a group apply to that group only.

**Why can't I delete a customer group?**

A group can't be deleted while it still has customers. Move them to another group, such as Base, then delete it. See [Delete a customer group](#delete-a-customer-group).

**Why didn't a group change when I changed the Base group?**

The other group overrides that rule, so it no longer inherits it. Open the group and click **Reset** on the rule to follow the Base group again.

**Which price is used when a SKU is in several price lists?**

The first price list, in the order shown on the group, that contains the SKU. See [Which price list wins](https://docs.sparklayer.io/help/pricing/managing-pricing.md#price-list-order).

**Do order limits include tax?**

No. Order total limits use net prices, before tax, unless you show [tax-inclusive prices](https://docs.sparklayer.io/help/pricing/pricing-display.md#show-tax-inclusive-prices). See [Set order limits](https://docs.sparklayer.io/help/storefront/quantity-rules.md#order-limit-rules).

**Does a stock location change where orders are fulfilled from?**

No. It only changes the stock customers see. Your platform's own settings, such as Shopify order routing, decide where orders are fulfilled from.
