User Manual
Help Center/User Manual/Carrier Service Mapping: channel carrier/service ↔ internal codes

Carrier Service Mapping: channel carrier/service ↔ internal codes

Last updated 2026-10-16

Translate channel-side carrier/service text (e.g. UPS / Ground) into your standard carrier_code / service_code automatically when orders are pulled. Field reference and setup steps included.

Every channel names carriers and services its own way — one calls it "UPS / Ground", another "United Parcel Service / Standard". Carrier Service Mapping translates that channel-side text into your internal standard codes (carrier_code / service_code) so TMS, OMS and WMS always speak the same language.

Where the translation happens#

Right after channel.pull_orders pulls the orders and before the flow writes them into OMS: each order's carrier / service is looked up in this table, and on a hit the order gains carrier_code / service_code. The original carrier / service text is never overwritten.

Order pull → carrier mapping lookup → write to OMS.

Field reference#

  • Channel Carrier (required): the carrier text as the channel reports it, e.g. "UPS". Matching ignores case and surrounding spaces.
  • Channel Service (required): the service text as the channel reports it, e.g. "Ground".
  • Internal Carrier (required): your standard carrier_code, e.g. "ups". TMS rate shopping and label printing read this.
  • Internal Service (required): your standard service_code, e.g. "ground".
  • Channel Code: which channel platform this row applies to (e.g. shopify). Leave empty for a global mapping that applies to every channel.
  • Connection: optionally tie the row to one specific connection. A connection-specific row beats the channel-code generic row.
  • Active: the on/off switch. Turn off to retire a mapping without deleting it.

Matching priority#

  1. Connection-specific row (channel_id matches this order's connection).
  2. Channel-code generic row (same channel platform, any connection).
  3. Global row (no channel code, no connection).
Tip: start with channel-code generic rows (one per carrier/service per channel). Add connection-specific rows only when two stores on the same channel spell the same carrier differently.

Set up a mapping#

  1. Open Master Data → Carrier Service Mappings.
  2. Click New. Type the Channel Carrier and Channel Service exactly as the channel reports them (copy from a pulled order if unsure).
  3. Fill Internal Carrier and Internal Service with your standard codes (lowercase, e.g. ups / ground).
  4. Set Channel Code (e.g. shopify) for a channel-wide mapping, or pick a Connection for a store-specific one. Leave both empty for a global fallback.
  5. Save, then pull a test order — the order should arrive with carrier_code / service_code attached.
Screenshot position: (1) the mapping list at Master Data → Carrier Service Mappings showing the four mapping columns; (2) the New/Edit dialog with Channel Carrier / Channel Service / Internal Carrier / Internal Service filled in.

FAQ#

  • Order came in without carrier_code: the channel carrier/service has no mapping row yet. Check the flow run logs for the "carrier-mapping" warning, then add the row — future orders will translate.
  • Missing mapping never blocks the order: the original carrier / service text is kept and the order writes into OMS as usual.
  • "UPS" vs "ups": matching is case-insensitive, so you only need one row for both.
  • Temporarily disable a mapping (e.g. the channel renamed a service): flip the Active switch off instead of deleting — the old rows stay for history.