Help › Booking couriers

Couriers: adding and setting up

For admins

Add PostEx, TCS, Leopards or any other courier; each has its own setup page and test page.

Settings › Couriers lists the couriers your store ships with. A new store has none: add the ones you use.

Your couriers, each with its type, default star, test result, Setup and Test.

Adding a courier

  1. Press + Add courier and pick from the list (search by name).
  2. Not in the list? Pick + Create new courier (the last card) and type its name - for example M&P, Trax or "Own riders".
  3. Give it a name and press Add and set up.
Adding a courier: built-in couriers, couriers the platform added, and "Create new courier".

Can't find your courier?

Press Request a courier (next to + Add courier), type its name and website, say whether it has an API, and send. Meanwhile you can still add it as a custom courier (+ Create new courier) and use it for logging, scanning, labels, tracking links and claims. Everything you asked for is kept under Your requests below the list, with its status: Received, Planned, Added: ready to use or Not planned, and a note from us when there is one. Asking for the same courier twice does nothing; the platform sees which couriers stores ask for most.

Three kinds of courier

BadgeWhat worksExamples
TrackedLogging and scanning, labels you print, tracking link, tracking-number check, claims email, dashboard numbers per courier.TCS, any custom courier
APIAll of the above, plus booking and status checks through the courier's API.Leopards
FullBuilt in: booking, the courier's own airway bills, live status updates, catch-up sync.PostEx, Parcel (connect it)

The setup page

  • General - name, colour, switch on/off, and the default courier (used on Log Orders when nothing else tells).
  • Credentials - API keys. Typed only here; secrets are stored encrypted and never shown again. Leave a secret empty to keep the saved one.
  • Tracking - what a valid tracking number looks like (starts with, length, digits only) with a Try a number box, the tracking link ({tn} is replaced by the number) and the Shopify tag. Your own pattern (a regular expression) is under Advanced.
  • Watch & services, Event rules, Pick-ups (v91) - how long a parcel may be silent, the service types (Fast, Normal...) and their own days, what to do when the courier says certain words, and who collects your parcels: see Parcel watch, Service types, Courier event rules and Pick-ups. The Orders tab also decides whether the Log page asks about a missing receipt photo.
  • Orders - after how many days its parcels count as late, the receipt photo question, and its special note (below).
  • Courier states (v93) - what each word the courier sends means, and the words nobody has mapped yet: see Courier states.
  • Tracking page (v97, for couriers such as TCS that give no API) - read the courier's public tracking page for your open parcels, Ask me first or Apply what it reads, and how often: see Reading a courier's tracking page.
  • PostEx only: Live updates (what to do with the updates), Catch up (read recent orders from PostEx) and CPR sheets (import older history). They used to be a separate page; the old address now simply opens the PostEx setup page.
  • Claims - where lost/damaged reports for this courier are emailed.
  • Label - what is printed for its parcels: the courier's own label (PostEx airway bill, or a courier's slip) or one of your label templates, with a preview.
  • Advanced (always the last tab, v97) - what is rarely needed or can break something, each with its warning and a When do I need this? line. See Advanced tabs:
    • Webhook - the address and secret to give the courier for live updates (when it supports them). The secret is a box you can type into (8 or more letters and numbers), or press Replace to create one. For PostEx: Live updates from PostEx (the three boxes for the PostEx portal), Updates received and Repair: wrongly marked returns.
    • Own tracking pattern - a regular expression that replaces the boxes on the Tracking tab.
    • Valid order numbers - only if this courier's orders look different (for example they start with PX-).
    • Phone numbers - only if this courier wants phone numbers written differently from the store's rule.
    • Activity - every change, test and booking error, kept 30 days.
    Old links to the Webhooks, Phone numbers and Activity tabs open Advanced at that part.
A courier's setup page.

A special note for each courier

On the Order numbers tab, Special note holds up to 150 characters for every parcel you send with that courier - for example Fragile - handle with care or Call before delivery.

  • Couriers booked through their API (PostEx, Leopards...) receive it with each booking, in front of the store-wide note.
  • It is printed on labels wherever the template has the field {courier_note} (the Standard and Thermal designs have it).
The courier's special note (now on the Order numbers tab).

The test page

Press Test on a courier. Each check shows what was sent and received (keys hidden): Credentials, Tracking format (paste real numbers), Track a parcel, Book a test order (only on the courier's test server) and Webhook. The last result shows on the courier's card.

The test page.

Where each courier setting lives

Everything that belongs to one courier is on that courier's tabs: keys, tracking, order numbers, claims address, label, live updates. A few things cover all couriers and stay where they are: Couriers by city (the tab next to Your couriers, which courier is pre-selected for which city), and the note printed for every parcel plus the Book page defaults under Book › Booking settings.

Two accounts of the same courier

Add PostEx twice (for example "PostEx Lahore" and "PostEx Karachi"): each has its own token, pickup address and prefix, and you choose the account per order on the Book page.

Switching off and deleting

Switch off (⋯ menu) hides the courier on Log Orders and the Book page; its history stays. Delete asks you to type the name. If orders, bookings or batches use it, it is archived instead: its keys are wiped and old records keep its name.

Couriers found in your data but not set up

After a restore or an import that did not bring the couriers along, orders, bookings and scan batches can still carry a courier code (postex, postex2, tcs…) that none of your couriers has. The calendar then shows the bare code in grey with (not set up), and the blank-means-PostEx rule stops working.

  • Under your couriers, Found in your data, not set up lists each code and what carries it (orders, bookings, scan batches). Press Set up: a courier is made with exactly that code, so those records belong to it again. Nothing in them is changed.
  • postex, postex2… become a PostEx (named "PostEx", "PostEx 2"…), tcs becomes TCS, any other code becomes a custom courier named after it. A name that another courier already has gets the code added, for example PostEx (postex2), so reports never merge two couriers by accident.
  • A PostEx made this way still needs its token and settings: open it and fill them in. The first PostEx takes the store's original keys, which a restore brings along. The Setup & health list reminds you while a code is left.
  • Your plan's courier limit applies, as when you press + Add courier. A code that belongs to a removed courier is brought back with Bring back instead (below).

A courier you removed: bring it back, or merge it

A courier that was archived is listed under Removed couriers below your couriers, with what it still holds (orders, bookings, scan batches).

  • Bring back puts it into the list again with all its history. Its keys were wiped when it was removed, so open Setup and fill them in again.
  • If you press + Add courier and give a new courier the name of a removed one, you are not allowed to make a second one. The window says so and offers Bring back instead. (A second "PostEx" used to get its own code, so every report listed the same courier twice. Renaming a courier to the name of a removed one is refused for the same reason.) To really start fresh, use another name.

Merging two couriers

If the same courier is already in your list twice, for example two couriers both called "PostEx", merge them so every report counts each parcel once. On the courier you want to keep, press ⋯ › Merge another into this one… (or press Merge into… next to a removed courier).

  1. Choose the courier to keep and the one to merge into it. Only couriers of the same kind can be merged. The window shows exactly what moves: orders, bookings, scan batches, payments and so on, for both couriers and together.
  2. Read the notes under the table. The courier you keep stays exactly as it is (name, keys, setup). The other one's setup and keys are discarded. Where both have their own entry (tax rates, charges per city, city rule) the kept courier's entry wins.
  3. Type the kept courier's name and press Merge. It is done in one go and counted again before it is saved; if anything does not add up, nothing is changed.

The merged courier uses the older of the two codes, because old records (and parcels with no courier) are tied to the original one. Team members limited to either courier are limited to the merged one. Do it when nobody is scanning, and take a backup first. Merging needs the permission to delete couriers.

NoteA merge cannot be undone. Orders that were scanned twice under the two couriers stay as two scans: the merge does not delete any scan. Delete the extra batch from Uploaded Files & Batches if you want the count to be right.
TipWhen the platform publishes a newer version of a courier's template, its card shows "Update available". Nothing changes until you press Update on the setup page.