Skip to content
Online Business

Connect Your Store to a Delivery Platform: A Step-by-Step Setup

SME Academy ·Updated 30 Jul 2026 ·8 min read
Connect Your Store to a Delivery Platform: A Step-by-Step Setup
Key takeaways

Connecting a Shopify or WooCommerce store to a multi-courier platform takes an afternoon, and most of that afternoon is preparation you have to do regardless. The integration is the easy part. Getting weights and dimensions onto every SKU first is what decides whether it works.

Booking parcels by hand does not scale, and the point at which it stops working is earlier than most sellers expect — somewhere around fifteen orders a day, or the first time you copy an address wrong at 11pm. Connecting your store to a multi-courier shipping platform fixes it: rates appear at checkout, labels generate from the order, and tracking goes to the customer without anyone typing anything. The integration itself takes under an hour. The preparation takes the afternoon — and skipping the preparation is the only way this goes badly.

Before you connect anything

Work through this list first. Every item on it will otherwise fail after you go live, when it is visible to customers.

Check Why it matters Done when
Weight on every SKU Live rates cannot be quoted without it. A missing weight usually defaults to zero and quotes a nonsense price. No product has a blank or zero weight
Dimensions on every SKU Couriers bill on the greater of actual and volumetric weight — see volumetric weight Packed dimensions recorded, not product dimensions
One pickup address, correct and complete It is on every label and every rate calculation Postcode verified, contact number reachable
Business details as registered Needed for the courier account and for your invoices Matches your SSM registration
Decide your rate strategy You cannot configure what you have not decided See the next section
A test product worth RM1 You will need to place a real order end to end Created, hidden from collections

"Packed dimensions, not product dimensions" deserves emphasis. The courier measures the box you hand over, including padding and tape. A 20 cm product in a 26 cm box quotes as 20 cm and bills as 26 cm, and you will not know why the invoices do not match the checkout.

Step 1 — Decide how shipping is priced at checkout

Three options, and you can mix them:

  • Live rates. The platform quotes real courier prices for the actual basket and destination. Most accurate, never undercharges, and the number moves — which some customers dislike.
  • Flat rate. One price, or a small table by zone (Peninsular / Sabah / Sarawak). Predictable and simple. You will overcharge some orders and undercharge others; the aim is that it averages out, which requires checking the average rather than guessing it.
  • Free above a threshold. Best used on top of one of the above. Set the threshold so the worst realistic parcel still leaves margin, not the average one — bulky items are what break this.

Whichever you choose, the amount shown at checkout must be the amount charged. Under the Consumer Protection (Electronic Trade Transactions) Regulations 2024 the full price payable has to be disclosed before purchase, and beyond compliance it is the single most common cause of abandoned carts. Our checkout guide covers presentation.

Step 2 — Install the connection

On Shopify: install the shipping platform's app from the Shopify App Store, authorise it when prompted, then complete the platform's own onboarding — business details, pickup address, and which couriers you want enabled. If you are using live rates, check that your Shopify plan supports carrier-calculated shipping at checkout; on some plans it is a paid add-on or requires annual billing. Find that out now, not at go-live.

On WooCommerce: install and activate the platform's plugin, then paste in the API key from your platform account. Configure it under WooCommerce → Settings → Shipping, where you will add the platform as a shipping method inside your shipping zone. If your store has multiple zones (Peninsular, East Malaysia, international), add it to each one you intend to serve.

If there is no plugin for your platform, most shipping platforms still support CSV order upload and bulk label printing. That is less elegant but removes the same manual retyping, and it is a perfectly reasonable stopping point for a small store.

Menu names and screen layouts change between versions — treat the labels above as landmarks rather than exact text.

Step 3 — Choose and order your couriers

Enable more than one, and set the priority deliberately. The common configurations:

  • Cheapest first for price-sensitive categories where transit time is not a promise.
  • Fastest first where speed is the selling point.
  • A preferred courier by destination — many sellers use one carrier for Peninsular Malaysia and a different one for Sabah and Sarawak, because coverage genuinely differs.

Do not enable a courier you have not tested to East Malaysia if you sell there. Our courier comparison guide covers what separates them.

Step 4 — Map order statuses so tracking flows

The integration is only half-installed until statuses sync both ways:

  • Store order marked paid → available to the platform for booking.
  • Platform generates a consignment note → written back to the store order.
  • Store marks the order fulfilled and emails tracking to the customer automatically.
  • Courier status updates → visible on the order.

That last flow is what stops "where is my parcel?" messages. If you have to copy tracking numbers by hand, the integration is not finished — see reducing failed deliveries for why proactive tracking matters so much.

Step 5 — Test with one real order, end to end

Do not skip this and do not test with a fake address.

  1. Buy your RM1 test product yourself, to a real address you can receive at.
  2. Confirm the checkout rate looks sane for that basket and destination.
  3. Book the shipment from the platform and check the label: correct sender, correct recipient, correct weight.
  4. Confirm the tracking number appears on the store order and that the customer email actually arrives.
  5. Let it deliver. Then compare the amount you were billed against the amount quoted at checkout.

Step 5 is the one everybody skips and the one that finds the problem — almost always a weight or dimension that was wrong in the catalogue.

Step 6 — Go live, then watch three numbers

For the first month, check weekly:

  • Quoted vs billed shipping. A persistent gap means catalogue data, not courier error.
  • Checkout abandonment at the shipping step. A jump means your rate presentation is scaring people.
  • Failed first-attempt deliveries. Should fall once automated tracking notifications start going out.

Common failure modes

Symptom Almost always
"No shipping rates available" at checkout A product with no weight, or a destination outside your configured shipping zone
Rates far too high Dimensions entered in millimetres instead of centimetres, or product dimensions used instead of packed
Rates far too low, invoices higher Weights left at a default, or volumetric weight not accounted for
Labels print with the wrong sender Pickup address configured in the store but not in the platform account
Tracking never reaches customers Store notification email disabled, or fulfilment status not syncing back

Frequently asked questions

Do I need a separate account with each courier?
Not when you go through an aggregator — that is much of the point. You hold one account and it books across the couriers it has agreements with. You can still hold your own direct courier accounts alongside it if you have negotiated rates worth keeping.

Will this work with Shopee and Lazada orders too?
Marketplace orders are normally fulfilled through the marketplace's own logistics flow, and mixing that with your own can create double-booking. Keep marketplace fulfilment on the marketplace and use the platform for your own store, unless you are running a channel-sync tool that manages both. See managing marketplaces.

Can I still print labels if my internet or the platform is down?
Ask before you need to know. Most platforms allow label downloads as PDFs that you can reprint, but the booking itself needs connectivity. For a busy dispatch day, generating labels in a batch in the morning is more robust than one at a time through the day.

How accurate are live rates, really?
As accurate as your catalogue. Live rates come from the courier, so the rate for a given weight and destination is right; what goes wrong is the weight and destination your store sends. Fix the catalogue and live rates are reliable.

Is a flat rate ever better than live rates?
Yes — for a narrow catalogue where every parcel is a similar size and weight, a flat rate is simpler for the customer and roughly as accurate for you. It gets dangerous when your catalogue is mixed, because the bulky items quietly subsidise nothing and cost everything.


Sources: price-disclosure obligation under the Consumer Protection (Electronic Trade Transactions) Regulations 2024 (in force 25 December 2024), administered by KPDN. Platform menu paths, plan requirements for carrier-calculated shipping, and available integrations change between software versions and vendor plans — the steps above describe the shape of the task, and you should confirm exact labels and plan entitlements against your store platform's current documentation before you begin.

Recommended tool
Shipping cost calculator

Get live courier rates by postcode and weight, powered by Delyva — with an indicative estimate as backup.

Open calculator
Share:

Related guides