Episode 11 of 12

Getting to the Right Carrier — Routing and Ship-Via Selection

Why this matters: Carrier selection affects delivery time, freight cost, and customer experience simultaneously. Manual carrier assignment is error-prone and increasingly a bottleneck as volume grows. Intelligent, rule-driven routing solves all three problems at once — and makes the decision auditable.

Why Carrier Assignment Matters More Than You Think

Every shipment needs to be assigned to a carrier and a service level: overnight air express, standard ground parcel, less-than-truckload consolidation, or full-truckload direct. In small operations, a person makes this decision for each order, drawing on their knowledge of the customer's carrier contract, the destination zone, and the weight and dimensions of the shipment. As order volume increases, this becomes a significant bottleneck — and a consistent source of errors when the person making the decision is under time pressure, unfamiliar with a particular customer's requirements, or working from outdated rate information.

The Ship Via value is not merely a label on the order — it is a single setting that drives a connected chain of downstream actions: which label format is used (PDF vs ZPL thermal), what freight cost is calculated, which EDI message format is transmitted to the carrier, and which truck the carton is loaded onto at the dock. Getting it wrong creates rework at multiple stages and, in the worst case, a carton on the wrong truck.

The Routing Guide

eWAVE handles carrier assignment through a Routing Guide — a prioritised rule table that evaluates each shipment against a series of criteria and applies the first matching rule. The Routing Guide is configured once by a Super User and then runs silently during every wave's routing step, making the correct carrier assignment without manual intervention. The result is consistent, fast, and auditable: every assignment is traceable back to the specific rule that triggered it.

Routing Rule Matching Criteria

CriterionDescriptionExample
Ship-from locationWhich warehouse or company originated the shipmentSingapore Main Warehouse
Ship-to customerSpecific customer account — for customer-level carrier contractsCustomer: Mega Retail Pte Ltd
Ship-to countryDestination country — for international carrier selectionCountry: Malaysia
Ship-to postal zoneNamed zone group covering multiple postal codesZone: SG-Central
Distribution channelSales channel type — B2B, B2C, marketplace, internal transferChannel: E-commerce
DepartmentBusiness division within the companyDepartment: Wholesale
Max carton countUpper limit on number of cartons in this shipmentMax: 5 cartons
Max total weightUpper weight limit triggering freight carrier instead of parcelMax: 30 kg
Max total volumeUpper volume limit for parcel carrier eligibilityMax: 0.5 m³

How Rule Matching Works

Rules are evaluated from the highest priority number to the lowest. The first rule where all specified conditions are satisfied is applied — this is called "first match wins." Conditions within a rule are combined with AND logic (all conditions must match). If a condition field is left blank in a rule, it is treated as a wildcard — it matches any value for that criterion.

This means:

Example Routing Guide Configuration

Sample Routing Guide — Singapore Warehouse

Priority 10 — VIP Customer Express
CustomerMega Retail Pte Ltd
Channelany
Max Weightany
Ship ViaFedEx Priority Overnight
Priority 20 — Regional Parcel (lightweight)
CountryMalaysia, Thailand, Indonesia
Max Weight≤ 25 kg
Max Cartons≤ 3
Ship ViaDHL Express Regional
Priority 30 — Local B2C E-commerce
CountrySingapore
ChannelE-commerce
Max Weight≤ 10 kg
Ship ViaSingPost Parcel
Priority 99 — Default (catch-all)
All conditionsany / blank
Ship ViaRoad Freight — General

Setting Up Carrier (Ship Via) Records

  1. Navigate to Configuration → Ship Via This menu is accessible to Super Users only. Create one Ship Via record per carrier service level combination — for example, "FedEx Priority Overnight" and "FedEx Economy" are two separate records, even though both are FedEx.
  2. Enter carrier details Enter the carrier name, service level description, and SCAC code (Standard Carrier Alpha Code) if applicable for EDI transmissions. Set the transit time in days — used to calculate estimated delivery dates on shipping documents.
  3. Configure label format Select PDF for carriers that accept standard-format labels (uploaded to a portal or printed to an office printer) or ZPL for carriers that support Zebra thermal label printing directly via the printer's IP address. Most major express carriers (FedEx, DHL, UPS) offer ZPL-compatible label generation through their shipping APIs.
  4. Attach freight rate tables (optional) If you want eWAVE to calculate landed freight costs per shipment, attach the carrier's rate zone definitions and weight-break rate table. eWAVE will look up the destination's rate zone, find the applicable weight bracket, and calculate the freight charge automatically. This data is used for landed cost reporting and can be included on shipping invoices.
  5. Link to Routing Guide rules Add this Ship Via to one or more Routing Guide rules as the result of the match. When the routing step in a wave runs, shipments matching the rule's criteria will be assigned this Ship Via.

Rate Zones and Freight Rating

For operations where freight cost visibility per shipment is important — whether for recharging customers, managing carrier spend, or cost-per-order reporting — eWAVE's freight rating module calculates the freight charge at the time of carton confirmation:

  1. Rate zone assignment: each destination postal code or country is mapped to a named rate zone (e.g., Zone 1 = within Singapore, Zone 3 = Malaysia, Zone 5 = International rest of Asia). These zone definitions come from the carrier's published rate card.
  2. Weight break lookup: the carton's actual weight (from the weighing step, if captured) or the declared weight (from cubing) is matched against the rate table's weight brackets (e.g., 0–5 kg, 5–10 kg, 10–25 kg).
  3. Rate calculation: the system multiplies the applicable rate (cost per kg or flat rate for the weight bracket) by the carton weight and returns the freight charge. This charge is stored on the carton record and rolled up to the shipment total.

Dynamic Routing Override

For situations where the permanent routing rules need to be temporarily overridden — a carrier capacity crunch during peak season, a special routing arrangement for a promotional campaign, or a one-time customer instruction — eWAVE supports per-order and per-wave routing overrides available to Back Office Users:

Tip — Always have a default catch-all rule: In the Routing Guide, always create a rule at the lowest priority (highest number, e.g., priority 99) with all condition fields blank. This rule matches every shipment that does not match a more specific rule above it. Without a catch-all, an unmatched shipment is flagged as an exception and requires manual assignment — even a well-designed rule table will have gaps when new customers, new destinations, or new service levels are introduced.

Key Concepts — Episode 10

  • Routing Guide: prioritised rule table evaluated automatically during the wave routing step
  • Rules match on: ship-from, ship-to customer or zone, distribution channel, max cartons/weight/volume
  • First match wins: rules evaluated top-to-bottom; most specific rules at top, catch-all at bottom
  • Ship Via: carrier + service level record — drives label format, freight cost calculation, and EDI output
  • Label formats: PDF (standard) or ZPL (Zebra thermal direct) — selected per Ship Via record
  • Freight rating: rate zones + weight break tables → automatic freight charge per carton at time of pack
  • Per-order and per-wave routing override: available to Back Office Users without changing permanent rules
  • Dynamic rule flag: temporarily disable specific rules without deleting them
  • Always include a catch-all default rule at lowest priority to ensure every shipment is assigned