# Zonal > Full documentation content for Zonal --- # Default ## Getting started ### Overview **URL:** https://zonal.mantledocs.com/overview In this area, you’ll find guidance on how to install and configure Zonal for use. --- ### Create a courier **URL:** https://zonal.mantledocs.com/create-a-courier ## What a courier is in Zonal A courier in Zonal is a container you can link **Shipping Rates** to. Once set up, it helps determine which delivery option is available to customers at checkout. When you create a courier, you add its basic details and can optionally control when it is offered by using **Blacklist** and **Whitelist** collections. Each courier must have its own unique **Courier Reference Code**. Zonal uses this code to identify the courier in Shopify. ## Create a courier In the Zonal app, go to **Couriers** and click **Add Courier**. In **Courier Name**, enter a name your team will recognise. This can match the shipping service you use, such as **Royal Mail** or **DHL**, or describe the delivery promise, such as **Standard Delivery (48 hrs)**. In **Courier Reference Code**, enter a unique code for that courier. For example, you might use a provider code or your own internal naming pattern, such as `RM001` or `DHL001`. If needed, use **Blacklist** or **Whitelist** and click **Browse Collections** to select product collections. - **Whitelist**: the courier is offered only when the basket contains only products from the selected whitelisted collections. - **Blacklist**: the courier is not offered when the basket contains any products from the selected blacklisted collections. Use the **Status** dropdown to choose whether the courier should be available. New couriers can be created with **Active** selected if you want them ready for use straight away. ![Add Courier screen in Zonal showing Courier Name, Courier Reference Code, Blacklist, Whitelist, Status, and Language fields](https://cdn.heymantle.com/orgs/c60dabf2-e049-400a-a45b-5abda837631d/docs-pages/4584afe3-f5fb-4b7b-880d-03f5deda9f55/Screenshot_2026-04-08_at_13.02.07.png) ## How to name a courier Choose a name that makes the courier easy to identify when you link it to Shipping Rates later. - Use the shipping provider name if that is clearest for your team, such as **Royal Mail**. - Use the delivery speed if that better matches how you sell delivery options, such as **Standard Delivery (48 hrs)**. - Keep names consistent so similar services are easy to compare. If customers see delivery options based on speed rather than provider, naming couriers by expected delivery time can make setup easier to manage. ## How blacklist and whitelist rules work ### Whitelist Use **Whitelist** when a courier should only be available for specific product collections. If a basket contains only products from the whitelisted collections, the courier can be offered. If the basket includes products outside those collections, the courier will not be offered. ### Blacklist Use **Blacklist** when a courier should be excluded for certain product collections. If the basket contains any product from a blacklisted collection, the courier will not be offered. Be careful when combining collection rules. A restrictive whitelist or an incorrect blacklist can stop a courier from appearing when you expect it to. ## Before you save - Make sure **Courier Name** is clear and easy to recognise. - Make sure **Courier Reference Code** is unique. - Check that any **Blacklist** or **Whitelist** collections reflect when the courier should be shown. - Confirm **Status** is set correctly. ## Related information If you need help choosing or managing the identifier used for a courier, see [About courier reference codes](/faqs/courier-reference-codes). --- ### Create a shipping rate **URL:** https://zonal.mantledocs.com/create-a-shipping-rate ## What a shipping rate does in Zonal A **Shipping Rate** in Zonal controls when a courier is offered to customers and how much that option costs. Each rate is linked to a specific **Courier**, then refined using destination, timing, weight, order value, postcode, and price rules. Use shipping rates when you want the same courier to have different prices or availability based on where the order is going or what is in the basket. Before you create a shipping rate, make sure the courier already exists in **Couriers**. If you have not created one yet, set that up first so it appears in the **Courier** dropdown. ## Create a shipping rate In the Zonal app, go to **Shipping Rates** and click **Add Shipping Rate**. In the **Shipping Details** section, use the **Courier** dropdown to select the courier this rate should apply to. Under **Destination Type**, choose whether the rate should apply to a **Shipping Zone** or a **Single Country**. - **Shipping Zone**: use this when the same rate should apply across all countries in a zone. - **Single Country**: use this when the rate should apply only to one country. After choosing the destination type, select the relevant **Shipping Zone** or country from the dropdown list. In the **Shipping Times** section, set the **Cut Off Time** and choose the days used for **Processing Days**, **Dispatch Days**, **Shipping Days**, and **Delivery Days**. Enter the **Number of Processing Days**. This defaults to **1**. Then enter the **Min. Days** and **Max. Days** for shipping. In the **Shipping Rates** section, click **Add Shipping Rate** to open the rate popup. In the popup, complete the fields that define when this rate should apply: - **Min. Weight (g)**: the lowest basket weight for this rate. - **Max. Weight (g)**: the highest basket weight for this rate, if you want to cap it. - **Min. Order Value**: the lowest basket value for this rate. - **Max. Order Value**: the highest basket value for this rate, if needed. - **Blacklisted Postcodes**: enter comma-separated postcodes or postcode areas with a wildcard, such as `SW1A 1AA, M1 1AA, EH1*`. Customers using these postcodes will not be offered the courier rate. - **Whitelisted Postcodes**: enter comma-separated postcodes or postcode areas with a wildcard if the rate should be offered only to matching postcodes. - **Price**: enter the amount customers should be charged for this rate. Click **Add Rate** to save the rate band. ![Shipping rate screen in Zonal showing Shipping Details and Shipping Times fields](https://cdn.heymantle.com/orgs/c60dabf2-e049-400a-a45b-5abda837631d/docs-pages/1ac2755d-444e-41e0-9544-438ecf23f2ea/Screenshot_2026-04-08_at_13.13.49.png) ## How the timing fields work ### Cut Off Time **Cut Off Time** sets the latest time an order can be placed for that day's handling rules to apply. ### Processing Days **Processing Days** are the days your team works on preparing orders. **Number of Processing Days** sets how many of those working days are needed before dispatch. ### Dispatch Days **Dispatch Days** are the days parcels can leave your business. ### Shipping Days **Shipping Days** define the valid transit days for the courier. Use **Min. Days** and **Max. Days** to set the shipping range. ### Delivery Days **Delivery Days** define the days customers can receive their order. If a courier does not operate on weekends, leave Saturday and Sunday unticked where appropriate so the delivery promise stays realistic. ## How postcode rules work ### Blacklisted Postcodes Use **Blacklisted Postcodes** when the courier should *not* be available in certain areas. This is useful for excluding remote locations, surcharge areas, or destinations the courier does not serve. ### Whitelisted Postcodes Use **Whitelisted Postcodes** when the courier should be available *only* in certain areas. If you add whitelist values, the rate is restricted to matching postcodes only. Check blacklist and whitelist entries carefully. An incorrect postcode pattern or wildcard can stop a shipping rate from appearing for customers you intended to include. ![Add Shipping Rate popup in Zonal showing weight, order value, postcode, and price fields](https://cdn.heymantle.com/orgs/c60dabf2-e049-400a-a45b-5abda837631d/docs-pages/e48ec10a-e5be-465b-ba45-91a729fd35b9/Screenshot_2026-04-08_at_13.14.01.png) ## Before you save - Make sure the correct **Courier** is selected. - Confirm whether the rate should apply to a **Shipping Zone** or a **Single Country**. - Check that **Cut Off Time**, processing, dispatch, shipping, and delivery days match the courier's real service pattern. - Review weight and order value ranges so rate bands do not overlap in unexpected ways. - Double-check postcode restrictions before saving. - Confirm the **Price** is correct. ## Related information If you need to create the courier first, see [Create a courier](/getting-started/create-a-courier). --- ## Features ### Features Overview **URL:** https://zonal.mantledocs.com/features-overview In this area, you’ll find guidance on the available features within Zonal and how to use them. --- ### Create a holiday **URL:** https://zonal.mantledocs.com/create-a-holiday ## About holidays in Zonal Holidays are excluded from shipping calculations in Zonal. When you add a date to **Holidays**, the app automatically skips that day when working out shipping dates. Use holidays for dates when you do not want deliveries or shipping estimates to include a specific day, such as Christmas Day or New Year's Day. ## Create a holiday In the Zonal app, go to **Holidays**. Click **Add Holiday** to open the holiday form. In the name field, enter a clear holiday name such as **Christmas Day** or **New Year's Day**. Enter the date the holiday falls on. Click **Save** to add the holiday to your list. ## What happens after you save Once saved, the holiday date is excluded from shipping calculations. Zonal will automatically skip that date when calculating shipping-related dates. Use clear, recognizable holiday names so your team can quickly identify excluded dates when reviewing the Holidays list. --- ### Change the shipping rate message **URL:** https://zonal.mantledocs.com/change-the-shipping-rate-message ## Change the checkout shipping rate message Use **Settings** in Zonal to control how your shipping rate message appears to customers at checkout. You can choose a standard layout with a generic estimate, or switch to a customisable format to change how the delivery date is displayed. ![Settings page showing Shipping Rate Message Configuration options in Zonal](https://cdn.heymantle.com/orgs/c60dabf2-e049-400a-a45b-5abda837631d/docs-pages/66fc21a3-fe07-466e-a9c9-6c01b70ce31d/Screenshot_2026-04-08_at_14.38.12.png) ## Where to find this setting In Zonal, click **Settings**. On the **Settings** page, go to **Shipping Rate Message Configuration**. Under **Shipping Rate Format**, select **Default** or **Customisable**. Use the **Shipping Rate Preview** panel to check how the message will appear to customers at checkout. ## Shipping Rate Format options ### Default Select **Default** if you want to use a standard checkout message with a generic shipping estimate. With **Default**, you can still choose what appears in the courier title using the **Title** dropdown: - **Courier Only** - **Courier & City** - **Courier, City, and Postcode** This option is best if you want a simple, consistent message format without changing how the date is shown. ### Customisable Select **Customisable** if you want more control over the message shown at checkout. Like the default option, you can choose the courier title format in the **Title** dropdown: - **Courier Only** - **Courier & City** - **Courier, City, and Postcode** You can also customise the delivery date using the **Date Format** dropdown. Available formats include: - **Named Day Full** — for example, `Friday 26 September` - **Date Only** — for example, `26/09/25` - **Date Only (US)** — for example, `9/26/2025` If you want extra text before the date, enter it in **Date Prefix**. For example: - `Estimated delivery:` - `Expected by:` - `Delivery estimate:` This prefix is shown before the date in the checkout message. Use the **Shipping Rate Preview** area while updating the format so you can confirm the message looks right before customers see it at checkout. ## Recommended setup Choose your format based on how much control you need: - Use **Default** for a quick setup with a generic shipping estimate. - Use **Customisable** if you want the date to match your store's preferred display style or regional date format. If your customers are mainly based in the US, **Date Only (US)** may be clearer for them. For UK and other regions, **Named Day Full** or **Date Only** may be easier to understand. ## What customers will see The checkout message can include: - The courier name only - The courier name and city - The courier name, city, and postcode - An estimated delivery date - Optional prefix text before the date For example, depending on your settings, a customer might see a message such as: - `Royal Mail First Class` - `Royal Mail First Class - Leeds` - `Royal Mail First Class - Leeds LS1` - `Estimated delivery: Friday 26 September` ## Related guides Set up shipping rates that use the checkout message shown to customers. Add and manage couriers used in your shipping rate messages. --- ### Use discounted basket total **URL:** https://zonal.mantledocs.com/use-discounted-basket-total ## What this setting controls The **Use discounted basket total** setting lets you decide whether Zonal should use the basket total *after discounts* or *before discounts* when checking order value shipping rates. This matters when you use **Min. Order Value** and **Max. Order Value** in your **Shipping Rates**. The setting changes which basket total Zonal compares against those rate bands. Use this setting if you want more control over how discounts affect eligibility for order value-based shipping rates. ## Where to find this setting In Zonal, click **Settings**. On the **Settings** page, look for **Use discounted basket total**. Tick or untick **Use discounted basket total** depending on whether your shipping rates should use basket totals after discounts or before discounts. Save the setting so future shipping rate calculations use your selected basket total rule. ## How the setting works ### When Use discounted basket total is enabled If **Use discounted basket total** is checked, Zonal uses the order total **after all applied discounts** when checking order value rate bands. This means **Min. Order Value** and **Max. Order Value** are compared against the discounted basket total. ### When Use discounted basket total is disabled If **Use discounted basket total** is unchecked, Zonal uses the **sum of line items before discounts** when checking order value rate bands. This means discounts do not reduce the basket total used for **Min. Order Value** and **Max. Order Value** checks. ## How this affects Shipping Rates When creating or reviewing a rate in **Shipping Rates**, order value conditions are set in the **Add Shipping Rate** popup using: - **Min. Order Value** - **Max. Order Value** The **Use discounted basket total** setting changes how those fields are evaluated at checkout. This setting affects order value-based rate bands only. Weight-based checks such as **Min. Weight (g)** and **Max. Weight (g)** are not changed by it. ## Example Suppose you have a shipping rate with a **Min. Order Value** of **£50.00**. - A customer adds items worth **£60.00** to the basket. - A discount reduces the total to **£45.00**. **If Use discounted basket total is enabled:** Zonal checks the discounted total of **£45.00**, so that rate would *not* qualify. **If Use discounted basket total is disabled:** Zonal checks the pre-discount line item total of **£60.00**, so that rate *would* qualify. ## When to enable or disable it ### Enable it if you want discounts to affect shipping eligibility Turn **Use discounted basket total** on if your shipping rules should reflect what the customer actually pays after discounts are applied. This is often the best choice if your free shipping or rate bands should be based on the final payable basket value. ### Disable it if you want shipping rules based on original basket value Turn **Use discounted basket total** off if discounts should not change which order value shipping rate a customer receives. This is useful if your shipping thresholds are based on the original merchandise value before promotions are applied. If you offer free shipping above a spend threshold, review this setting carefully. It determines whether a discount can move an order below that threshold. ## Best practice - Review your **Min. Order Value** and **Max. Order Value** bands after changing this setting. - Check any promotional scenarios where discounts could move customers into or out of a shipping band. - Keep the setting aligned with how you describe shipping offers in your store. Changing this setting can alter which shipping rates customers see at checkout. If you already use discounts and order value bands together, test a few sample baskets after updating it. ## Related guides Set up Min. Order Value and Max. Order Value bands for your shipping rates. Update how shipping rate information is shown to customers at checkout. --- ## FAQs ### FAQs Overview **URL:** https://zonal.mantledocs.com/faqs-overview In this area, you’ll find some commonly asked questions about Zonal functionality and features. --- ### About courier reference codes **URL:** https://zonal.mantledocs.com/courier-reference-codes ## What is a Courier Reference Code? When you create a courier in Zonal, you need to enter a **Courier Reference Code**. This code is the unique identifier Zonal passes to Shopify so Shopify knows which courier to offer to the customer at checkout. The code can come from a third-party provider, such as a courier company or an EPOS system, but it does not have to. You can also create your own code as long as each courier has a different one. The **Courier Reference Code** is used to identify the courier in Shopify. It should be unique for every courier you set up in Zonal. ## When you need to enter it In Zonal, go to the screen where you add a new courier and complete the courier details. In the **Courier Reference Code** field, enter the identifier you want Shopify to use for that courier. Save the courier once you have confirmed the code is unique and matches the courier you want Shopify to offer. ## When you may be asked to update it If you edit a courier that already has a **Courier Reference Code**, Zonal may show a prompt asking you to update it if another courier is already using the same code. This prompt is there to help prevent duplicate courier identifiers. If two couriers share the same **Courier Reference Code**, Shopify may become confused about which courier to show and can offer the wrong courier in some situations. ## Best practice for choosing a code - Use a code that is unique to that courier only. - If you already have a reference from a courier company or EPOS system, you can use that. - If you do not have an existing reference, create your own naming pattern and keep it consistent. - Do not reuse the same code across multiple couriers, even if the courier names are similar. ## Why unique codes matter Shopify uses the **Courier Reference Code** to decide which courier option to offer to the customer. If more than one courier shares the same code, Shopify may not be able to reliably tell them apart. That can lead to the wrong courier being shown during checkout or in other delivery selection scenarios. ## If you see a duplicate code prompt 1. Review the **Courier Reference Code** on the courier you are editing. 2. Check whether another courier in Zonal is already using that same code. 3. Update the code so it is unique. 4. Save your changes. If the code came from a third-party system, make sure the updated value still matches the identifier you expect Shopify to use. ## Quick checklist - Every courier has a value in **Courier Reference Code**. - No two couriers use the same code. - The code matches your intended courier mapping in Shopify. - Any third-party reference you use is entered exactly as needed. --- ### Postcode rules in shipping rates **URL:** https://zonal.mantledocs.com/postcode-rules-in-shipping-rates ## How postcode rules work in Zonal In Zonal, postcode rules are added at the **Shipping Rate** level, not on the courier itself. You add them when creating or editing a rate from **Shipping Rates** by opening the **Add Shipping Rate** popup. Use **Blacklisted Postcodes** to stop a rate from being offered in specific areas. Use **Whitelisted Postcodes** to make a rate available only in specific areas. You can enter postcodes as a full postcode or as a partial postcode with a wildcard. ## Where to add postcode rules In Zonal, go to **Shipping Rates**. Click **Add Shipping Rate**, or open an existing rate you want to update. In the **Shipping Rates** section, use the rate popup where you set **Min. Weight (g)**, **Max. Weight (g)**, **Min. Order Value**, **Max. Order Value**, and **Price**. Add your entries in **Blacklisted Postcodes** or **Whitelisted Postcodes**. Enter multiple values separated by commas. Click **Add Rate** to save the postcode rule as part of that shipping rate. ## Supported postcode formats ### Full postcode Enter the whole postcode with no spaces. Example: `NE61AA` This matches that exact postcode only. ### Partial postcode with wildcard Add an asterisk at the end of the partial postcode to match any postcode that starts with that value. Example: `NE6*` This matches any postcode beginning with `NE6`. If you want a broad area match, use a wildcard. If you want a precise match, use the full postcode without spaces. ## How wildcard matching affects scope Wildcard rules are prefix matches. This means Zonal checks whether the customer's postcode starts with the characters you entered before the `*`. For example, if you add `NE6*`, the rate can apply to postcodes such as: - `NE61AA` - `NE62BB` - `NE63CC` Because those postcodes all begin with `NE6`, they are all treated as matches. A wildcard can cover more postcodes than you expect. If a rate is appearing for a wider area than intended, the postcode pattern is usually too broad. ## Example: when a rule is too broad If you want to allow postage to `NE1` but not to `NE61`, using `NE6*` will not work. That is because `NE6*` also matches longer postcodes that begin with `NE6`. In this situation, the rule needs to be more specific. For example: - `NE61A*` A more specific wildcard narrows the match so the rate applies only to postcodes starting with that longer prefix. ## Choosing between blacklist and whitelist ### Use Whitelisted Postcodes when - the rate should be available only in defined areas - you are setting up a local, regional, or limited-delivery service - you want tighter control over where the rate appears ### Use Blacklisted Postcodes when - the rate should be available in most areas except a few exclusions - you need to block surcharge areas or unsupported destinations - you already have a broad rate and only need to remove certain postcode ranges If you add **Whitelisted Postcodes**, the rate becomes restricted to matching postcodes only. If you use **Blacklisted Postcodes**, matching postcodes are excluded from that rate. ## Best practices for accurate postcode rules - Remove spaces from full postcode entries. - Use full postcodes when you want an exact match. - Use wildcards only when you are confident the broader prefix is correct. - Make wildcard rules as specific as possible if nearby postcode ranges must behave differently. - Review other conditions on the same rate, including weight, order value, and destination, so you understand the full scope of the rule. ## Troubleshooting postcode matches The most common reason is a wildcard that is too broad. For example, `NE6*` matches every postcode that starts with `NE6`, including longer values such as `NE61`. Make the rule more specific if you only want a smaller range. Check whether the postcode is entered in the correct field, whether the entry is too specific, and whether another rule on the same rate is preventing it from applying. Also review the selected **Shipping Zone** or **Single Country**, weight limits, and order value limits. No. For postcode rules in the **Add Shipping Rate** popup, enter full postcodes without spaces, such as `NE61AA`. Yes. Enter multiple values separated by commas in **Blacklisted Postcodes** or **Whitelisted Postcodes**. ## Related guides Set up a rate with destination, timing, weight, order value, postcode, and price rules. Add the courier that your shipping rates will be linked to. --- ## Troubleshooting ### Troubleshooting Overview **URL:** https://zonal.mantledocs.com/troubleshooting-overview In this area, you’ll find guidance on troubleshooting for functionality and features within Zonal. --- ### Why is my courier not showing as expected? **URL:** https://zonal.mantledocs.com/courier-not-showing-correctly ## Quick checks - Make sure the courier is **Active** in **Couriers**. - Make sure the shipping rate is linked to the correct **Courier**. - Make sure the shipping rate is linked to the right **Shipping Zone**. - Check that the **Courier Reference Code** is unique and correct for the courier in use. - Check any **Blacklisted and Whitelisted Postcode rules** to ensure they are not too restrictive. - Check the order still matches the rate's destination, weight, order value, and timing rules. ## Courier setup issues - **Status** is not set to **Active**. - The wrong collections were added under the Collections **Blacklist** or **Whitelist** area. - A **Whitelist** is too restrictive, so the basket includes products outside the allowed collections. - A **Blacklist** contains a collection that is in the basket, so the courier is excluded. - The courier was created, but no matching shipping rate was added in **Shipping Rates**. ## Shipping rate issues - In **Shipping Details**, the rate is linked to the wrong **Courier**. - The wrong **Destination Type** was chosen, such as **Shipping Zone** instead of **Single Country**. - The selected **Shipping Zone** or country does not match the customer address. - The basket does not meet **Min. Weight (g)**, **Max. Weight (g)**, **Min. Order Value**, or **Max. Order Value** set within the Shipping Rates area. - The days set in **Processing Days**, **Dispatch Days**, **Shipping Days**, **Delivery Days**, **Cut Off Time**, **Min. Days**, **Max. Days**, or **Number of Processing Days** are too restrictive. - No rate band was saved from the **Add Shipping Rate** popup by clicking **Add Rate**. ## Courier reference code issues - The **Courier Reference Code** is duplicated on another courier. - The code was entered incorrectly. - The wrong courier is using the code, so Shopify may show the wrong option. If two couriers share the same **Courier Reference Code**, the wrong courier may appear or the expected courier may not appear. ## Postcode rule issues - A postcode was added to **Blacklisted Postcodes** by mistake. - **Whitelisted Postcodes** is being used, so the rate only appears for matching postcodes. - A wildcard is too broad, such as `NE6*`, which matches every postcode starting with `NE6`. - A full postcode was entered with spaces when the intended exact match should be entered without spaces, such as `NE61AA`. - The postcode rule is correct, but another condition on the same rate is blocking it. ## Best order to check 1. Open **Couriers** and confirm the courier is **Active**. 2. Check **Courier Reference Code** is unique. 3. Review **Blacklist** and **Whitelist** on the courier. 4. Open **Shipping Rates** and confirm the rate uses the correct **Courier**. 5. Check destination, weight, order value, timing, and postcode rules on the rate. ## What to do if you've completed the checks and your issue isn't resolved: Contact the VS Labs support team and provide screenshots of your Courier and Shipping Rate set up so we can take a look over it for you. You can contact the VS Labs Support team from this page: [https://zonal.mantledocs.com/](https://zonal.mantledocs.com/) For setup help, see [Create a courier](/getting-started/create-a-courier), [Create a shipping rate](/getting-started/create-a-shipping-rate), [About courier reference codes](/faqs/courier-reference-codes), and [Postcode rules in shipping rates](/faqs/postcode-rules-in-shipping-rates). --- ### Why are my postcode blacklist/whitelist rules not working as expected? **URL:** https://zonal.mantledocs.com/postcode-rule-troubleshooting ## Why postcode rules may not work as expected In Zonal, postcode rules are set on each **Shipping Rate**, not on the courier itself. If a postcode blacklist or whitelist is not behaving as expected, it is usually caused by one of the checks below. A postcode rule only affects the specific rate where it was added in **Shipping Rates**. - **The rule was added to the wrong rate.** Check the rate inside **Shipping Rates**, not just the courier. - **The postcode format is wrong.** Full postcodes should be entered with **no spaces**, for example `NE61AA`. - **The wildcard is too broad.** A value like `NE6*` matches any postcode that starts with `NE6`. - **The whitelist is more restrictive than expected.** If you use **Whitelisted Postcodes**, the rate appears only for matching postcodes. - **The blacklist is excluding the postcode.** If a postcode matches **Blacklisted Postcodes**, that rate will not show. - **Other rate conditions are blocking the rate.** Check **Min. Weight (g)**, **Max. Weight (g)**, **Min. Order Value**, **Max. Order Value**, and destination settings in the same rate. - **Multiple postcode entries were not separated correctly.** Enter multiple values as comma-separated entries. If a rule is matching too many areas, make the postcode more specific. If it is matching too few, check for spaces, exact spelling, and whether the postcode should use a wildcard. ## Where to check Open **Shipping Rates**, edit the affected rate from the **Add Shipping Rate** popup, then review **Blacklisted Postcodes**, **Whitelisted Postcodes**, and the other conditions on that same rate before clicking **Add Rate**. ## What to do if you've completed the checks and your issue isn't resolved: Contact the VS Labs support team and provide screenshots of your Courier, Shipping Rate and Postcode Blacklist/Whitelist set up so we can take a look over it for you. You can contact the VS Labs Support team from this page: [https://zonal.mantledocs.com/](https://zonal.mantledocs.com/) ---