> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.tunl.to/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# 🛒 How to customise your shipping options at checkout

You decide what your customers see when TUNL rates show at checkout: which services appear and what they're called, who pays duties and taxes, and whether you discount shipping or add a handling fee. You set it all up in TUNL, then publish it to your store in one go.

| 💡 Live rates at checkout are on every TUNL plan, including Launch.



---
## Where to find it

In TUNL, go to **Settings → Integrations → Store Integration**, then choose your store.

![](https://storage.crisp.chat/users/helpdesk/website/-/e/a/5/b/ea5b318969f4c800/image_zc0ef8.png)




At the top you'll see your store and its status:
* **Connected, not published.** Work through the setup steps, then publish to show TUNL rates at your checkout.
* **Published.** TUNL rates are live at your checkout.
* **Setup paused** *(Shopify only)*. Third-party carrier rates aren't switched on in your Shopify store yet. Turn them on in Shopify, then try again.

Each settings row has a status too: **Live** (at your checkout now), **In preview** (saved, but not published yet) or **Missing data**.

Below that are the settings you can change:

| Setting | What it controls |
| ---- | ---- |
| **Services** | Which carrier services show, what they're called, and the order values they show for |
| **Duties & taxes** | Who pays duties and taxes, and whether that changes by country |
| **Checkout fallbacks and insurance** | What we use when a product is missing a weight or HS code, and whether shipments are insured |
| **Discounts** | Take money off the shipping price. This is how you set up free shipping |
| **Handling fees** | Add a fee to the shipping price |

On the right, the **checkout preview** shows what we'll send to your checkout, and the **shipping policy** is written from your settings.

---
## Saving and publishing
**Nothing reaches your checkout until you publish.**

1. Make your changes on any settings page and click **Save changes**.
2. A bar appears at the top of the page: *{n} changes saved and waiting to publish*.
3. When you're ready, click **Publish to store**, then **Publish**.

You'll see *Published. Your checkout now uses these settings.* To throw away everything you've saved but not published, click **Reset changes** instead.


![](https://storage.crisp.chat/users/helpdesk/website/-/e/a/5/b/ea5b318969f4c800/image_fawt5k.png)



|| You can't publish without a fallback weight. If yours is missing, the bar says so and links you to it.


---
## 1. Services
Click **Edit** on the Services row.

![](https://storage.crisp.chat/users/helpdesk/website/-/e/a/5/b/ea5b318969f4c800/image_4evjhe.png)


For each carrier service:
* **Turn it on or off.** Switching a service off hides it from your customers but keeps its settings.
* **Display name.** Replaces the carrier's name at checkout, so *FedEx International Priority* can read *Express* instead.
* **Min and max order value.** Show the service only for orders in that range. Leave either blank for no limit.

||| ⚠️ Don't add a duties tag to the display name.
We add \[Duties & Taxes Included] or \[Duties & Taxes on delivery] to the name for you, depending on how duties are charged. If you type it in yourself, it shows twice.


The delivery time next to each service (like *4 to 6 business days*) is set by us and can't be changed.

---
## 2. Duties & taxes

Click **Edit** on the Duties & taxes row.

![](https://storage.crisp.chat/users/helpdesk/website/-/e/a/5/b/ea5b318969f4c800/image_1m3xx8v.png)


Pick a default for your store:

| Option | Your customer pays at checkout | On delivery | Selected when you book |
| ---- | ---- | ---- | ---- |
| **Charge your customer duties and taxes at checkout (DDP)** *Recommended* | Shipping, duties and taxes | Nothing | DDP |
| **Do not charge duties and taxes at checkout or delivery** | Shipping only | Nothing. You pay the duties when you book | DDP |
| **Charge your customer duties and taxes on delivery, not at checkout (DAP)** | Shipping only | Duties and taxes, to the carrier | DAP |
| **Offer your customer the choice of paying at checkout or delivery** | Their choice | Their choice | Whichever they pick |

With DDP, each shipping option ends in *\[Duties & Taxes Included]*, and the description gives the amount: *Shipping: R 246.43 · Duties & Taxes: R 416.66.* With DAP, it ends in *\[Duties & Taxes on delivery]* and gives the estimate. See **What your customer sees at checkout** below.

|| 💡 With the choice option, each express service shows twice at checkout: once with duties and taxes included, once with them billed on delivery. Economy shows once, with duties included. Check the preview before you publish.


### Different settings for some countries

Under **Exceptions**, add the countries and choose how they're charged:
* **DDP — Charge at checkout**
* **DDP - Do not charge**: your customer pays nothing for duties, at checkout or on delivery. You pay them when you book
* **DAP — Charge on delivery**

The first exception that matches a country applies. Anywhere else uses your default.

---
## 3. Checkout fallbacks and insurance
Click **Edit** on the Checkout fallbacks and insurance row.

![](https://storage.crisp.chat/users/helpdesk/website/-/e/a/5/b/ea5b318969f4c800/image_1lwn1z.png)

Rates and duties come from your product data. When a product is missing something, we use these instead, so your customer still gets a rate.

1. **Fallback weight** *(required)*
   * Used when a product has no weight. It must be above 0 kg, and you can't publish without it. **Use your largest typical parcel, not your average.** Set it too low and your customer underpays for shipping.
2. **Fallback HS code**
   * Used when a product has no HS code. **Without one, products that are missing an HS code get a duties-on-delivery rate, even where you charge duties at checkout.** Choose a code with a higher duty rate if you're unsure, so duties aren't undercharged.
3. **Fallback country of origin**
   * Where the product was made, or last substantially changed.

If the fallback weight, HS code or country of origin is empty, the overview shows a red **Missing data** chip on this row. Hover over it to see what's missing.

| 💡 Fallbacks are a safety net. The most accurate rates come from a weight, HS code and country of origin on every product.


**Insurance**
Switch it on to insure your shipments. The cost is added to the rate your customer sees, and shows as its own amount in the description. It covers your product and the shipping cost.

**Multi Currency at Checkout** *(WooCommerce only)*
Turn this on if your WooCommerce store lets customers pay in more than one currency, and set your **Store Base Currency**: the currency your product prices are set in.

---
## 4. Discounts, including free shipping
Click **Add discount** on the Shipping price rules card.

![](https://storage.crisp.chat/users/helpdesk/website/-/e/a/5/b/ea5b318969f4c800/image_1gtlhao.png)


**Free shipping is a discount rule.** Set a 100% discount with a minimum order value, and shipping is free above it.

For each rule:

1. **Rule name** *(required)*. Only you see this. Name it so you can tell your rules apart, e.g. *Free shipping over R 1 000*.
2. **How this discount shows at checkout:**
   * **Add it to the shipping price.** Your customer sees one, lower shipping amount, e.g. *Shipping: R 180.00*.
   * **Show it as a separate amount.** Your customer sees the same lower price, plus how much you've taken off, under your **Label at checkout**, e.g. *Shipping: R 180.00 (Includes 10% off R 20.00)*. Labels can be up to 30 characters.
3. **Min and max order value.** The rule applies to orders between these values. Leave either blank for no limit.
4. **Discount type.** A **percentage**, with an optional **maximum discount**, or a **fixed amount**.
5. Click **Save changes**, then publish.

To add another, click **Add new rule** under your last rule.

||| ⚠️ If more than one rule matches an order, they all apply, one after another. Use the order values to keep rules from overlapping.

|| A discount lowers what your customer pays, not what you're charged. You cover the difference.


---
## 5. Handling fees
Click **Add handling fee**. It works like a discount, but adds to the shipping price.

![](https://storage.crisp.chat/users/helpdesk/website/-/e/a/5/b/ea5b318969f4c800/image_a8g7xx.png)
Choose how it shows at checkout:
* **Add it to the shipping price.** Your customer sees one shipping amount, with the fee already in it.
* **Show it as a separate amount.** Your customer sees the fee next to shipping, under your **Label at checkout**, e.g. *Shipping: R 434.40 · Handling fee: R 21.72*. Labels can be up to 30 characters.
Use it to recover packaging costs, or carrier surcharges that would otherwise come out of your margin.

---
## 6. Check the preview
The **checkout shipping options preview** shows what we send to your checkout for a shipping location, order value and currency you choose. Your Shopify or WooCommerce theme decides how it looks.

![](https://storage.crisp.chat/users/helpdesk/website/-/e/a/5/b/ea5b318969f4c800/image_1kkwl9r.png)


The preview updates as you change your settings, so you can check a change before you save and publish it.

|| ⚠️ Prices in the preview are estimates, not live rates. The preview assumes your products have HS codes. At checkout, products without one use your fallback HS code, or get a duties-on-delivery rate if you haven't set one.

---
## What your customer sees at checkout
Each rate shows a name, a price, the delivery time and a short description. With duties charged at checkout:

> **FedEx International Priority \[Duties & Taxes Included]** R 663.09
> 4 to 6 business days
> Shipping: R 246.43 · Duties & Taxes: R 416.66.

With duties paid on delivery:

> **FedEx International Priority \[Duties & Taxes on delivery]** R 246.43
> 4 to 6 business days
> Shipping: R 246.43 · Duties & Taxes: R 416.66 estimated, billed on delivery. Not guaranteed.

A few other things can show in the description:
* **A discount shown as a separate amount** appears in brackets after the shipping price, e.g. *Shipping: R 180.00 (Includes 10% off R 20.00)*.
* **A handling fee shown as a separate amount** and **insurance**, if it's on, appear after Shipping, e.g. *Handling fee: R 21.72 · Insurance: R 12.50*.
* **Free shipping** reads *Shipping: Free*.
* **If we can't estimate duties**, for example because a product has no HS code and you haven't set a fallback, a duties-on-delivery rate reads *Duties & Taxes billed on delivery.*

---
## Your shipping policy

On your store page, we write a shipping policy from your published settings: your services and delivery times, your shipping costs and how duties and taxes work. Click **Copy policy** and paste it into your store's shipping policy page. Copy it again after you publish a change.

For more on what makes a good policy, see [Your Guide to Building a Clear & Trusted International Shipping Policy](https://help.tunl.to/en/article/your-guide-to-building-a-clear-trusted-international-shipping-policy-bikf8e/).

---
## Common setups

**Free shipping over a threshold, duties included**
Duties & taxes → DDP. Discount → 100%, minimum order value R 1 000.

**Duties priced into your products**
Duties & taxes → *Do not charge duties and taxes at checkout or delivery*. Your customer pays shipping only, and nothing on delivery.

**Recover packaging on small orders**
Handling fee → fixed R 50, maximum order value R 500, added to the shipping price.

---
## What you can't do yet

* Discounts and fees apply by order value only. You can't limit them to a country or a carrier.
* Service names apply everywhere. You can't name a service differently in different countries.
* Delivery times can't be edited.
* Descriptions are written for you, so they always match what's charged.
* Insurance is on or off for every order. Your customer can't choose.

Tell us what you're trying to do. It helps us decide what to build next.

---
## 🔧 Troubleshooting

**I saved, but nothing changed at checkout.**
Saving isn't publishing. If you see the *changes saved and waiting to publish* bar, click **Publish to store**.

**I can't publish.**
If the bar says *Set a fallback weight above 0 before you publish*, click **Go to checkout fallbacks**, add a weight, save, then publish.

**It says "We couldn't publish your changes".**
Your changes are still saved. Click **Try again**. If it keeps happening, contact us.

**The preview shows duties and taxes, but my checkout doesn't.**
The product is probably missing an HS code, and you haven't set a fallback HS code. Add one, then test at checkout.
**\[Duties & Taxes Included] shows twice.**
Remove it from the service's display name. We add it for you.

**My customer paid less than TUNL charged me.**
Check your discounts. A discount lowers what your customer pays, not what you're charged. Also check Shopify for an old negative handling fee on the TUNL rate, and remove it.

**My checkout shows more options than I expected.**
You're on the *choice* duties option, which shows each express service with and without duties.

---
### 🦸‍♀️ Have more questions? We're here to help!

If you run into any issues or have questions, reach out to our support team via WhatsApp [here](http://wa.link/gpiyz3) or email <support@tunl.to>.

**Please help us help you by rating this article below. Was it useful? Your feedback means a lot to us!**
**Keywords:** Shipping options | Checkout | Live rates | Free shipping | Discount | Handling fee | Duties and taxes | DDP | DAP | Shopify | WooCommerce