Shipping & Delivery
Overview
The Shipping and Delivery module is the central control hub for fulfillment logistics. It allows you to configure how products reach your customers, ranging from national courier shipping and hyper-local delivery services to in-store pickup options.
Location: Settings → Shipping and Delivery
What Is Shipping & Delivery?
Shipping & Delivery settings control how your products get from your warehouse to the customer's door. The module is divided into three fulfillment types:
- General Shipping - Standard carrier-based shipping to regions and countries
- Local Delivery - Hyper-local delivery using your own fleet or local couriers
- Local Pickup - Customers purchase online and collect from a physical location
Most stores start with General Shipping. Add Local Delivery once you have a reliable local fleet, and Local Pickup if you have a physical storefront.
Quick Start Guide
If you're configuring shipping for the first time, follow these steps:
- Create a rate definition — Name your shipping service (e.g., "Standard Shipping")
- Create a shipping profile — Link products to shipping origins
- Create a shipping zone — Define the geographic areas you ship to
- Add rates — Set prices for each zone (with optional conditional pricing)
- Test at checkout — Place a test order to verify rates appear correctly
For detailed instructions, continue reading below.
Managing General Shipping
This section controls standard shipping methods where orders are dispatched via third-party carriers (couriers, postal services) to specific regions, countries, or states. To manage General Shipping:
- Navigate to the Shipping and Delivery page.
- Locate the Rate Definitions card at the top.
- Click the link Create rate definition.
- Rate name: Enter the display name customers will see at checkout (e.g., Express Delivery, Standard Shipping, Air Mail).
- Custom delivery description (Optional): Add a subheading to manage expectations (e.g., Estimated 2-3 business days).
- Click Save.
This step does not set the cost. It acts as a "label" that will be selected in rate section. If you skip this, the "Select Rate" dropdown in later steps will be empty.
Create a Shipping Profile
Shipping Profiles allow you to create different shipping rules for different sets of products (e.g., a "Heavy Items" profile vs. a "Standard" profile).
- Scroll to the Profiles section.
- Click Create new profile.
- Name: Enter an internal name for your reference (e.g., Fragile Goods).
- Shipping Origins:
- Click Add origin.
- A popup will appear listing your configured store locations.
- Check the box next to the specific warehouse or store that stocks these items.
- Click Ok.
- Products:
- Click Include products.
- Select the specific items from your catalog that belong to this profile.
Create a Shipping Zone
A "Zone" is a geographical group. You cannot set a rate for the whole world at once; you must define where the rate applies.
- Inside your Shipping Profile, scroll to the Shipping zone (or Delivery zone) section.
- Click Create zone.
- Zone Name: Enter a descriptive name (e.g., South America, Dhaka Metro, Eurozone).
- Zone Location:
- A list of countries and regions will appear.
- Check the boxes for the countries you wish to include in this zone (e.g., Argentina, Bolivia, Brazil).
You can expand a country to select specific states/provinces if needed.
- Click Save.
Add Rates & Conditional Pricing
Once you have named your Zone and selected the relevant countries, you must assign a price to it. This step links your Rate Definition (the name) to the Zone (the location).
-
Locate the Rate Section:
- On the Zone configuration page, scroll down to the very bottom, past the list of countries/regions.
- You will see a section card titled Rate.
-
Initiate Rate Creation:
- Click the Add rate link located on the right side of the Rate section header.
- A popup window titled Rate will appear.
-
Basic Rate Configuration:
- Rate Definitions: Click the dropdown menu. You must select one of the names you created earlier in Step A (e.g., Express Delivery, Same Day Delivery).
- Price: Enter the shipping cost for this specific zone (e.g.,
500).- Tip: Enter
0if you want to offer free shipping.
- Tip: Enter
-
Conditional Pricing (Optional):
- If you want to charge different rates based on order size, click Add conditional pricing.
- Condition: Select Price (order total) or Weight (product weight).
- Minimum limit: Enter the threshold (e.g.,
1000). - Logic: "If the order is above 1000, apply this shipping rate."
-
Save the Rate:
- Click Add inside the popup.
- The new rate will now appear in the list under the Name and Price columns (as shown in your screenshot).
Managing Existing Rates: If you need to remove a rate, look for the Trash Can Icon (🗑️) under the Action column next to the specific price and click it.
To create a tiered shipping structure (e.g., $10 shipping for orders under $50, Free shipping for orders over $50), you will need to add two "Rate Definition" to the same zone, each with different Conditional Pricing rules.
You cannot create a zone without setting at least one Rate
Managing Local Delivery
This section is designed for fulfilling orders using your own fleet or a hyper-local delivery service (e.g., bike messengers, same-day city couriers) directly from your store locations.
Configure Local Delivery Rate Definitions
Before setting up specific delivery zones, you must define the names of the local delivery services you offer.
- Navigate to the Shipping and Delivery page.
- Scroll down to the Local Delivery section.
- Locate the Rate Definitions card within this section.
- Click the link Create rate definition on the right.
- A popup titled Create delivery rate definition will appear.
- Rate name: Enter the display name customers will see (e.g., 1-Hour Delivery, Express Bike Delivery).
- Custom delivery description (Optional): Add details to manage expectations (e.g., Available 9 AM - 6 PM only).
- Click Save.
Create a Local Delivery Profile
A "Delivery Profile" links your local delivery service to a specific physical store location (Origin) and defines the area you serve.
- In the Local Delivery section, look for Profiles.
- Click the link Create delivery profile.
- Name: Enter an internal name for this profile (e.g., Downtown Delivery, Motijheel Branch Delivery).
- Origins:
- Click the dropdown menu labeled Select origin.
- Choose the specific store location that will fulfill these orders (e.g., Motijheel, Rampura).
- Click Save
Create a Delivery Zone (Postal Codes)
Unlike general shipping which uses countries, Local Delivery typically uses Postal Codes to define precise service areas.
- Inside your created Local Delivery Profile, locate the Delivery zone section.
- Click Create zone.
- Zone Name: Enter a descriptive name (e.g., Sector 1-5, North City).
- Postal Codes:
- Enter the specific postal/zip codes you serve (e.g.,
1214,1000). - Click the (+) button or press Enter after each code to add it.
- Enter the specific postal/zip codes you serve (e.g.,
This ensures you only receive orders from addresses your drivers can physically reach.
- Delivery Information:
- Enter a message that will appear at checkout and in order confirmations.
- Example: "Please ensure someone is home to receive the package."
Set Delivery Rates
Finally, assign a price to this local zone using the definitions created.
- In the Zone configuration, scroll to the Rate section at the bottom.
- Click Add rate.
- Rate Definitions: Select a name from the dropdown (e.g., One day delivery).
- Price: Enter the delivery fee (e.g.,
50). - Conditional Pricing (Optional):
- Just like general shipping, you can set conditions.
- Click Add conditional pricing.
- Condition: Select Price or Weight.
- Minimum limit: Enter the threshold (e.g.,
500for free delivery over 500).
- Click Add.
- Click Save on the main profile page to store all changes.
Managing Local Pickup
The Local Pickup module allows customers to purchase items online and visit your physical store to collect them. This eliminates shipping costs and drives foot traffic to your location.
Create a Pickup Profile
- Navigate to the Shipping and Delivery settings page.
- Scroll down to the very bottom to locate the Local Pickup section.
- Click the link: Create new profile.
Configure Pickup Settings
You will be directed to the Create Pickup profile page. Fill in the following fields:
- Name:
- Enter an internal name for this pickup option (e.g., Main Branch Pickup or Warehouse Collection).
This helps you distinguish between different pickup locations in your admin panel.
- Origins:
- Click the dropdown menu labeled Select origin.
- Select the specific physical location where customers should go to retrieve their items (e.g., Motijheel, Airport,Uttara).
Only locations already added in your Locations settings will appear in the dropdown.
-
Price:
- Enter the handling fee for the pickup.
- Best Practice: usually, this is set to 0 to offer free pickup as an incentive. However, if you charge a service fee for packing, enter the amount here (e.g.,
10).
-
Ready in:
- Select the estimated preparation time from the dropdown list. This tells the customer how soon they can come after placing the order.
- Available Options include:
- Five minutes / Fifteen minutes / One hour
- 24 hours / One day / Two days
- One week, etc.
-
Instruction:
- Enter specific directions for the customer. These details will be included in their order confirmation.
- Examples:
- "Please bring a valid photo ID and your order confirmation email."
- "Pick up at the rear loading dock, not the front entrance."
- "Call us at 555-0199 when you arrive outside."
-
Save:
- Click the Save button to activate this pickup profile.
Managing or Deleting a Profile
If a location closes or you no longer offer pickup service at a specific branch:
- In the Local Pickup list, click on the name of the existing profile (e.g., Warehouse Collection).
- You can modify the price, time, or instructions and click Save.
- To Delete:
- Click the red Delete Profile button at the bottom right of the page.
- This will immediately remove the pickup option from your checkout page for that location.
Real World Examples
Example 1: National Shipping with Free Shipping Threshold
Goal: Offer standard shipping within Bangladesh with free shipping for orders over ৳1,000.
Setup:
- Rate Definition 1: "Standard Shipping" — Estimated 3-5 business days
- Rate Definition 2: "Free Shipping" — For orders over ৳1,000
- Zone: "Bangladesh" → select Bangladesh
- Rate 1: Standard Shipping → ৳100 (no conditional pricing)
- Rate 2: Free Shipping → ৳0 with conditional pricing: Price minimum ৳1,000
Why this works:
- Customers see both options at checkout
- Orders under ৳1,000 pay ৳100; orders over ৳1,000 get free shipping
- Incentivizes larger orders
Example 2: Local Delivery by Postal Code
Goal: Offer same-day delivery to specific postcodes in Dhaka.
Setup:
- Rate Definition: "Same Day Delivery" — Available 9 AM - 6 PM
- Delivery Profile: "Dhaka Express" → Origin: Motijheel Store
- Zone: "Central Dhaka" → Postal codes: 1000, 1100, 1205, 1214
- Rate: Same Day Delivery → ৳50
Why this works:
- Only customers within specified postcodes see this option
- Links fulfillment to a specific store location
- Affordable delivery price encourages local orders
Troubleshooting
No shipping options appear at checkout
Possible causes:
- No shipping zone covers the customer's country
- No rate has been assigned to the zone
- The shipping profile doesn't include the product being purchased
Solution:
- Verify that the customer's country is included in a shipping zone
- Check that at least one rate is assigned to that zone
- Ensure the product is included in a shipping profile (or use the default profile)
The "Select Rate" dropdown is empty
Possible causes:
- No Rate Definitions have been created yet
Solution:
- Go to the top of the Shipping and Delivery page
- Under Rate Definitions, click Create rate definition
- Enter a name and save — the dropdown will now be populated
Local Delivery doesn't appear for my area
Possible causes:
- The customer's postal code isn't included in any delivery zone
- No delivery profile is linked to the correct store origin
Solution:
- Check the postal codes listed in your delivery zone
- Ensure the correct store location is selected as the origin
- Add the missing postal codes and save
If you're still experiencing issues, contact Soppiya support with the zone name, rates configured, and a description of what customers see at checkout.
Best Practices
Shipping & Delivery Best Practices
General Shipping
- Create rate definitions first — they're required before you can add rates to zones
- Use descriptive zone names — "South America" is better than "Zone 1"
- Offer a free shipping threshold — this encourages larger orders
Local Delivery
- Define precise postal codes — avoid accepting orders from areas your drivers can't reach
- Set realistic "Ready in" times — overpromising leads to customer complaints
- Include delivery instructions — tell customers what to expect
Local Pickup
- Set price to 0 — free pickup incentivizes customers to choose this option
- Add clear pickup instructions — include location details, ID requirements, and contact numbers
- Only list active locations — remove pickup profiles for closed or unavailable locations
Common Mistakes to Avoid
- ❌ Creating zones without rates — zones with no rates won't appear at checkout
- ❌ Skipping rate definitions — the dropdown will be empty when you try to add rates
- ❌ Using overlapping postal codes — a postal code should only appear in one delivery zone
- ❌ Forgetting to link products to profiles — products not in a profile may not have shipping options
Summary
The Shipping and Delivery module controls how products reach your customers through three fulfillment types: General Shipping, Local Delivery, and Local Pickup. Each requires rate definitions, profiles, zones, and rates to function.
Key takeaways:
- Always create Rate Definitions first — they act as labels linked to zones and rates
- Shipping Profiles group products with specific shipping origins and rules
- Zones define geographic areas; rates define prices within those zones
- Conditional pricing enables tiered shipping (e.g., free shipping over ৳1,000)
- Local Delivery uses postal codes instead of countries for precise service areas
- Local Pickup eliminates shipping costs and drives foot traffic to physical stores
- Every zone must have at least one rate assigned to appear at checkout
If you're just getting started, create one Rate Definition ("Standard Shipping"), one Zone (your primary country), and one Rate (your base shipping price) — then test with a test order.