> 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/order-management/net-terms/set-up-net-terms-for-your-b2b-customers.md).

# Set Up Net Terms for Your B2B Customers

Offer buy now, pay later to approved B2B customers — add the Net Terms button to your cart, create a rule with payment terms and choose how orders are created.

The **Net Terms** module lets approved customers **buy now and pay later**. Assign a payment term (for example Within 30 days) and the customer has that long to pay after the order is placed.

{% hint style="info" %}
Net Terms is hidden in the admin on stores that use storefront v4.
{% endhint %}

## Step 1: Turn on Net Terms and the app embed

1. Go to **B2B orders & discounts › Net Terms** and click **Storefront setup**.
2. Click **Turn on module**. (You can also use the switch next to the **Net Terms** title.)
3. Click **Open theme editor**, turn on the **B2B Solution** app embed, save the theme and 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-d88467d3a8227b74f5fb2b4977c638a41c8c3c79%2Fcms-nt-setup-01.png?alt=media" alt="Net Terms storefront setup"><figcaption><p>Net Terms storefront setup</p></figcaption></figure>

## Step 2: Add the Net Terms button to your cart

The Net Terms button is a theme app block. It does not appear on your cart page until you add it.

1. On **Storefront setup**, in the **Net Terms button in your theme** row, click **Add app block**. If the app block section below shows it instead, click **Enable button on cart page**.
2. The theme editor opens on your cart page with the **Net terms** block. Set **Display text** (**Pay later** by default), the colors, **Width**, **Height** and **Align**.
3. Add at least 1 product to your cart to preview the button, then save the theme.

{% hint style="warning" %}
**This step is required.** Without the app block, the button never appears, even when your rules are active. The block is offered only while the Net Terms module is on. There is no manual code alternative. To show the button in a cart drawer, or if your cart does not accept app blocks, contact us via live chat and our team installs it for free.
{% endhint %}

<figure><img src="https://1478990334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGolQYRPH9iUGYatlTXwl%2Fuploads%2Fgit-blob-220e73e3270ef29d37d562e9c7a4d1a2c47eb24b%2Fcms-nt-setup-02.png?alt=media" alt="Add the Net terms block to the cart page"><figcaption><p>Add the Net terms block to the cart page</p></figcaption></figure>

## Step 3: Create a rule

Go to **B2B orders & discounts › Net Terms**, open the **Rules** tab and click **Add rule**. If you have no rules yet, click **Add rule** in the empty state. The **New net terms rule** page is a single page of cards, from top to bottom: **Rule**, **Customers**, **Products**, **Payment terms**, **Net Terms order limit**, **Auto-tag orders when purchasing with this rule**, **Application for Net Terms** and **Advanced**. **Advanced** is collapsed: click **Show** to open it. The right sidebar has the **Make Net Terms live** card with a **Not live yet** / **Live** badge. Click **Save** in the save bar when you are done.

<figure><img src="https://1478990334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGolQYRPH9iUGYatlTXwl%2Fuploads%2Fgit-blob-041b2e562bd7d41cfee78269e5a0daaf5281f21c%2Fcms-nt-rule-01.png?alt=media" alt="New net terms rule page"><figcaption><p>New net terms rule page</p></figcaption></figure>

### Rule

| Field      | Options          | What it does                                                                                                                                                       |
| ---------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Name**   | Text             | Use a clear, descriptive name to find the rule later. Leave it empty and the name is written for you from the customers and payment terms. Shown in the rule list. |
| **Status** | Enable / Disable | Disabled rules are not applied to your storefront. Keep it on **Enable**                                                                                           |

### Customers

| Field                  | Options                                                              | What it does                                                                                           |
| ---------------------- | -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| **Apply to customers** | **Logged-in customers** · **Specific customers** · **Customer tags** | The Net Terms button shows only to logged-in customers who match an enabled rule. Guests never see it. |

### Products

| Field        | Options                                                                               | What it does                                                                                                                                                              |
| ------------ | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Products** | **All products** · **Specific products** · **Product collections** · **Product tags** | Products that can be bought with Net Terms. If the cart holds products that are not eligible, the app lists them and blocks Net Terms checkout until the cart is updated. |

### Payment terms

Pick one option from the **Payment terms** menu. Some options ask for more.

| Option                                | When payment is due                                     | Extra input                                                                                                    |
| ------------------------------------- | ------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| **Due on receipt**                    | Immediately on order placement                          | none                                                                                                           |
| **Due on fulfillment**                | When the order is fulfilled                             | none                                                                                                           |
| **Within 7 / 15 / 30 / 60 / 90 days** | That many days after the order date                     | none                                                                                                           |
| **Due on specific day of month**      | Every N months on a chosen day                          | **Every** (months) and **On** (Day 1 to Day 31). If a month lacks that day, no due date is set for that month. |
| **End of month**                      | Last day of the order month                             | none                                                                                                           |
| **End of month + X days**             | X days after the order date, then the end of that month | **Days** (1 to 366)                                                                                            |
| **End of next month**                 | Last day of the month after the order                   | none                                                                                                           |
| **Custom**                            | A custom period after the order date                    | **Count** with **Time**: **Day(s)** (1 to 366), **Week(s)** (1 to 52) or **Month(s)** (1 to 12)                |

### Net Terms order limit

Restrict when Net Terms can be used. Choose a **Rule type**: **Minimum order amount**, **Maximum order amount**, **Minimum order quantity** or **Maximum order quantity**, then enter the value.

The default, **Minimum order amount** 0, sets no limit. A maximum must be greater than 0. Net Terms limits are per order: it does not keep a running credit balance per customer.

### Auto-tag orders when purchasing with this rule

Add **Order tags** (for example `net_30`) to every Net Terms order created under this rule. Useful for filtering orders in Shopify admin.

### Application for Net Terms

This is the form buyers fill in after clicking the Net Terms button. A live **Preview** updates as you edit.

* **Default fields**: first name, last name, address, apartment, city, postal code and country (with an optional state/province field). **First name** and **Apartment** can be made required. **Last name**, **Address**, **City**, **Postal code** and **Country** are always required and cannot be removed.
* Click **Add new field** to add **Custom fields**: Phone (international format validation), Company, Purchase Order Number (saved as the order's PO number), dropdown, multiple checkbox, radio options, text field, text area, heading, number, date field and file upload (CSV, DOC/DOCX, GIF, JPG, PNG, PDF, WAV, XLS/XLSX, ZIP, MP4, TXT; max 10 MB per file).
* **Tax ID verification fields** (optional, with live validation): EU VAT, UK VAT, US EIN, ABN and India GST.

<figure><img src="https://1478990334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGolQYRPH9iUGYatlTXwl%2Fuploads%2Fgit-blob-ebe141776508b9cb31e1268aa33235b742bdd59d%2Fcms-nt-rule-02.png?alt=media" alt="Net Terms request form"><figcaption><p>Net Terms request form</p></figcaption></figure>

### Advanced

Click **Show** to open it. **Priority** decides which rule wins when several rules match the same customer: 0 is the highest priority.

### Make Net Terms live

After you save, the **Make Net Terms live** card checks that the rule is saved and enabled, the Net Terms module is on and the app embed is on in your theme. The badge changes from **Not live yet** to **Live**.

## Create many rules at once: Quick create

On the **Rules** tab, click **Quick create**. Each row becomes one rule for a customer tag, specific customers or all logged-in customers, with the payment terms you pick. Rules apply to all products with the default request form; open a rule afterwards to change it.

## Quick edit

To change a rule's **Rule name**, **Priority** or **Status** without opening it, click **Quick edit** in the rule's row actions. Select several rules and choose **Edit status** to turn them on or off together.

## Settings

Click **Settings** in the module header.

### Order submission

| Option                                              | What happens                                                                                  |
| --------------------------------------------------- | --------------------------------------------------------------------------------------------- |
| **Create a draft order for me to review** (default) | Each Net Terms order is saved as a Shopify draft order that you review and complete yourself. |
| **Place the order automatically**                   | Each Net Terms order is created as a regular order in Shopify right away.                     |

Both options add Shopify payment terms with the due date to the order.

### Order confirmation message

Edit what customers see after they place a Net Terms order. Use `{{order_name}}` for the order number and `{{number_of_days}}` for the number of days in which the net term applies.

Click **Save**. The **Settings** page also shows a live preview of the cart page.

<figure><img src="https://1478990334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGolQYRPH9iUGYatlTXwl%2Fuploads%2Fgit-blob-593a99808173bf6defec3ae6066d78b6c17806ff%2Fcms-nt-settings-01.png?alt=media" alt="Net Terms settings"><figcaption><p>Net Terms settings</p></figcaption></figure>

## Translations

Go to **B2B orders & discounts › Net Terms › More actions › Translations**. There are two tabs:

* **General translations**: the texts in the Net Terms popup and checkout flow. Select a language, then edit the strings. Keep placeholders such as `{{date}}`, `{{value}}` and `{{quantity}}` so dynamic values still appear.
* **Form translations**: field labels and option text of the request form. Select the **rule**, then a **language**, and switch between **Default fields** and **Custom fields**. Translations apply per rule, so translate each rule separately.

## Verify the setup

1. Log in to your storefront as a customer who matches the rule.
2. Add an eligible product to the cart and open the cart page. The **Pay later** button should show. If not, open **Storefront setup** and check each item.
3. Click the button, fill in the required fields and confirm.
4. Check the **Orders** tab of Net Terms: the order shows with the due date and payment status. In Shopify admin it appears as a draft order or an unpaid order, depending on **Order submission**.

**Negative test:** log in as a customer who does not match the rule. The button should not appear.

<figure><img src="https://1478990334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGolQYRPH9iUGYatlTXwl%2Fuploads%2Fj1qU84TRGScewYrwTqsL%2Fimage.png?alt=media&amp;token=cfde3db6-c0d4-4fab-8918-cbbff1c50601" alt=""><figcaption></figcaption></figure>

### Example

You assign **Within 30 days** to a customer. They order on October 14. The order is marked **Unpaid** and the due date is November 13.

## Track and export orders

Open the **Orders** tab of Net Terms. Columns: **Order**, **Customer**, **Order date**, **Total**, **Currency**, **Net Terms**, **Due in**, **Payment status** (**Paid**, **Unpaid** or **Overdue**) and **Order status** (**Open** for a draft order or **Completed**).

* Search by order name or email, and sort the list.
* Filter with **Due status**: **All**, **Due**, **Not due yet**, **Due on receipt**, **Due on fulfillment**.
* To download a CSV, open **Export** and click **Export**. The file includes the orders that match your search and filter. You can also export all orders from **More actions › Export**.
* When it is ready, download `export_nt_orders.csv` from the message. Earlier files are under **Export › Export history**. Only one export can run per store at a time, and download links expire.

The file has: Order Number, Customer Email, Customer Name, Rule duration, Due date, Due status, Status, Total Amount, Currency, Created At and Order Link.

{% hint style="info" %}
Net Terms does not keep a running balance. When a customer pays outside Shopify (check, bank transfer), mark the order as paid in Shopify admin: the **Orders** tab then shows **Paid**.
{% endhint %}

<figure><img src="https://1478990334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGolQYRPH9iUGYatlTXwl%2Fuploads%2Fgit-blob-eb23027c59e69865ad50b92d05c3f11e6f063f5f%2Fcms-nt-orders-01.png?alt=media" alt="Net Terms Orders tab"><figcaption><p>Net Terms Orders tab</p></figcaption></figure>

## FAQ

**Why doesn't the Pay later button show on my cart?** It shows only when the Net Terms module and the B2B Solution app embed are on, the **Net terms** app block is on your cart page, and a logged-in customer matches an enabled rule.

**My rule uses Due on fulfillment, but the customer was charged right away. Why?** Payment terms are added only to orders placed with the **Pay later** button and the Net Terms form. If the customer clicks the regular checkout button, the order follows your normal Shopify payment settings.

**Can I hide the regular Checkout button?** Net Terms adds its button next to your theme's checkout button. To hide the regular checkout for Net Terms customers, contact us via live chat.

**The Pay later button is still on my store after I turned Net Terms off.** It was most likely added with custom code, for example in a cart drawer. Remove the block in the theme editor or contact us via live chat.

{% 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 %}
