Status dictionaries — external, internal, and mapping
A carrier code is one thing; its meaning in the system is another. Mapping connects them — a platform-wide table, so only a superadministrator can change it with 2FA confirmation.
A carrier does not say “in transit”. It says DK, 030103, or taken_by_courier. To make that readable, the system keeps three layers.
Step by step — add a mapping for an unknown code
Only a platform superadministrator can do this. The change applies to all companies at once — read the rest of this article before you start.
- Find out which code came from the carrier. Open Advanced → Status history (the page heading is Delivery status entries). Narrow the list with Integration and Status type, then search by tracking number.
- The External status column contains the code you are looking for, and Status type shows the stage it was assigned. An unrecognised code remains Pending.
- Go to Configuration → Settings → Delivery. There are four tabs: Carrier statuses, Shipment statuses, Carrier status mapping, and Shipment validation.
- If the required descriptive status does not exist yet, create it first under Shipment statuses.
- Open Carrier status mapping. The Status mappings list has three columns: Integration, External status, and Internal status.
- Press + in the list bar (tooltip Add mapping). The Add mapping drawer opens from the right.
- Select External status (hint: Select external status) and Internal status (Select internal status).
- Press Add. The 2FA verification required window appears — enter the Verification code and click Confirm.
- Success is confirmed by Mapping saved. A denial shows Error saving mapping.
Edit an existing mapping with the pencil icon in its row (the Edit mapping drawer, Save button). Delete it with the red trash icon — a Confirm deletion prompt asks Are you sure you want to delete this status mapping?
This window changes the meaning of a code, not its stage. The stage (0–200) is built into the carrier driver and cannot be changed from the panel.
Three layers
| Layer | What it stores | Who creates it |
|---|---|---|
| External status | A specific carrier code and its stage (0–200) | System, automatically when the code first appears |
| Internal status | Your own descriptive name | Platform administrator |
| Mapping | Which internal status an external code means | Platform administrator |
The code-to-stage assignment (one of the nine values described in Shipment statuses — nine stages and why you see four) is built into the carrier driver and cannot be changed from the panel. DHL has about seventy codes mapped this way, DPD has numeric codes, and InPost has word-based codes.
Mapping to an internal status is a separate, editable layer — workflow automations use it.
An unknown code becomes “Pending”
A code the driver does not recognise is assigned stage 50 (Pending) and saved as a new external status. There is no warning or notification. If a carrier introduces a new code, parcels will look “in progress” for a while before anyone notices.
The Advanced → Status history screen (heading: Delivery status entries) shows raw events — this is where you can find codes sent by the carrier.
These tables are shared across the platform
External statuses, internal statuses, and mappings do not belong to a company. They are global dictionaries — a change affects all platform customers at once.
That is why editing requires a superadministrator account and two-factor confirmation. A regular company administrator cannot change them, by design: a mistaken mapping would break automations for everyone.
Changing a stage recalculates history
When an administrator changes the stage of an existing external status, the system recalculates the “Latest status” column for every historical parcel affected — deliberately without triggering workflow automations. Otherwise, correcting one dictionary entry would send thousands of SMS messages to customers from months ago.
A new carrier connection gets its own status
When a carrier integration is created, the system automatically creates the WMS_Sorting external status together with its internal status and mapping. Do not delete it — it handles the sorting stage on our side.
Want to see this with your orders? We’ll show you NOXTI with your sales channels and warehouse.
Book a demo