Aller au contenu principal

Shipping

Shipping is managed in two places in the dashboard. Shipping Settings is where you set your warehouse address, create shipping zones with rates, set a free shipping threshold, and define your return policy. Shipping Providers is where you connect carrier accounts (FedEx, UPS, USPS, DHL Express, Shiprocket, Delhivery, and more) for live rates at checkout, shipping labels, and automatic tracking updates. Together, these settings decide which shipping options your customers see and how much they pay.

If you have no shipping zones yet, the fastest way to start is Quick Setup.

  1. Open Shipping Settings and click the Shipping Zones tab.
  2. Click Start Quick Setup.
  3. Select your Primary Country.
  4. Choose a setup type:
    • Domestic Shipping (recommended) - One zone for your country with Standard ($10, 3-5 days), Express ($25, 1-2 days), and Free Shipping for orders $50+.
    • Domestic + International - The same domestic zone plus an international zone covering 40+ countries, with Standard International ($30, 7-14 days) and Express International ($60, 3-5 days).
  5. Click Create Shipping Zones.

You can edit or delete everything it creates later. Quick Setup only appears when you have no zones yet.

Shipping Origin​

Your origin is the address your orders ship from (your warehouse or office).

  1. Open Shipping Settings and stay on the Shipping Origin tab.
  2. Fill in the warehouse name, country, state/province, city, ZIP/postal code, and street address. Phone and email are optional.
  3. Save your changes.

Set this up first. Your return policy can reuse this address, and carriers need it to calculate rates.

Shipping Zones​

A zone is a group of countries that share the same shipping rates. For example, a "Europe" zone and a "United States" zone can have different prices.

Create a zone​

  1. Go to the Shipping Zones tab.
  2. Click Add Zone.
  3. Enter a Zone Name (e.g., "United States", "Europe", "International").
  4. Select one or more Countries for the zone.
  5. Leave Zone is active switched on, then click Create Zone.

Add rates to a zone​

Each zone needs at least one rate, or customers in that zone cannot check out with shipping.

  1. Click a zone card to expand it.
  2. Click Add Rate.
  3. Enter a Rate Name (e.g., "Standard Shipping", "Express", "Free Shipping").
  4. Choose a Rate Type:
    • Flat Rate - Same price for all orders.
    • Price Based - Applies only when the order total is between your Min and Max values (in $).
    • Weight Based - Applies only when the order weight is between your Min and Max values (in kg).
  5. Enter the Price. Enter 0 to make this rate free.
  6. For Price Based or Weight Based rates, set the Min and Max conditions. Leave 0 for no minimum or no maximum.
  7. Optionally set Min Delivery Days and Max Delivery Days so customers see an estimated delivery time.
  8. Click Add Rate.

To change a rate later, expand the zone and use the edit (pencil) or delete (trash) icons next to it. Deleting a zone also deletes all of its rates, and this cannot be undone.

Free shipping over a certain order value​

There are two ways to offer free shipping:

  • A free rate in a zone - Add a Price Based rate with Price 0 and a Min condition (e.g., Min 50 means free shipping for orders of $50 or more).
  • Store-wide threshold - In the General tab, set the Free Shipping Threshold. When a cart total passes this amount, the customer qualifies for free shipping, as long as a free shipping rate exists in their zone. Enter 0 to turn the threshold off.

If you have connected a shipping provider (see below), you can map a rate to a specific carrier service for automated fulfillment. When adding or editing a rate, pick a Provider and a Service under "Fulfillment Provider (Optional)". Choose "No specific provider" to skip this.

Returns & Refunds​

Set your return policy in the Returns & Refunds tab. These settings are shown to customers.

  1. Turn Allow Returns on or off. When off, returns are disabled for your store.
  2. Set the Return Window - how many days customers have to start a return (default 30).
  3. Choose who pays return shipping: Customer or Store (You pay).
  4. Optionally set a Restocking Fee (a percentage deducted from refunds; 0 means no fee).
  5. Choose the return address. Keep Use shipping origin address for returns on, or switch it off to enter a different return address.
  6. Optionally add Return Policy Text to explain your rules in your own words (e.g., "Items must be unused and in original packaging").
  7. Click Save Policy.

General shipping settings​

In the General tab you can set:

  • Weight Unit - kg, g, lb, or oz. Used as the default for product weights.
  • Dimension Unit - cm, in, or m. Used as the default for product dimensions.
  • Free Shipping Threshold - minimum order value for automatic free shipping (see above).

Click Save Settings when done.

Shipping Providers​

The Shipping Providers page connects your store to carrier accounts for live rates at checkout, label generation, and automatic tracking updates.

Six carriers are fully integrated today: FedEx, UPS, USPS, DHL Express, Shiprocket, and Delhivery. Connecting one of these gives you live rates at checkout plus booking - create shipments, print labels, and track packages right from your orders. You can also add credentials for Canada Post, Royal Mail, Australia Post, Blue Dart, Easyship, ShipStation, Aramex, DPD, GLS, Evri (Hermes), Sendle, or a Custom Provider - these are saved for future use, but live rates and booking are not available for them yet.

One important thing to know: you are the shipper and the payer. Shipments book on your own carrier account, and the carrier bills that account (or your Shiprocket wallet) directly. Ecomplify never charges you for shipping.

Connect a carrier​

  1. Open the Shipping Providers page.
  2. Click Add Provider.
  3. Choose the Provider Type (the carrier). The Display Name fills in automatically - change it if you like.
  4. Fill in the API Credentials. Each carrier asks for different details (see below). You get these from your account with the carrier, not from Ecomplify. Use the eye icon to show or hide secret values.
  5. Not sure where a credential comes from? Click "Confused about these credentials? Quick guide" in the dialog. Each major carrier has a built-in step-by-step guide explaining exactly where to find each value, which developer portal to use, and common mix-ups to avoid.
  6. Optionally turn on Production Mode when you are ready to ship for real instead of using the carrier's test environment.
  7. Optionally set a Rate Markup - add a fixed amount ($) or a percentage (%) on top of the carrier's rate. Use this to cover packaging and handling costs.
  8. Optionally turn on Set as default provider.
  9. Click Add Provider. Your credentials are verified with the carrier right away - you'll see either "Credentials saved and verified with the carrier" or the carrier's rejection message so you can fix them.

What each carrier needs​

  • FedEx - Your 9-digit FedEx account number, plus an API Key and Secret Key from a project you create at developer.fedex.com (attach the Ship, Rates and Track APIs). Meter Number is a legacy field - leave it empty. With Production Mode off, FedEx's sandbox prints sample labels and fakes tracking.
  • UPS - Your 6-digit UPS shipper number, plus a Client ID and Client Secret from an app you create at developer.ups.com (link your shipper account to the app). Old-style UPS Access Keys were retired and no longer work.
  • USPS - A Consumer Key and Consumer Secret from an app you create at developers.usps.com. That's enough for live rates and tracking. Printing labels also needs your CRID, Mailer ID (MID), and EPS account number from the USPS Business Customer Gateway. USPS ships from US addresses only, and international labels include the customs form automatically.
  • DHL Express - An API Username and API Password (the API Key and Secret from your app at developer.dhl.com with the MyDHL API product attached), plus your DHL Express account number from DHL itself. Only a DHL Express account works - DHL eCommerce and DHL Parcel are different companies with different APIs.
  • Shiprocket - An API user's email and password. Create the API user in the Shiprocket panel under Settings → API → Configure - don't use your normal Shiprocket login. Shipments are paid from your Shiprocket wallet, so keep it topped up.
  • Delhivery - Your API Token from the Delhivery One panel (or your account manager). Parcels ship from a warehouse registered with Delhivery - after saving, pick or register one in the Pickup Location section on the provider card.

Pickup locations vs. shipping origin​

FedEx, UPS, USPS, and DHL Express pick up from your Shipping Origin address. Shiprocket and Delhivery ship from a pickup location registered with the carrier - after connecting, expand the provider card and select (or register) one. Bookings fail without an active pickup location, and the card warns you if the selected location is inactive.

Test and manage providers​

  • Click the refresh icon on a provider card to test the connection. The status chip shows Active, Inactive, Pending, or Error, and the card shows when the connection was last verified. If there is an error, expand the card to read the error message.
  • If the carrier starts rejecting your credentials later (for example, you changed the password on the carrier's site), the card tells you: edit the provider and retype the current password - it re-verifies automatically on save.
  • Shiprocket only: avoid testing the connection repeatedly in quick succession. Shiprocket locks accounts after too many logins, so tests reuse your existing session where possible - give it a few minutes between attempts.
  • Click a provider card to expand it and see its Available Services (e.g., overnight, ground). Use the switch on each service to control which ones customers can choose.
  • Use the pencil icon to edit, or the trash icon to delete a provider. Deleting cannot be undone.

Tracking updates​

Once you book a shipment with a connected carrier, there are two ways order statuses stay up to date:

  • Refresh Tracking (works for everyone) - Open the order and click Refresh Tracking to pull the latest status from the carrier. This is free and needs no extra setup. It is the only method for DHL Express, which does not push updates.
  • Automatic tracking updates (recommended where available) - FedEx, UPS, USPS, Shiprocket, and Delhivery can push delivery events to your store. Orders then move through shipped → out for delivery → delivered on their own, the delivered date is stamped automatically, and your customers get shipped/delivered emails with a live tracking link - no manual clicks.

To turn on automatic updates, expand the provider card and find the Automatic tracking updates section. It shows a Webhook URL and Token with copy buttons, plus numbered instructions for that specific carrier - you paste the URL and token once into the carrier's panel or developer portal. A few carrier notes:

  • UPS - Set the webhook credential once on your UPS app; every shipment you book is then subscribed to tracking pushes automatically.
  • USPS - Push tracking is free: a one-time subscription with your Mailer ID covers every package you ship.
  • FedEx - Push tracking is optional and paid (FedEx bills per tracking number). Without it, Refresh Tracking still pulls updates for free.
  • Shiprocket / Delhivery - Paste the URL and token into the webhook settings of their panels and enable the tracking events.

The section also shows the last tracking update received, so you can confirm the setup works. If you ever need to invalidate the token (for example, it leaked), click Regenerate token and update it in the carrier's panel.

Rate Settings (top of the page)​

  • Enable Live Rates - Fetch real-time prices from your carriers at checkout.
  • Show Static Rates - Also show your zone rates alongside live carrier rates.
  • Rate Cache (minutes) - How long live rates are cached to reduce carrier API calls (default 15).

Common questions​

Customers in some countries see no shipping options. Why? Their country is not in any active zone, or their zone has no active rates. Add the country to a zone and make sure the zone has at least one enabled rate.

I set a free shipping threshold but customers still pay for shipping. The threshold only works if a free shipping rate exists in the customer's zone. Run Quick Setup or add a $0 rate to the zone.

Do I need a shipping provider account? No. Zones and rates work on their own. Providers are only needed if you want live carrier prices at checkout or carrier-based fulfillment.

My provider shows an Error status. Expand the provider card to read the error message, then edit the provider and check your credentials. Retyping the current password re-verifies automatically on save. Click the refresh icon to test again. Also check whether Production Mode matches the credentials you entered (test vs. live).

My orders don't update to shipped or delivered on their own. Automatic updates need the webhook setup: expand the provider card, open Automatic tracking updates, and follow the steps for your carrier. Until then (and always, for DHL Express), use the Refresh Tracking button on the order to pull the latest status.

Who pays for the shipments I book? You do, through your own carrier account. FedEx, UPS, USPS, and DHL Express bill your account directly; Shiprocket deducts from your Shiprocket wallet. Ecomplify never charges you for shipping.

What is a rate markup? An extra amount added on top of the carrier's live rate. For example, a 10% markup turns a $10 carrier rate into $11 for the customer.

I deleted a zone by mistake. Can I get it back? No. Deleting a zone removes it and all its rates permanently. You will need to recreate it.