> For the complete documentation index, see [llms.txt](https://docs-shpf.bsscommerce.com/b2b-wholesale-solution/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs-shpf.bsscommerce.com/b2b-wholesale-solution/b2b-pricing/more-add-depth-and-flexibility-to-your-b2b-pricing/extra-fee/add-extra-fees-to-customer-orders.md).

# Add Extra Fees to Customer Orders

Configure automatic fees that apply when customers meet specific order conditions — by quantity, order amount, or product type.

Some orders carry additional costs: extra handling, packaging, insurance, special processing, or other overheads. With the **Extra Fee** module, you can **automatically add fees** when certain conditions are met — ensuring your business recovers those costs while maintaining trust and clarity for your B2B clients.

This feature seamlessly integrates into your pricing ecosystem, so your wholesale pricing is complete — discounts, shipping, and extra fees all in one place.

## 🛠 How to Set Up an Extra Fee Rule

### Open Extra Fee and add a rule

1. In the Shopify admin, open the B2B Solution app and go to **B2B pricing › Extra Fee**.
2. Make sure the switch next to the **Extra Fee** title is **On**.
3. Click **Add rule** above the rule list. If you have no rules yet, click **Add extra fee** instead.

<figure><img src="https://1478990334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGolQYRPH9iUGYatlTXwl%2Fuploads%2Fgit-blob-454060351ae81af684266774ed699e4b948dfe35%2Fcms-ef-setup-01.png?alt=media" alt="Open Extra Fee and add a rule"><figcaption><p>Open Extra Fee and add a rule</p></figcaption></figure>

{% hint style="success" %}
**Need many simple rules quickly?** Click **Quick create**. One row becomes one rule: pick the customers (**Customers with tag**, **Specific customers**, **All customers** or **Logged-in customers**), the **Fee type** (**Fixed fee**, **Fixed fee per item** or **Percentage of applied items' subtotal**) and the **Value**. The rule name is written for you. Fees apply to all products from the first item — open a rule afterwards to add quantity or amount tiers.
{% endhint %}

The rule page (**New extra fee rule**) is one page with the sections below, plus a **Make Extra Fee live** card.

***

### Rule

<figure><img src="https://1478990334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGolQYRPH9iUGYatlTXwl%2Fuploads%2Fgit-blob-8a73f313e77274db8a4be16881cdd4e508de4c60%2Fcms-ef-setup-02.png?alt=media" alt="Name the rule"><figcaption><p>Name the rule</p></figcaption></figure>

| Field      | Options                  | What it does                                                                                                                                                                           |
| ---------- | ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name**   | Text                     | This is the title of the fee line at checkout, for example "Handling fee". If you leave it empty, it is written for you from the customers, for example "Extra fee for tag wholesale". |
| **Status** | **Enable** / **Disable** | Only enabled rules apply on the storefront. The rule list shows a status badge per rule (**Active**, **Scheduled**, **Expired**).                                                      |

***

### Customers

| Field         | Options                                                                                                                                          | What it does                                                                                      |
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------- |
| **Customers** | **All** (logged-in and not-logged-in customers), **Logged-in customers**, **Not-logged-in customers**, **Specific customers**, **Customer tags** | Choose who is charged this fee. Use **Customer tags** (for example `wholesale`) to cover a group. |

***

### Products

| Field        | Options                                                                            | What it does                                                                   |
| ------------ | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| **Products** | **All products**, **Specific products**, **Product collections**, **Product tags** | Choose which products trigger the fee. Extra Fee rules have no market setting. |

{% hint style="info" %}
Extra Fee targets products, collections, and product tags. It does **not** support targeting individual variants — if you need variant-level control, use a pricing module such as Custom Pricing or Price List instead.
{% endhint %}

***

### Extra Fee calculation and Rule settings

<figure><img src="https://1478990334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGolQYRPH9iUGYatlTXwl%2Fuploads%2Fgit-blob-51e90175c5862283333fd590f689d9eec3c81998%2Fcms-ef-setup-03.png?alt=media" alt="Set the fee calculation and ranges"><figcaption><p>Set the fee calculation and ranges</p></figcaption></figure>

**Extra Fee calculation** — choose how to apply the fee calculation:

| Option                | Description                                                                         |
| --------------------- | ----------------------------------------------------------------------------------- |
| **All applied items** | The fee is based on the total quantity or amount of all eligible items in the cart. |
| **Per item**          | The fee is based on the quantity or amount of each eligible item on its own.        |

**Rule settings** — pick **Quantity** or **Price amount** for the ranges, then fill in each range:

| Field             | Options                                                                                                                                                                   | What it does                                                                                                                                                                                                                                                                  |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **From** / **To** | Numbers                                                                                                                                                                   | The range the fee covers. Leave **To** empty for no upper limit. **To** must be greater than 0 and not less than **From**.                                                                                                                                                    |
| **Fee type**      | **Fixed fee**, **Fixed fee per item**, **Percentage of applied items' subtotal** (with **All applied items**) or **Percentage of the original price** (with **Per item**) | **Fixed fee** is charged once when the range is met. **Fixed fee per item** is charged for each qualifying item. Percentage is a share of the subtotal or original price. Switching **Extra Fee calculation** converts the percentage type automatically.                     |
| **Fee amount**    | Number                                                                                                                                                                    | The fee. Required.                                                                                                                                                                                                                                                            |
| **Free shipping** | Checkbox                                                                                                                                                                  | Gives free shipping when the cart falls in this range. Free shipping from Extra Fee overrides a Shipping Rate rule. See [Settings for Extra Fee](/b2b-wholesale-solution/b2b-pricing/more-add-depth-and-flexibility-to-your-b2b-pricing/extra-fee/settings-for-extra-fee.md). |

Click **Add quantity range** or **Add amount range** to add the next range and build a tiered structure.

**Example:**

* 1–10 items → $2.00 fixed fee per item
* 11–50 items → $15.00 fixed fee
* 51+ items → 5% of the applied items' subtotal

***

### Exclusions and schedule (optional)

This section is collapsed by default — click it to open. It opens automatically when the rule already has exclusions.

| Field                 | Options                                                            | What it does                                                                                                                                                    |
| --------------------- | ------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Exclude customers** | **None**, **Specific customers**, **Customer tags**                | These customers are never charged, even if they match **Customers**. For example, exclude the tag `vip`.                                                        |
| **Exclude products**  | **None**, **Specific products**, **Collections**, **Product tags** | These products don't trigger the fee, even when other products in the cart do. Variants can't be excluded.                                                      |
| **Schedule**          | Start date and time; optional end date and time                    | Run limited-time or seasonal fees (for example holiday handling surcharges). The list badge shows **Scheduled** before the start and **Expired** after the end. |

***

### Advanced

Click **Advanced** (collapsed by default) to set the rule **Priority** (`0` = highest). If several rules overlap, the priority decides which one applies.

***

### Save and make it live

1. Click **Save** in the save bar. The rule is created and the page reopens with the **Make Extra Fee live** card at the top. (When you reopen a saved rule later, the same card sits in the right sidebar and shows a **Live** or **Not live yet** badge.)
2. Check every row of the card until it shows **Live**:
   * **Rule saved**
   * **Rule is enabled** — shows **Rule is disabled** if the status is off. A scheduled rule waits for its start date; an expired rule needs new dates.
   * **Extra Fee module is on** — click **Turn on module** if it is off.
   * **App embed is on in your theme** — click **Open theme editor**, turn on the B2B Solution app embed, save, then click **Check again**.

<figure><img src="https://1478990334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGolQYRPH9iUGYatlTXwl%2Fuploads%2Fgit-blob-38676016f0f2ef7599ab1c0cab8c80d98da8e151%2Fcms-ef-setup-04.png?alt=media" alt="Make Extra Fee live checklist, with a disabled rule"><figcaption><p>Make Extra Fee live checklist, with a disabled rule</p></figcaption></figure>

3. To customize where and how the fee table appears, open **Storefront setup** (see [Settings for Extra Fee](/b2b-wholesale-solution/b2b-pricing/more-add-depth-and-flexibility-to-your-b2b-pricing/extra-fee/settings-for-extra-fee.md)).

***

### Manage rules

* **Edit** — click the rule name in the list.
* **Quick edit** — use the row action **Quick edit** (or select several rules and choose **Edit status**) to change a rule's name, status or **Applies to** (**Customers with tag**, **Specific customers**, **All customers** or **Logged-in customers**) without opening it.
* **Delete** — from the rule list. **Search** — use the search box above the list.

#### Export your rules

1. Go to **B2B pricing › Extra Fee**. Click **Export** above the rules list, or select rules and choose **Export** from the bulk actions. (**More actions › Export** in the page header also works.)
2. In the **Export rules** window, choose what to export: **Current page**, **All records**, **Selected records** (when you have ticked rules) or the records matching your search (when a search is active).
3. Under **Export as**, choose **CSV** or **Excel**, then click **Export rules**.
4. The export runs in the background with a progress message. When it finishes, click the download link.

<figure><img src="https://1478990334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGolQYRPH9iUGYatlTXwl%2Fuploads%2Fgit-blob-c3374cc69fa9d0d8a9d490c55ee425121e78feca%2Fcms-export-modal-01.png?alt=media" alt="Export rules window opened from the rules list"><figcaption><p>Export rules window opened from the rules list</p></figcaption></figure>

{% hint style="info" %}
Download links expire after 24 hours — run the export again to get a new link. Extra Fee rules can be exported but not imported.
{% endhint %}

## 👀 What Customers Will See

* On **product pages**, applicable fees may be shown if the product meets your rule criteria

<figure><img src="https://1478990334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGolQYRPH9iUGYatlTXwl%2Fuploads%2Fgit-blob-1959d9f75b7faf56b45b6732e555c90ce6c466a0%2Fcms-ef-storefront-01.png?alt=media" alt="Extra fee table on the product page"><figcaption><p>Extra fee table on the product page</p></figcaption></figure>

* At **checkout**, the extra fee is added transparently to the order, so customers know what they’re paying for
* If the order doesn’t meet the thresholds or applies to excluded customers/products, **no extra fee** will be charged

<figure><img src="https://1478990334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGolQYRPH9iUGYatlTXwl%2Fuploads%2Fgit-blob-73714198f4faa6a1ee946fb3ed73f8a0b3daf339%2Fcms-ef-storefront-02.png?alt=media" alt="Extra fee line at checkout"><figcaption><p>Extra fee line at checkout</p></figcaption></figure>

{% hint style="info" %}
If you need further assistance, please feel free to reach us at [**support@bss-b2b.solutions**](mailto:support@bss-b2b.solutions) or [**Live Chat**](https://go.crisp.chat/chat/embed/?website_id=9f64b5a9-1a02-4190-93b8-8ef56b19f740).
{% endhint %}
