# Settings

URL: https://docs.sparklayer.io/help/dashboard/settings

SparkLayer's Settings: feature switches and store details in Configurations, B2B shipping methods, API keys for your ERP, and email and invoice templates.

> **Quick summary**
>
> - **Settings** has 4 pages: **Configurations** (feature switches and store details), **Shipping** (B2B-only shipping methods), **API** (keys for your ERP or other systems) and **Templates** (your own emails and invoices). In the Shopify app they're tabs under **Settings**.
> - Start at **Settings > Configurations** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/settings/general)), or **SparkLayer Wholesale > Settings > Configurations** in the Shopify app. Its cards are **Ordering**, **Quotes and invoices**, **Pricing and cart** and **Store**.
> - **Quotes** need the Pro plan or the Quoting Engine add-on (on Starter and Growth), and **Invoices** need Growth. The API needs Pro. SparkLayer shipping rates need Starter. Email and translation templates are on every plan, and invoice templates need Growth. See [Plans and features](https://docs.sparklayer.io/help/plans-and-features.md).
> - **Auto-complete draft orders** has moved to **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, and the storefront widgets to **Storefront > Widgets** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/frontend/core)), or **SparkLayer Wholesale > Storefront > Widgets** in the Shopify app.

## Settings at a glance

| Page | Where | What it's for |
| --- | --- | --- |
| [Configurations](#configurations) | **Settings > Configurations** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/settings/general)), or **SparkLayer Wholesale > Settings > Configurations** in the Shopify app | Switch features on or off, and set your store details, email domain and purchase IDs. |
| [Shipping](#shipping) | **Settings > Shipping** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/shipping)), or **SparkLayer Wholesale > Settings > Shipping** in the Shopify app | Optional B2B-only shipping methods, and which method checkout pre-selects. |
| [API](#api) | **Settings > API** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/api)), or **SparkLayer Wholesale > Settings > API** in the Shopify app | Connect your ERP or another system to SparkLayer. Pro plan. |
| [Templates](#templates) | **Settings > Templates** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/theme)), or **SparkLayer Wholesale > Settings > Templates** in the Shopify app | Your own invoice layout, email notifications and translations. Needs a developer. |

**What moved from the old Settings**

| Was | Now |
| --- | --- |
| **Settings > General** | **Settings > Configurations** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/settings/general)), or **SparkLayer Wholesale > Settings > Configurations** in the Shopify app, in the cards below. |
| **Apply tiered pricing across variants** | The **Tiered pricing across variants** switch, under **Pricing and cart**. |
| **Auto-complete Shopify Draft orders** | **Auto-complete draft orders** in **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. |
| **Stock level display limit** | **Settings > Configurations** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/settings/general)), or **SparkLayer Wholesale > Settings > Configurations** in the Shopify app. See [Set a stock level display limit](https://docs.sparklayer.io/help/storefront/stock-display.md#set-a-stock-level-display-limit). |
| **Frontend widgets** | **Storefront > Widgets** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/frontend/core)), or **SparkLayer Wholesale > Storefront > Widgets** in the Shopify app. See [Storefront interfaces](https://docs.sparklayer.io/help/storefront/interfaces.md). |
| **API keys** | **Settings > API** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/api)), or **SparkLayer Wholesale > Settings > API** in the Shopify app. |
| Onboarding steps on Home | **Home > Setup** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/)), or **SparkLayer Wholesale > Setup** in the Shopify app. See [Get started](https://docs.sparklayer.io/help/get-started.md). |

## Configurations

**Settings > Configurations** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/settings/general)), or **SparkLayer Wholesale > Settings > Configurations** in the Shopify app holds the switches for SparkLayer's features and your store-wide settings. Change the switches and fields you need, then click **Save** in the save bar that appears. Rows with **Edit** open a window that saves separately.

Need a hand? Click **Free setup assistance** at the top of the page to book a free call with our team.

A feature your plan doesn't include shows the plan it needs, such as **Pro**, and an **Unlock** button instead of a switch. Click **Unlock** to see what the feature does and start a free trial. See [Your plan](https://docs.sparklayer.io/help/dashboard/plan-and-features.md#unlock-a-feature).

### Ordering

These settings control what B2B customers can do when they order.

| Setting | What it does | Default |
| --- | --- | --- |
| **Company users** | Customers can create teams that share orders, shopping lists and addresses. See [Company users](https://docs.sparklayer.io/help/customers/company-users.md). | On |
| **Multi-location stock** | Choose which inventory locations customers can buy stock from. Needs the Growth plan or above. See [Stock display](https://docs.sparklayer.io/help/storefront/stock-display.md). | Off |
| **Recurring orders** | Customers can set orders to repeat on a schedule. | Off |
| **Payments visibility** | Shows the payment status of orders in the My Account area. | On |

### Quotes and invoices

These settings cover quotes, invoices and the messages and emails around an order.

| Setting | What it does | Plan |
| --- | --- | --- |
| **Quotes** | Customers request quotes from their cart and you reply with prices. See [Quoting](https://docs.sparklayer.io/help/ordering/quoting.md). | Pro, or the Quoting Engine add-on on Starter and Growth |
| **Quote statuses** | The statuses you use to manage quotes. Shown only while **Quotes** is on. | Pro, or the Quoting Engine add-on on Starter and Growth |
| **Invoices** | Send invoices to your B2B customers directly from SparkLayer. See [Invoices](https://docs.sparklayer.io/help/ordering/invoices.md). | Growth |
| **Timeline and communications** | Customers and sales agents can send messages on quotes and orders. See [Timeline](https://docs.sparklayer.io/help/customers/timeline.md). | Every plan |
| **Purchase notifications** | Who gets an email when a quote or order updates and nobody is assigned to it. | Every plan |

#### Set up quote statuses

1. In **Settings > Configurations > Quotes and invoices** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/settings/general)), or **SparkLayer Wholesale > Settings > Configurations > Quotes and invoices** in the Shopify app, turn on **Quotes** and save.
2. Click **Edit** next to **Quote statuses**.
3. Enter a **New status**, for example "Awaiting approval", and click **Add status**. To remove a status, click **Remove** next to it.
4. Click **Done**.

New quotes start in the status marked **Default**, which is **Quote Requested** unless you change it.

#### Choose who gets purchase notifications

1. Click **Edit** next to **Purchase notifications**.
2. Enter one or more **Email addresses**, separated by commas.
3. Click **Save**.

Until you add an address, it says "No one is emailed when quotes and orders update."

### Pricing and cart

These settings control how prices are worked out and shown, and how the SparkLayer cart behaves.

| Setting | What it does | Default |
| --- | --- | --- |
| **Tax-inclusive prices** | Lets price lists show prices including tax, using a `display_tax_rate` column in the pricing CSV. It changes what buyers see, not what they pay. See [How prices are shown](https://docs.sparklayer.io/help/pricing/pricing-display.md). | Off |
| **Tiered pricing across variants** | Quantity tiers count every variant of a product together. For example, 6 small and 6 large count as 12 towards a 12+ tier. | On |
| **Hide AI features in the cart** | Hides the [Intelligent Cart](https://docs.sparklayer.io/help/ordering/intelligent-cart.md) AI features in the SparkLayer cart. | Off |
| **Cart search type** | How search works in the SparkLayer cart. | **Search** |

**Tiered pricing across variants** and **Hide AI features in the cart** also appear in **Storefront > Options** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/storefront/options)), or **SparkLayer Wholesale > Storefront > Options** in the Shopify app, marked **Also in Configurations**. They're the same settings, so change them in either place.

### Store

These settings hold your store's details, the domain SparkLayer emails come from and the format of purchase IDs.

| Setting | What it's for |
| --- | --- |
| **Store details** | The store name, address, phone number, email and website that B2B customers see, for example in emails. |
| **Custom email domain** | Send SparkLayer's emails from your own domain instead of `no-reply@mail.sparklayer.io`. Needs the Pro plan or above. |
| **Purchase ID prefix** and **Purchase ID postfix** | Added to the IDs of purchases that exist only in SparkLayer, such as quotes and orders awaiting approval. The default prefix is **P#**, so an ID looks like P#1264. |

#### Change your store details

SparkLayer syncs your store details from Shopify. To override what B2B customers see, change them here.

1. In **Settings > Configurations > Store** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/settings/general)), or **SparkLayer Wholesale > Settings > Configurations > Store** in the Shopify app, click **Edit** next to **Store details**.
2. Change the **Store name**, **Store address**, **Phone number**, **Email** or **Website URL**.
3. Click **Save**.

Your changes don't sync back to Shopify. 

#### Send emails from your own domain

Sending emails from your own domain needs the Pro plan or above.

1. Click **Edit** next to **Custom email domain**.
2. Tick **Use my own domain for SparkLayer emails**.
3. Enter the **Email user** (the part before the @) and your **Domain**, then click **Save**.

Emails to and from customers then use your domain. Our team helps you verify it.

## Shipping

By default, SparkLayer uses your store's own shipping rates, and B2B customers see them at checkout. To charge B2B customers differently, create your own shipping methods, priced by customer group, order total or weight. You turn them on with **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. SparkLayer shipping rates need the Starter plan or above.

| On the page | What it's for |
| --- | --- |
| **Shipping rates** | Switch between your store's rates and SparkLayer shipping rates. On Shopify, **Shopify shipping settings** opens your Shopify rates. |
| **Shipping methods** | The B2B-only methods customers choose at checkout, each with bands that set its cost. |
| **Automatic shipping selection** | On Shopify, which method checkout pre-selects. |

For the steps, see [Shipping rules](https://docs.sparklayer.io/help/ordering/shipping-rules.md): [Turn on SparkLayer shipping rates](https://docs.sparklayer.io/help/ordering/shipping-rules.md#turn-on-sparklayer-shipping-rates), [Create a shipping method](https://docs.sparklayer.io/help/ordering/shipping-rules.md#create-a-shipping-method), [Add shipping bands](https://docs.sparklayer.io/help/ordering/shipping-rules.md#add-shipping-bands) and [Choose which method is pre-selected](https://docs.sparklayer.io/help/ordering/shipping-rules.md#automatic-shipping-selection).

## API

The [SparkLayer API](https://docs.sparklayer.io/developers/api.md) lets another system, such as an ERP, send SparkLayer your prices, customers and stock. It's on the Pro and Enterprise plans. Below Pro, **Settings > API** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/api)), or **SparkLayer Wholesale > Settings > API** in the Shopify app says **The SparkLayer API is on Pro**, with **Compare plans** and **Read the API docs**.

Connecting a system is a job for your developer or integration partner. Pro includes a guided integration call.

### Connect your ERP

Until you've connected a system, **Settings > API** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/api)), or **SparkLayer Wholesale > Settings > API** in the Shopify app starts with **Connect your ERP**:

1. Choose **Your ERP** (NetSuite, Sage, Microsoft Dynamics 365, Xero or QuickBooks, or Something else) and what to **Sync first**: **Prices**, **Customers and companies** or **Stock**. Most stores start with prices.
2. **Give your developer access.** Click **Create test key** for a key that only works on your test store, and **Invite developer** to invite them to your account.
3. **Send them the brief.** Click **Copy brief** and send it to your developer. It's written from your store's real setup: price list handles, group tags, and how SKUs and customers match.
4. **Check what's arriving.** Once your developer starts sending data, click **Run check**. SparkLayer checks each push against your catalogue and customers, so problems show up here, not with buyers.

Stuck, or no developer? Click **Book integration call**.

Once your ERP is connected, the card shows when it last synced. To add another, click **Connect another system**.

### Create an API key

1. Go to **Settings > API** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/api)), or **SparkLayer Wholesale > Settings > API** in the Shopify app and click **Create API key**.
2. Enter a **Key name**, such as "NetSuite ERP", so you can tell your keys apart, and click **Create key**.
3. Copy the **Client ID** and **Client secret** with their **Copy** buttons, then click **Done**. Your developer uses both to connect to the [SparkLayer API](https://docs.sparklayer.io/developers/api.md).

> **Copy the client secret straight away**
>
> The client secret is only shown once, when you create the key. Store it somewhere safe before you click **Done**.

**API keys** lists each key's **Name**, **Client ID**, when it was **Created** and when it was **Last used**.

To stop a key working, click **Revoke** next to it, then **Revoke key**. Anything using it stops working straight away, and you can't undo this.

## Templates

Templates change specific content your B2B buyers see. They're an advanced feature that needs a developer, because editing one means working with code (Liquid, HTML and CSS). If you'd like help, book a call with our team.

Email and translation templates are on every plan. Invoice templates need the Growth plan or above.

| Template covers | What you can change |
| --- | --- |
| **Invoices** | Your own layout and wording on the [invoice](https://docs.sparklayer.io/help/ordering/invoices.md) PDF customers download. |
| **Email notifications** | Order, quote and account emails, such as the order review emails sent with [company users](https://docs.sparklayer.io/help/customers/company-users.md) and [quote](https://docs.sparklayer.io/help/ordering/quoting.md) notifications. |
| **Translations** | Language packs beyond the built-in ones. |

Templates only change SparkLayer's emails, PDFs and text, not your website's theme. For the full detail, see [Templates](https://docs.sparklayer.io/developers/templates.md) in the developer docs.

### Create a template

1. Go to **Settings > Templates** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/theme)), or **SparkLayer Wholesale > Settings > Templates** in the Shopify app.
2. Click **Create template**. SparkLayer creates a template theme for you to edit.

A new template is empty, so it falls back to SparkLayer's core templates and language files until you add files to it. For the developer guide, click **How templates work**. 

**Files, revisions and the templating language**

**Add files only when you'll change them.** Once added, a file isn't updated from SparkLayer's core templates. If a new feature adds a section to a core template, your copy won't get it. Copy the change into your file, or create a new template.

| File type | What it's for |
| --- | --- |
| **Language** | A language file for the templates. If it matches your store's language, SparkLayer's core templates use it even if you haven't created any templates, falling back to SparkLayer's language files for any missing key. The SparkLayer `en` language file is the last resort. |
| **Sections** | Used in emails only: a reusable header and footer for your email templates. |
| **Emails** | The emails sent by SparkLayer. |
| **PDF** | The PDFs created by SparkLayer. |

**Templating language.** Templates are [written in Liquid](https://shopify.github.io/liquid/). They must be valid HTML, with the CSS written in the template. All CSS is inlined when the template is rendered, for the best compatibility with email clients. SparkLayer only supports modern email clients from the last few years. Language files are written in JSON.

**Revisions.** Edit a file in the SparkLayer editor and click **Save** to create a revision. To go back, open a previous revision from the **Revisions** drop-down and save it. For bigger changes, download a ZIP file of the template so a developer can work on it with their own tools. Then zip it up and upload it. Only the known template files are processed, so extra files, such as images, aren't added.
