BazaarKitDocs → International Shipping

Paid add-on · £5 / $5 per month

Per-vendor international shipping for Dokan and WooCommerce

Each vendor decides, listing by listing, whether they post abroad — one flat price worldwide, or a different price per continent. Any region they leave blank is simply somewhere they do not post to. Nobody is forced to ship anywhere.

Opt-in per listing Six continents, or worldwide Works with Dokan Lite
Without the add-on A vendor’s product editor showing only a domestic shipping price field
The vendor’s listing form with the free core alone: one price, for their own country.
With the add-on The same product editor with an “Offer international shipping” checkbox, a worldwide-or-per-region choice, and price fields for Europe, North America, South America, Asia, Africa and Oceania
With International Shipping: one worldwide price, or a price per continent, and blanks for the places they do not post to.

What this add-on does

BazaarKit's free core gives every vendor their own flat postage price on every listing, and charges the buyer one bundled rate per shop. That is per-vendor shipping, and it covers delivery inside the seller's own country.

Sending a parcel abroad is a different decision, so it is a different feature. The International Shipping add-on gives each listing a second, separate price for going overseas — one flat figure that applies everywhere, or a price for each continent. Vendors set it in the product form they already use, directly beneath the domestic price.

Nothing else moves. Domestic orders are untouched, and a vendor who ignores the new checkbox sells at home exactly as before.

The short version: a vendor ticks “Offer international shipping”, picks one worldwide price or fills in the continents they post to, and buyers in those places can buy that item. Buyers anywhere else still cannot.

Why international shipping is opt-in, and never forced

Most marketplace owners want international buyers. Almost none want to force their sellers into it, and they are right to be careful. A first-time seller posting a knitted jumper from Sheffield has a domestic shipping account, a book of stamps and no appetite for a customs form. Switch them into worldwide postage without asking and they either under-price a parcel to Australia and lose money, or quietly stop listing.

So the add-on turns nothing on for anybody. A listing ships abroad only when its vendor has ticked a box and typed a number. Untick it and the listing reverts to domestic-only at once. The BazaarKit vs Dokan Pro comparison sets out what each covers.

How “international” is worked out

An order is international when the buyer's delivery country differs from the seller's own country — an exact country match, not a trade bloc. A seller in France posting to Germany is international, because Germany is not France.

The seller's country comes from their Dokan store address, falling back to your store's base country if that address has none. If either country is unknown — a guest who has not typed an address yet — the order counts as domestic, so a home-country checkout is never blocked by accident.

The two pricing modes

A vendor who has opted a listing in picks one of two modes. They are mutually exclusive, so what you see on the edit screen is what the buyer is charged.

One price worldwide

A single figure for every country outside the seller's own. Right for small, light things where postage does not change much with distance.

Example. A seller in Manchester puts 8.00 in the worldwide box on a silver bracelet. A buyer in Dublin pays £8, and so does a buyer in Tokyo.

Different prices per region

A price for each continent, one row at a time. There are six: Europe, North America, South America, Asia, Africa and Oceania. Each can be given a price or left empty.

Example. The same seller lists a heavy wool coat. They put 4.00 against Europe, 9.00 against North America, and leave the rest blank. A buyer in Spain pays £4. A buyer in Canada pays £9. A buyer in New Zealand is offered no delivery at all, because that seller does not post to Oceania — which is precisely what they said.

The continents are WooCommerce's own, so the country list is the one your store already uses. Antarctica is not offered, and WooCommerce counts Europe geographically, so Great Britain, Russia and Türkiye fall under Europe.

Blank is not zero

This is the one thing to make sure your vendors understand.

Leaving a region blank means you do not post there. No shipping price is offered to buyers in that part of the world, and they cannot buy the item. That is a normal, respectable answer.

Typing 0 means you post there free of charge. The buyer pays nothing for delivery and the parcel still has to be sent. Zero is a real price, not an empty box.

A seller who means “not Asia, thank you” must leave the Asia row empty. A seller who types 0 into it has promised free postage to Asia, and will find out when the order arrives.

A blank row is dropped when the listing is saved; a zero is kept. The same goes for the worldwide box — an opted-in listing with a blank price stores no international shipping at all, rather than free worldwide postage.

Say this plainly in your seller guidance. “Leave it blank” is an unusual instruction; most forms treat an empty box as an oversight. Here it is a choice, and the safest one available.

What your vendors see and do

Everything appears in the product form vendors already use, beneath the core's domestic Shipping price box. There is no separate screen to find.

A Dokan vendor's product editor showing the domestic Shipping price box, a ticked Offer international shipping checkbox, radio buttons for One price worldwide or Different prices per region, and six continent rows for Europe, North America, South America, Asia, Africa and Oceania each showing a not offered placeholder
The vendor's product editor. The top box is the free core's domestic price; everything below it comes from this add-on. Empty continent rows read “not offered”.
  1. Tick “Offer international shipping”. Nothing goes abroad until this is ticked.
  2. Choose a mode. “One price worldwide” uses the single price box; “Different prices per region” uses the continent rows.
  3. Fill in what applies, in your store's currency. A comma decimal is accepted, so 12,50 gives £12.50 rather than an error.
  4. Save. The price takes effect on the next basket.

To stop shipping a listing abroad, untick the box and save — both the worldwide and per-continent prices are removed. Three details worth knowing:

What buyers see

A buyer whose country is covered sees one extra shipping line for that shop, labelled “International shipping”, with the vendor's price on it. A buyer whose country is not covered gets no shipping option at all for that shop, and WooCommerce stops the checkout there.

Why blocking is the correct behaviour

It looks severe the first time you see it. But if a vendor has not agreed to post to Oceania and no rate exists, the alternatives are to invent a price they never set, or to take the buyer's money for a parcel nobody is going to send. Both are worse than a checkout that politely declines.

The same rule applies inside a basket: every item from that shop must reach the buyer's destination, or the whole shop's package is blocked. The buyer is stopped, and can remove the item that does not travel. Other shops in the basket are unaffected.

Baskets going abroad

When an overseas buyer takes several things from one shop, the rule that governs domestic postage governs the international rate too. Set it once, in BazaarKit → Settings → Multi-item bundle rate:

Quantities count either way. There is deliberately no separate international bundle setting, so domestic and overseas pricing cannot drift apart. The reasoning for picking one is on the per-vendor shipping page.

Your settings

There is very little here, and that is honest rather than coy: the add-on has no settings screen of its own. Every decision is either a vendor's, taken on the listing, or one you have already made for domestic shipping. Three things govern it:

The BazaarKit settings screen on a site with no licence, showing the per-vendor shipping settings above a padlocked International Shipping section
BazaarKit → Settings without the add-on: free per-vendor shipping at the top, International Shipping padlocked below. With a licence active it becomes a line confirming vendors now see the option.
The BazaarKit Add-ons screen in WordPress admin, listing each add-on with its description, price and an enable switch
BazaarKit → Add-ons, where International Shipping is switched on once installed and licensed.

What to change in WooCommerce

One thing, and it catches almost everybody at least once.

Check WooCommerce → Settings → General → Selling location and Shipping location. If either is limited to specific countries, foreign buyers are stopped before shipping is even considered, and your vendors' international prices will be perfectly correct and completely unused.

Set Selling location to sell to all countries (or a list including the ones you want), and Shipping location to ship to all countries you sell to. This is WooCommerce's own gate; no plugin setting overrides it.

Beyond that, nothing. The free core already keeps a flat-rate method in WooCommerce's catch-all zone so baskets count as shippable, and BazaarKit replaces its rate with the vendor's own. Do not delete that method, and do not build zones per country or per continent.

Check one thing on your vendors instead: every store address needs a country on it (Dokan → vendor → Settings → Store). That country decides which of their orders count as international.

Advising your vendors on pricing

This decides whether international shipping is good for your marketplace or a slow drain on the sellers who try it. Under-pricing overseas postage is the commonest way a small seller loses money on a sale, and they usually find out at the counter.

Price it before listing, not after

The honest number is the one on the courier's website today, for the real weight of the real parcel, to the furthest country in that region. A seller guessing from memory is remembering a domestic price.

Remind them what the price covers

Postage, yes — but also the box, the padding, the tape, the time queuing, and the greater chance of a long journey going wrong. A £9 rate that leaves 40p in a seller's pocket is not a rate, it is a favour.

Per-continent is usually kinder than one worldwide figure

A single worldwide price has to be high enough for the furthest destination, so it over-charges the nearest and quietly loses those sales. A seller in Ireland pricing Great Britain and Australia alike is either subsidising Australia or has priced Britain out.

Blank is a perfectly respectable answer

Nobody has to post everywhere. A seller comfortable with Europe should price Europe and leave the other five rows empty. Say so out loud: six empty boxes read like homework, and sellers who feel obliged to fill them all in are the ones who guess.

Revisit prices, do not set and forget

Postage rates rise, usually once a year. A rate typed eighteen months ago is a discount the seller never agreed to.

How to check it is working

  1. Confirm the add-on is on in BazaarKit → Add-ons, and shows as active rather than padlocked in BazaarKit → Settings.
  2. Check WooCommerce → Settings → General allows selling and shipping to the country you are testing with.
  3. Edit a listing as a vendor: tick “Offer international shipping”, choose Different prices per region, put 4.00 against Europe, leave the rest blank, and save.
  4. Add it to a basket with an address in Spain. You should see “International shipping” at £4.00.
  5. Change the address to Australia. The option should disappear and the checkout should refuse to proceed — the blank Oceania row doing its job.
  6. Change it back to the seller's own country. The ordinary domestic rate should return.
  7. Add a second item priced 9.00 to Europe and return to Spain. On the default rule the total should be £9.00, not £13.00.

To try it on a marketplace that already exists, the live demo has vendors, listings and a checkout you can sign into as owner, vendor or buyer.

Troubleshooting

“No shipping options were available”

WooCommerce's exact wording varies by version and by checkout, but this is the message people search for. On a BazaarKit marketplace it almost always means one of four things:

A buyer abroad is offered free shipping unexpectedly

Someone typed 0 where they meant to leave the row empty. Clear the box and save.

A vendor ticked the box but buyers abroad still cannot check out

Check a price was actually saved: ticking the box and leaving the price blank stores nothing, on purpose. Then check the mode — “Different prices per region” ignores the worldwide box, and vice versa.

Neighbouring countries are priced as international

That is correct. Every country is its own, so Belgium to the Netherlands is international, priced under Europe. If you want that cheap, the vendor should set a low Europe rate.

A seller's parcels to their own country are blocked

Their store address is probably missing a country, so BazaarKit falls back to your store's base country and treats their home orders as foreign. Add the country to their Dokan store address.

Frequently asked questions

Does every vendor have to ship internationally?

No. International shipping is opt-in per listing. A vendor who never ticks the box carries on selling domestically exactly as before.

What happens if a vendor leaves a region blank?

That listing is not posted there. No shipping rate is offered to buyers in that region, so WooCommerce will not let them check out with that item.

Is entering 0 the same as leaving a region blank?

No. Zero means you post to that continent free of charge. Blank means you do not post there at all.

Can a vendor charge a different price to Europe and to Australia?

Yes. Choose “Different prices per region” and price each continent — £4 to Europe, £9 to North America, nothing to Oceania. The six are Europe, North America, South America, Asia, Africa and Oceania.

Can a vendor set a price for one individual country?

No. Pricing is per continent, or one flat price worldwide. Continents keep the form short enough that sellers actually fill it in.

An EU seller is posting to another EU country — is that domestic or international?

International. It compares the buyer's country with the seller's own, and every country is its own. France to Germany is priced under Europe.

Does this handle customs, duty or import charges?

No. It sets the postage price and nothing else — no customs paperwork, no commercial invoice, no duty calculation.

Are live carrier rates or tracking included?

No. This is flat per-listing pricing: the price the vendor types is the price the buyer pays. No carrier account, no live rates, no weight tables, no tracking.

What happens when someone abroad buys several items from one shop?

The same bundling rule as domestic postage, set once in BazaarKit → Settings. By default the buyer pays the highest item rate in that shop's basket; you can switch it to the sum.

What does the add-on cost?

£5 / $5 per month, cancel anytime. Domestic per-vendor shipping stays free in the BazaarKit core whether or not you buy this.

Where to go next

Let your sellers post abroad, on their own terms.

£5 / $5 per month, cancel anytime. Domestic per-vendor shipping stays free in the core either way — start there, and add this when your sellers are ready.

See pricing Try the live demo