Skip to main content
You can charge for shipping in two ways, and you can use both at once. Zone rates are prices you set yourself. Australia 10,restofworld10, rest of world 25 — that sort of thing. Nothing to connect, works immediately. Live carrier rates ask real carriers what they’d charge for this parcel to this address, and show the customer those options. You’ll need an EasyPost account and weights on your products. If a carrier is having a bad day, live rates quietly fall back to your zone rates, so checkout keeps working.

Cover everywhere you actually ship

This is the one to get right before you open. If a customer’s address doesn’t fall inside any zone you’ve set up, they can’t check out. That’s the correct behaviour — you don’t want to accept an order you can’t fulfil — but it means a half-finished zone setup looks, from the customer’s side, like your shop is broken.
If you ship worldwide, you need a zone that says so. “Rest of world” isn’t assumed.The coverage summary on the shipping page shows what you’re actually covering. Check it against where you’re willing to post things.

Live carrier rates

Carrier rates run through EasyPost, and you connect your own carrier accounts to it. That means your negotiated rates, not ours.
1

Connect your carriers

On the carrier panel. Your credentials live with EasyPost — we only store the account IDs.
2

Put weights on your products

In grams. Without a weight, a carrier can’t price the parcel, so the product either quotes wrong or makes the whole cart unquotable.
3

Add your markup, if you want one

A percentage on top of the carrier’s price. It’s applied when the customer sees the rate and again when they’re charged.
An EasyPost key that starts with EZTK is a test key. It’ll quote rates happily but can’t buy a real label — the carrier panel tells you if you’re on one.

You can’t be undercharged by a tampered cart

Whatever the browser sends, the price is worked out again on our side before anyone is charged. Zone prices come from your saved settings; carrier prices are re-read from EasyPost. The number in the request is ignored.

Shipping from more than one place

Add a location for each place you post from. Products can then be assigned to one, and anything you don’t assign ships from your default. The Ships from picker only shows up on the product form once you have two or more locations — with one, there’s nothing to pick.

When an order spans two warehouses

The cart splits the order by location, prices each part separately, then adds them together.
  • You’ll only be offered a service if every part of the order can be sent that way.
  • The delivery estimate is the slowest part, because the order isn’t really complete until the last parcel lands.
  • You buy a label per parcel, not per order.
Those products fall back to your default location and stay sellable. They won’t suddenly become unquotable, which would show up to a customer as “we don’t ship to you”.
No — exactly one, always. Two would make it a coin toss which one priced an order, and none would leave your unassigned products unsellable.
Your old origin address became your default location. Nothing was lost and there’s nothing to migrate.

Buying a label

Open the order, go to Fulfilment, buy the label. The tracking number is written back onto the order, which is what your shipping email sends to the customer. The price you see is the raw carrier cost — what actually leaves your balance — not the marked-up figure the customer paid.

Before you open

Check the coverage summary rather than trusting your memory of what you set up.
Imported catalogues very often don’t. Live rates need them.
The furthest place you’re willing to post to is the one most likely to have slipped out of your zones.
A key starting EZTK can quote but can’t buy labels.