Carrier configuration

Updated May 31, 20264 min read

You control which carrier ships which order through four configured objects: carrier accounts and three types of profile that attach to them. Together they define which carriers are available, how much each costs, where each can ship, and how many shipments each can handle. Shipping rules then pick among them at booking time.

This page explains the model. The procedural guides for each object are in Guides → carriers.

The carrier account

A carrier account is the record that connects Carriyo to a specific carrier service. It stores credentials, the merchants the account serves, label preferences, and the toggles that govern runtime behavior.

Multiple accounts can exist for the same carrier. Common reasons:

  • Different countries (one Aramex account for UAE, another for KSA).
  • Different services (one DHL Express account, one DHL eCommerce).
  • Different merchants on a multi-merchant tenant.
  • Sandbox accounts running in parallel with live ones.

Each account carries three groups of settings:

  • General. Active state, live vs sandbox, auto-mark-ready-to-ship, whether Carriyo's costing engine should query the carrier's rate API, account country, account currency.
  • Label. Which of the carrier's available label formats becomes the default when a shipment is booked.
  • Merchants. Which merchants in the tenant can use this account.

Carrier-specific fields (account numbers, API keys, service codes, incoterms, dangerous-goods flags) sit alongside these and vary per carrier. See the carrier-specific setup guides under Connectors for the per-carrier field reference.

The three profile types

Profiles attach to carrier accounts via the Assignments tab and constrain or describe the account at runtime.

Cost profile

A costing profile pre-calculates shipping rates without calling the carrier's rate API. Useful when:

  • The carrier doesn't expose a rate API at all.
  • The carrier's rate API is slow, unreliable, or not enabled.
  • You want a markup, a flat rate, or a custom cost structure that overrides the carrier's quote.

Cost profiles support fixed and incremental-by-weight structures, with optional COD surcharges (fixed fee or percentage of COD amount). Within a profile, rules narrow which shipments the profile applies to: by route, by service level, by custom conditions. Rules are evaluated by priority.

Carriyo uses the costing profile only when the carrier account's Carrier Shipping Rates toggle is off. With the toggle on, Carriyo calls the carrier's own rate endpoint instead.

Network profile

A network profile defines the geographic coverage of one or more Carrier accounts. A shipment whose pickup or dropoff falls outside the assigned network is excluded from shipping rules that target those accounts.

Networks operate at country level and below: provinces, states, cities, areas. The Dashboard imports geo lists or lets you toggle individual administrative regions. Networks are how you say "Carrier X only serves UAE and KSA" or "Carrier Y only delivers within Riyadh".

Capacity profile

A capacity profile sets a shipment limit on one or more carrier accounts. Carriyo supports two forms:

  • Daily Booking Capacity. Maximum shipments bookable to the account in a 24-hour window. Resets at a configured local time.
  • In-Flight Capacity. Maximum open shipments at any point in time. No reset; releases as shipments close.

Both can apply to the same account simultaneously. Within a profile, rules narrow which shipments count toward the limit: by entity type (forward / reverse), by schedule, or by custom conditions. When a limit is met, shipping rules stop selecting that account until capacity frees up.

How shipping rules use this

When a shipment is being booked, the rule engine evaluates rules in sequence. For each rule, the candidate carrier accounts are filtered by:

  1. Account state. Must be active.
  2. Merchant access. The merchant on the shipment must be in the account's allowed list.
  3. Network coverage. Pickup and dropoff must fall inside any network assigned to the account.
  4. Capacity. Neither daily nor in-flight limit may be exceeded.

The first rule whose conditions match (and which leaves at least one viable account standing) wins. If multiple accounts remain viable, the rule's defined target order picks the winner.

For the rule-engine mechanics, see How shipping rules work, and the rule-authoring guide under Guides → automation.

Carrier account health

Each account exposes a Health state on the carrier accounts list:

StateMeaning
HealthyShipments have been assigned in the recent past, status updates are flowing, no outstanding errors.
IdleNo shipments have been assigned since the account was created.
InactiveThe account's active toggle is off. No shipments will route to it.
TroubleOutstanding errors exist, or status updates have stopped flowing for open shipments in the last 48 hours, or both.

The full health detail (recent activity, error counts) is on the account's Status tab.