12 min read

Shipping Zones, Rules & Advanced Features

Free-shipping rules, shipping zones, auto-fulfillment, wallet history, activity log, WhatsApp updates, and multi-vendor shipping.

How shipping costs are calculated

When a customer enters their delivery address at checkout:

Zone lookup

The customer's pincode is matched against your configured shipping zones (e.g. "Metro Cities", "North India", "Remote"). No match falls into the Default Zone.

Base cost

Each zone has a base shipping cost — if no rule applies, the customer pays the base cost for their zone.

Rules evaluation

Any active shipping rules are checked against the order. If one matches (e.g. order value above the free-shipping threshold), the cost is adjusted.

Display

The customer sees the final calculated cost (or "Free") at checkout.

Creating and managing shipping zones

Go to Settings → General (Store group → General card in the Settings Hub) and scroll to the Shipping Zones section, then click Add Zone.

Finding this screen

There's no menu item literally labelled "Shipping Zones" in either admin sidebar. In the classic (v1) sidebar, click Settings, then the General card in the Store group. In the new (v2) sidebar there's no Settings-hub route to it either — the fastest way in is clicking the store-name card at the top of the sidebar, which opens the same screen directly.

FieldWhat to enter
Zone nameA descriptive label — "Metro Cities", "North India", "Remote / Hill Stations"
Base cost (₹)Flat shipping cost for this zone when no rule applies
Per-kg rate (₹)Optional additional charge per kilogram above a threshold weight — leave blank for a flat rate
PincodesA range or list of pincodes in this zone — e.g. "400001–400099" for Mumbai

One zone must be the Default — customers whose pincode matches no other zone fall into it. Set its base cost to cover your most expensive delivery scenario so you're never undercharging.

Set your base costs

If you never set a base cost for a zone, the platform uses ₹80 as the system default. Open each zone on the Settings → General shipping zones list and check the Base Cost field against your actual average shipping cost for that zone.

Editing and deleting a zone. Click the pencil icon on a zone row to edit its fields, or the trash icon to delete it — a confirmation step asks you to confirm before the zone is removed.

v1/v2 parity gap — delete only works on the classic screen

Zone delete is only available on the classic (v1) shipping-zones list described above. If your store is on the new (v2) admin skin, there is currently no way to delete a zone from the UI — edit it down to a harmless base cost instead, or ask support to remove it, until parity ships.

Shipping rules

Go to Shipment → Shipping Rules and click + New Rule to create one, or the pencil icon on an existing rule to edit it. Every rule has a type, one or more conditions, an action, and a priority (rules are evaluated in priority order; the first match wins).

Rule types

Rule typeWhat it does
Free ShippingWaives the shipping cost when the conditions match
COD SurchargeAdds a surcharge amount to Cash on Delivery orders
Weight Tier PricingCharges shipping based on which weight band the cart falls into
Zone RestrictionBlocks or explicitly allows shipping to a zone, independent of cost
Provider PreferencePrefers a specific courier/provider when the conditions match

Conditions

Rules are matched against these fields — this is the actual, current list; don't assume other fields (like "product category") are supported:

Condition fieldCompares against
Cart Total (₹)The order's total value
Cart Weight (kg)The order's total weight
Payment MethodPrepaid or COD
PincodeThe delivery pincode
ZoneThe shipping zone the delivery pincode falls into

Each condition uses an operator — equals, greater than, greater-or-equal, less than, less-or-equal, or "in" (matches a list) — and conditions on the same rule can combine.

Actions

ActionWhat it does
DiscountA value of 100 makes shipping free; other values override the calculated rate
SurchargeAdds the surcharge amount to the order (used for COD Surcharge rules)
BlockPrevents shipping to matching destinations (used for Zone Restriction rules)
AllowExplicitly allows shipping without touching the calculated rate (used for Zone Restriction rules)

How rules and zones work together

  • Cart meets a free-shipping rule threshold → shipping = ₹0, regardless of zone.
  • A discount rule applies (e.g. a Weight Tier rule for lighter parcels) → base cost is reduced.
  • No rule matches → customer pays the zone's base cost.
  • Multiple rules match → the most favourable rule wins (lowest price for the customer).

Example — Metro zone (base ₹60), Remote zone (base ₹120), free shipping above ₹499 cart total:

CustomerCart valueZoneShipping cost
Mumbai customer₹600Metro₹0 (free-shipping rule applies)
Remote customer₹400Remote₹120 (no rule applies)
Mumbai customer₹300Metro₹60 (base cost)
Remote customer₹600Remote₹0 (free-shipping rule applies)

During checkout, if the cart is close to a free-shipping threshold but not there yet, the customer sees a progress nudge like "Add ₹150 more for free shipping!". Once qualified, cost drops to ₹0 and a "Free Shipping" badge appears immediately.

COD surcharge

Create a rule that adds a surcharge to COD orders (e.g. "Add ₹50 for Cash on Delivery") to help recover the COD handling fee Shiprocket charges you — Shipping Rules → + New Rule → rule type COD Surcharge → condition Payment Method = COD → action Surcharge → amount.

Editing and deleting a rule

Click the pencil icon on any rule row to reopen the same form pre-filled — change the type, conditions, action, or priority, then save. Click the trash icon to delete a rule; a confirmation dialog asks you to confirm before it's removed. There's no undo, so if you just need to pause a rule temporarily, edit it down to a condition that never matches instead of deleting it.

Auto-Fulfillment

If you don't want to book each shipment manually, enable Auto-Fulfillment on the Shiprocket plugin page (Extensions → Plugins → Shiprocket → Fulfillment tab).

What triggers it: a prepaid order is confirmed (payment captured), or a COD order status moves to Confirmed.

What it does: books the shipment with your configured courier strategy, generates the AWB and label, schedules a pickup for the next working day, and sends the customer a shipment confirmation.

When it does not fire

The order is On Hold, your Shiprocket wallet balance is below the minimum threshold, the delivery pincode isn't serviceable by any available courier, or the product has no warehouse assigned. In any of these cases the order stays in Processing and a notification appears in your Notification Centre — book manually.

Multi-provider failover

If both Shiprocket and Delhivery are connected and an auto-fulfillment booking fails on the primary provider (low wallet, API timeout, pincode not serviceable), the platform automatically tries the next provider. You see one successful booking — the failover is invisible.

Wallet pre-check

Before booking through Shiprocket, the platform checks your wallet balance. If it's below the minimum threshold, the booking is blocked with a clear warning rather than failing silently — this prevents surprise failures during auto-fulfillment. Top up at shiprocket.in.

Wallet History — your shipping spend ledger

Every Shiprocket charge — a booking, a return label, a refund, a top-up — is recorded in Wallet History (Extensions → Plugins → Shiprocket → Wallet History).

The Balance Card at the top shows:

FieldWhat it tells you
Current Ledger BalanceWhat our records say you have, after every charge we've booked through your account
SR-Reported BalanceWhat Shiprocket's own dashboard last reported
DriftThe difference between the two — if non-zero, the table below shows which transactions are involved

If a value shows "—", the first sync hasn't run yet (e.g. a freshly connected account) — it populates after the next reconciliation cycle.

The table below lists every wallet transaction chronologically — action type, signed amount (debits red, credits green), running balance, linked AWB or order, who triggered it, and notes. Filter by date range, action type, AWB, or triggered-by, and export the filtered set as CSV for accounting.

Automatic wallet reconciliation

Every 30 minutes, the platform compares your ledger balance against Shiprocket's reported balance. Any drift gets a reconciliation entry automatically added to your transaction history with the amount and a note. This means a complete audit trail with no silent corrections, and any unattributed refund or adjustment on Shiprocket's side is captured within 30 minutes.

Tip

If drift is consistently non-zero across multiple cycles, raise a ticket with Shiprocket — there may be an unattributed charge on their side. Your transaction history gives them the exact figures.

Activity Log — one timeline for every event

The Activity Log (Dashboard → Activity Log) is your single timeline of everything that happens in your store: orders, payments, shipments, returns, wallet movements, configuration changes, and authentication events.

Use it when

  • A customer calls asking what happened to their order — filter by order number to see the full history.
  • You want to verify whether an auto-fulfillment cron actually fired for a confirmed order.
  • You need to audit who changed a shipping rule or initiated a manual refund.
  • An anomaly appears in the dashboard and you want to see what preceded it.

Filter by category — order, shipment, return, payment, wallet, auth, or config events. Clicking a row opens the corresponding detail page (an order event takes you to that order, a shipment event to its tracking). Every entry is permanently stored, tenant-scoped, and timestamped to the second.

Pincode serviceability and city autofill

As a customer types their pincode in the checkout address form, the platform looks it up in real time, autofills city and state, and confirms serviceability. If the city field can't be resolved, it stays blank and the customer types it manually — no "Unknown" placeholder.

WhatsApp delivery updates (Engage 360)

When both the WhatsApp plugin and Shiprocket are connected, switch on Engage 360 from the Shiprocket plugin's WhatsApp tab to send automated messages at key milestones:

EventDefault message
Shipment confirmed"Your order #12345 has been shipped! AWB: XXXX"
Out for delivery"Your order is out for delivery today"
Delivered"Your order has been delivered. Thank you!"
Delivery failed (NDR)"Delivery attempt for your order failed. We will try again soon."

Each event is individually toggleable, and messages send from your connected WhatsApp Business number so they appear as coming from your store.

Branded tracking page

Every shipment has a tracking URL you can share with customers — a page branded with your store name and logo, not a generic Shiprocket page. Find it in the Shipment Detail Drawer for any shipment.

Marketplace stores (multi-vendor shipping)

If your store operates as a marketplace with multiple sellers, the shipping system adapts automatically.

Per-vendor warehouses. Each vendor adds their own warehouses from their Vendor Dashboard → Shipment → Warehouses — visible only to that vendor. If a vendor has no warehouses configured, the platform blocks adding products for them with a clear warning.

Each warehouse row shows a registration-status chip per connected provider (e.g. "Shiprocket: active", "Delhivery: pending" or "failed"), so a vendor can see at a glance which providers a warehouse is actually usable with. The Register control becomes a button group — one button per active provider — when more than one provider is connected, so the vendor picks which one to register the warehouse with. Vendors can mark one warehouse as their default for new shipments, and delete a warehouse they no longer use (a soft delete — it stops appearing in the active list but historical shipments still reference it).

Per-vendor shipping credentials. Each vendor connects their own Shiprocket account (Extensions → Shiprocket in their Vendor Dashboard) so shipments and wallet balances stay completely separate from the store owner's.

How multi-vendor orders ship. When a customer places a single order with products from multiple vendors, BillionBiz automatically splits it into separate sub-shipments — one per vendor, each from its own warehouse using its own credentials. The customer gets one order confirmation but may receive multiple parcels on different timelines.

Vendor shipping preferences — courier strategy, default packaging dimensions, and default shipping mode — are set per vendor and only affect that vendor's shipments.

Next steps