Skip to main content

Shipping

The Shipping section lets you define where you ship, what it costs, and which methods are offered to customers at checkout. SnapCart uses a zone-based shipping model — you define geographic zones and attach one or more rates to each zone.

Shipping Zone List Shipping Zones list showing zone names, covered countries, and assigned rates


Accessing Shipping

Click Shipping in the left sidebar.

:::info Permissions required

ActionPermission
View shippingshipping.view
Create/edit zones and ratesshipping.create, shipping.edit
Delete zonesshipping.delete
:::

How Zone-Based Shipping Works

  1. You create a Shipping Zone and assign countries (or states) to it.
  2. Within each zone, you add one or more Shipping Rates (e.g., Standard, Express).
  3. At checkout, SnapCart checks the customer's delivery address and shows all active rates for the matching zone.
  4. If no zone matches the customer's country, shipping is unavailable for that address.

Enabling Shipping

Before zones appear at checkout, shipping must be globally enabled.

  1. Go to Settings → Shipping.
  2. Toggle Enable Shipping to ON.
  3. Click Save.

Creating a Shipping Zone

Create Shipping Zone Create Zone form showing the Zone Name field and the country multi-select

  1. Go to Shipping → Zones.
  2. Click Add New Zone.
  3. Enter a Zone Name — this is an internal label (e.g., "India", "South Asia", "Europe", "Rest of World").
  4. In the Countries field, select all countries that belong to this zone.
  5. Click Save Zone.

Example Zone Setup

Zone NameCountries Included
IndiaIndia
South AsiaPakistan, Bangladesh, Sri Lanka, Nepal
EuropeAll EU member states
Rest of WorldAll remaining countries

:::tip "Rest of World" zone Create a catch-all "Rest of World" zone and assign all remaining countries to it with a single high flat rate. This ensures customers from any country can always see a shipping option rather than an empty checkout. :::


Adding Shipping Rates to a Zone

Each zone can have multiple rates (e.g., Standard + Express). Customers see all active rates and choose one.

Add Shipping Rate Add Rate modal showing Rate Name, Type, Cost, and Delivery Time fields

  1. Open the zone by clicking its name.
  2. Click Add Rate.
  3. Configure the rate:
FieldDescription
Rate NameDisplayed to customers at checkout (e.g., "Standard Delivery", "Express Shipping")
TypeSee rate types below
CostBase shipping charge in your default currency
Free Shipping ThresholdOrders above this amount get this rate for free (applies to Free Shipping type)
Estimated DeliveryDisplayed to customers (e.g., "3–5 business days")
StatusActive or Inactive
  1. Click Save Rate.

Shipping Rate Types

TypeHow Cost is Applied
Flat RateA fixed amount regardless of order size or weight (e.g., ₹80 flat)
Free ShippingNo charge — optionally only when order total exceeds a threshold
Weight BasedCost calculated as: base cost + (weight × rate per kg)

Example Rate Configurations

India — Standard:

  • Type: Flat Rate
  • Cost: ₹80
  • Delivery: 3–5 business days

India — Express:

  • Type: Flat Rate
  • Cost: ₹200
  • Delivery: 1–2 business days

India — Free Shipping:

  • Type: Free Shipping
  • Threshold: ₹999 (free for orders above ₹999)
  • Delivery: 5–7 business days

Country, State, and City Configuration

SnapCart ships with a complete geo database covering 250+ countries, 5,000+ states/provinces, and 100,000+ cities. This data powers both the shipping configuration and the customer address form.

Managing Countries

  1. Go to Shipping → Countries.
  2. The list shows all countries with their ISO code, currency, and enabled status.
  3. Toggle countries ON or OFF to control which ones appear in customer address forms.

Countries List Countries list with enable/disable toggles and ISO codes

:::tip Enable only countries you ship to Disable all countries you don't ship to. This prevents customers from entering addresses in countries where you have no shipping zone and reduces checkout confusion. :::

Managing States

  1. Go to Shipping → States.
  2. Filter by country to see its states/provinces.
  3. You can add custom states or disable ones that don't apply.

State-level configuration is useful for:

  • Applying state-specific tax rates
  • Shipping restrictions within a country

Managing Cities

Go to Shipping → Cities for city-level granularity. Most stores don't need city-level configuration unless they offer hyper-local delivery with city-specific pricing.


Global Free Shipping Threshold

You can configure a global free shipping threshold that applies across all zones, in addition to zone-level free shipping rates.

  1. Go to Settings → Shipping.
  2. Set Free Shipping Above to the order amount threshold (e.g., ₹1,500).
  3. Click Save.

When a customer's order total exceeds this amount, they see a "Free Shipping" option at checkout regardless of their zone.


Testing Your Shipping Configuration

After setting up zones and rates, always test the checkout from a customer address in each zone:

  1. Log in to your storefront as a customer (or use a private browser window).
  2. Add products to the cart.
  3. Proceed to checkout and enter a delivery address in each zone.
  4. Confirm the correct rates appear.
  5. Verify no rates appear for an address in a country you haven't assigned to any zone (the customer should see a "shipping unavailable" message).

Common Shipping Scenarios

Scenario 1: Domestic-only store (India)

  1. Create zone: India → select India
  2. Add rate: Standard ₹80 flat / Express ₹200 flat / Free above ₹999
  3. Disable all non-India countries under Shipping → Countries

Scenario 2: Global store with tiered pricing

  1. Create zone India → flat rates
  2. Create zone Asia Pacific → higher flat rate
  3. Create zone Europe & Americas → even higher flat rate
  4. Create zone Rest of World → highest flat rate or disable

Scenario 3: Digital products (no shipping)

  1. Go to Settings → Shipping
  2. Toggle Enable Shipping OFF
  3. No shipping step appears at checkout