Skip to content
WooCommerce

WooCommerce Shipping in India: Couriers, COD, Rates and Returns

Shipping decides your margin and your reviews. Here is how to choose between self-shipping and an aggregator, price delivery, handle COD and returns, and what the integration really covers.

Harsh PrajapatiFull stack developer
Published
Updated
Reading time
9 min

WooCommerce Shipping in India: Couriers, COD, Rates and Returns

A WooCommerce store in India can ship in two ways: book couriers yourself, or connect a shipping aggregator that gives you many couriers through one account and pulls orders in automatically. Self-shipping suits a store with a few orders a day going to nearby cities. An aggregator starts to pay for itself once you ship across the country, offer cash on delivery or spend more than a few minutes a day typing addresses into a courier's website.

This article is for store owners deciding how parcels will leave the building and what to show at checkout. It covers the two models, cash on delivery, how to price delivery with WooCommerce zones, returns, and what a courier integration does and does not do. Courier facts are from the providers' own pages as of November 2026.

#Why shipping decisions come before design

Shipping sets your margin on every order and shapes what customers say about you afterwards. A store can have a fine design and still lose money if the delivery charge shown at checkout is lower than what the courier bills.

Three numbers drive the whole thing: the weight and size of a packed parcel, where most of your customers live, and how many orders you send in a day. Get those on paper before you compare couriers, because every rate card is built around them.

#Self-shipping or an aggregator

The first decision is who books the courier. In self-shipping, you hold an account with one or two courier companies, or use India Post, and create each shipment yourself. With an aggregator, one account gives you a panel of couriers, and software picks or suggests one for each order.

PointSelf-shippingShipping aggregator
Set-upA courier account or a walk to the post officeOne sign-up, KYC and a wallet or billing plan
CoverageWhatever your courier servesSeveral couriers, so more pincodes covered
Daily workType or upload each address, print labels by handOrders arrive from the store; labels and pickups in bulk
RatesNegotiated directly; can be good at steady volumePublished slabs by weight and zone; good for small volumes
Cash on deliveryDepends on your courier contractUsually built in, with COD remittance cycles
Failed deliveries and returnsYou chase the courierA dashboard for undelivered parcels and returns
Best forFew orders, local or regional customers, fragile goods you pack carefullyNational shipping, COD, growing order counts

Shiprocket is one example of an aggregator. Its website (opens in a new tab) states, as of November 2026, that it ships to 19,000+ unique pin codes through 42+ courier partners, and advertises domestic rates from ₹20 per 500 g with conditions attached. Other aggregators and the large courier companies publish their own figures, so compare at least two against your real parcel weights.

Self-shipping is not the amateur option. A store that sends 5 well-packed parcels a day within Gujarat may get better service from one local courier whose pickup person knows the shop. The case for an aggregator grows with distance, volume and COD.

#Weight is where the surprises are

Couriers bill on weight slabs, and many charge on whichever is higher: the actual weight or a volumetric weight worked out from the box size. A light but bulky product, such as a cushion or a lampshade, can therefore cost far more to ship than its weight suggests.

Ask every courier or aggregator how they calculate chargeable weight, then weigh and measure your packed parcels, not the bare products. Enter those figures on each product in WooCommerce. Wrong weights are the most common reason a store's shipping income and courier bills drift apart.

#Cash on delivery

Cash on delivery brings in customers who will not pay online, and it brings costs that online payment does not have. Decide deliberately where to offer it.

The costs of COD are:

  • Returned parcels. When a COD customer refuses or cannot be reached, the parcel comes back and you usually pay freight both ways. The trade calls this RTO, return to origin.
  • Collection charges. Couriers charge a fee for collecting cash, set out in your rate card.
  • Delayed money. The cash reaches you on the courier's remittance cycle, not the day of delivery.

WooCommerce includes cash on delivery as a payment method. Its cash on delivery documentation (opens in a new tab) explains that you can choose which shipping methods and rates offer COD, and that COD orders are set to Processing until payment is collected. That first setting is the useful one: it lets you offer COD for standard delivery but not for express, for example.

Sensible ways to keep COD under control include limiting it to pincodes your courier serves reliably, setting a maximum order value, adding a small COD fee, and confirming COD orders by WhatsApp or phone before dispatch. Limits by pincode or order value are not in WooCommerce core, so they need a plugin or a small piece of custom work.

For customers who hesitate to pay online, a well-set-up UPI checkout often converts as well as COD without the returns. My guide to WooCommerce payment gateways in India covers that side.

#Rates and zones in WooCommerce

WooCommerce prices delivery through shipping zones, and you choose how detailed to make them. A zone is a region with one or more shipping methods attached.

The shipping zones documentation (opens in a new tab) sets out the rules that matter:

  • WooCommerce includes three built-in methods: flat rate, free shipping and local pickup. Anything else comes from an extension or custom code.
  • Zones are matched from the top of the list to the bottom, and each customer matches only one zone, so the narrowest regions go first.
  • A zone can be limited to specific postcodes, numeric ranges or wildcards that share the same beginning.
  • A zone with no methods means no shipping is offered there, which is how you exclude an area.

Because Indian PIN codes are grouped by region, ranges and wildcards map well onto real delivery areas. That is the basis of a "check delivery to your pincode" feature.

For different product types, WooCommerce uses shipping classes (opens in a new tab). A class groups similar products, such as bulky items, so that a flat rate method can charge a different amount for each class. Each product belongs to one class.

#Four ways to charge for delivery

Most stores settle on one of four pricing models. The best one is the model your customers find fair and your margin survives.

ModelHow it looks to the customerWhen it works
Free deliveryNo charge; cost is built into pricesSmall, light, higher-margin products
Free above a thresholdFree over a set order value, a flat fee belowRaises basket size; needs margin maths
Flat rate by zoneOne fee for your State, another for the rest of IndiaParcels of similar weight
Calculated by weight and pincodeLive or table-based rate per orderHeavy or varied products, thin margins

Surprise charges at the last step are a known cause of abandoned carts, so show the delivery charge early, on the product page or in the cart. I go into that in why checkouts lose sales.

#Returns and failed deliveries

A returns process is part of shipping, and customers read it before they buy. India's e-commerce consumer rules also expect a store to state its return, refund and exchange terms and the cost of return shipping clearly, as covered in my checklist for starting an online store.

Decide these points and write them down in plain words:

  1. Which products can be returned, and within how many days.
  2. Who pays for the return freight, and whether you arrange the reverse pickup.
  3. Whether the customer gets a refund, an exchange or store credit, and how quickly.
  4. What happens when a parcel arrives damaged, including the photos you need.
  5. What happens to a COD order the customer refuses.

Failed deliveries need their own routine. When a courier cannot deliver, it raises a non-delivery report (NDR), and someone has to contact the customer and tell the courier to retry or return. Parcels that sit unattended in that state turn into returns. An aggregator dashboard makes the list visible, but a person still has to act on it each day.

#What a courier integration involves

An integration connects your store's orders to the courier's system so nobody retypes addresses. It is worth understanding what you are paying for.

  1. Order paid
  2. Order sent to courier panel
  3. Label and pickup
  4. Tracking number back to store
  5. Customer notified

Aggregators generally offer a ready connection for WooCommerce. Shiprocket's WooCommerce integration page (opens in a new tab) says orders are imported automatically once the store is connected, that adding WooCommerce as a channel carries no extra charge, and that the store's REST API must be enabled. For many stores that ready connection is enough, and no custom development is needed.

Custom work comes in when you want more than order import. Typical requests are:

  • A pincode check on the product page that answers "can you deliver here, and by when?"
  • Live shipping rates at checkout based on the real parcel weight
  • COD shown or hidden by pincode and order value
  • Tracking links and status updates in order emails or on WhatsApp
  • Returns raised by the customer from their account page
  • Orders split between two warehouses

That kind of connection is API integration work, and the store-side changes fall under WooCommerce customisation.

#Do it yourself or hire help

You can set up flat rates, a free delivery threshold and a standard aggregator connection yourself. WooCommerce's zone screens are approachable, and aggregators publish step-by-step guides for their plugins.

Bring in a developer when the rules get specific: rates that depend on weight and pincode together, COD limits, a delivery-date promise, more than one dispatch location, or tracking messages on WhatsApp. These touch the checkout, and a checkout mistake costs orders. They are also the features that make a store feel as dependable as the large marketplaces. Shipping rules are a normal part of any WooCommerce development scope, so ask for them by name in the quote.

#Where to start

Pack your three best-selling products as you would send them, then weigh and measure each parcel. Get rate cards from one courier and one aggregator for those weights to your five most common destination cities.

With those numbers you can pick a pricing model from the table above and see what it does to your margin. Set up zones for your State and the rest of India first; add pincode rules only when real orders show you need them.

Frequently asked questions

Which shipping plugin is best for WooCommerce in India?

There is no single best plugin; the right one is the connector published by the courier or aggregator you choose. Pick the shipping partner first, on rates, pincode coverage and COD terms for your parcels, then use its official WooCommerce integration.

Can WooCommerce set shipping rates by pincode?

Yes. Shipping zones can be restricted to specific postcodes, numeric ranges or wildcards, and each zone can have its own flat rate or free shipping rule. Live rates by exact weight and pincode need an extension or a courier integration.

Should a new store offer cash on delivery?

Offer it if your customers expect it, but with limits. COD adds returned parcels, collection charges and delayed remittance, so many stores restrict it to reliable pincodes and a maximum order value, and confirm COD orders before dispatch.

Do I need a developer to connect Shiprocket to WooCommerce?

Not for the basic connection. Shiprocket's own page says orders import automatically once the store is connected with the REST API enabled. A developer is useful for pincode checks, live rates at checkout, COD rules and tracking messages.

Sources

The facts in this article were checked against these pages, last reviewed 6 October 2026.

  1. Setting up shipping zones, WooCommerce documentationwoocommerce.com/document/setting-up-shipping-zones/
  2. Product shipping classes, WooCommerce documentationwoocommerce.com/document/product-shipping-classes/
  3. Cash on delivery, WooCommerce documentationwoocommerce.com/document/cash-on-delivery/
  4. Shipping and logistics platform, Shiprocketshiprocket.in/
  5. WooCommerce channel integration, Shiprocketshiprocket.in/channel-integrations/woo-commerce/
Harsh Prajapati, the author

Written by

Harsh Prajapati

Freelance full stack developer, founder of Worklancio

Web developer since 2018, freelancing since 2022. Builds WordPress sites and plugins, web apps and CRMs from Ahmedabad.

More on WooCommerce

You may also like