Shipping
Every outbound label and its tracking, live carrier rates, and the channel-to-carrier mapping that drives label generation.
Shipping covers everything leaving the dock: the Shipments list with live tracking across all clients, a Rate Calculator for comparing carrier prices, and Shipping Mappings — the operator-owned config that tells the system which carrier service to buy for each channel shipping method.
Operator vs. client view
A brand watches its shipments and tracking. You do the parts they can't: void a label, and own the Shipping Mappings that decide which carrier service each order ships on. The client sees results, not these controls.
What Stallion is
CanopyWMS buys every label and pulls every rate through Stallion Express, a third-party carrier aggregator. A postage type is one Stallion carrier service (e.g. USPS Ground Advantage). Each client needs its own Stallion API key before any label or rate will work — see Shipping Mappings.
Shipments
Shipping → Shipments lists every label created, across all clients.

Each row shows the order, tracking number, carrier and service, cost, ship date, and a status:
| Status | Meaning |
|---|---|
| Label Created | Label generated; not yet scanned by the carrier. |
| In Transit | Moving through the carrier network. |
| Delivered | Delivered to the customer. |
| Exception | A carrier problem — delayed, undeliverable, etc. |
| Voided | The label was cancelled. |
Filter by status to find, say, every shipment in an Exception state. The operator addition is the Void action on any non-voided shipment — it invalidates the carrier label and can't be undone.
Open a shipment for its full detail: cost breakdown, weight, a Track on carrier site link, and — for a non-voided label — Void Shipment (a two-step confirm that can't be undone). Statuses past Label Created advance automatically from carrier tracking; Void is the only manual status action.

When the shipment carries label data, the sheet also shows dimensions, Download Label / Reprint Label (the recovery action for a jammed or lost label), and a live Tracking Events timeline. (The delivered shipment above no longer shows the label buttons.)
Rate Calculator
Shipping → Rate Calculator compares live carrier rates so you can sanity-check shipping costs.

Enter a destination address (or pre-fill from an existing order — note that fills the address but not the weight) and Package Details: a weight in lb is required, with optional L/W/H. No rates come back without a weight.
The calculator returns each available service with its rate, tax, total, and estimated delivery days.
The cheapest option gets a Cheapest badge; services with tracking show a Tracked badge.
Estimates, not labels
The Rate Calculator quotes live rates but doesn't buy a label — labels are generated during packing.
Shipping Mappings
Shipping → Shipping Mappings. This operator-only page, configured per client, maps each channel shipping method (e.g. a Shopify "Standard Shipping") to the carrier postage type the label buys. Because it's per client, pin a client in the topbar first — with none pinned the page shows a "Select a client" prompt and everything below stays hidden.

Each row pairs a channel method with a Stallion postage type. A method with no carrier assigned shows an Unmapped warning, and a banner tallies how many still need mapping. Beyond the table:
- Discover from Orders scans the client's channels and pulls in every shipping method name customers have actually used, so you're not guessing.
- Default Fallback Postage Type sets what to buy when an order's method matches no mapping — so a label always generates.
- Stallion API Key (Tenant Admins only) holds the per-client carrier credential. It reads Configured (masked, green) or Not Configured (red), and you can Set / Update / Delete it. No labels or rates work for a client until this is set — removing it warns that shipping will fail.
Use Add Mapping to create a pairing, or Edit / Delete to change one.
