Shipping & Track and Trace
Multi-carrier shipping for every company that ships goods, plus courier operations when you are the carrier.
Shipping & Track and Trace
Shipping sits next to Sales deliveries and WMS packing. It adds a Shipment that carries parcels, carrier booking, labels, and tracking — without replacing delivery notes or freight orders.
Requires the Shipping entitlement and shipping.* permissions. Log out and back in after seed so JWT permissions refresh.
Phase 1 — Multi-carrier shipping
For companies that ship via DHL, UPS, FedEx, GLS, manual, or custom accounts (reuse Inventory → Carriers):
- Shipments & parcels — Create from a posted delivery (or pack). Capture package count, weight, and dimensions per parcel.
- Rate shop → book → label — Compare carrier services, book a quote, print PDF or ZPL labels, request pickups, and cancel before delivery. After book (or once labeled), the shipment cannot be edited or deleted from the form — use book, label, cancel, sync, or return actions instead.
- Tracking — Carrier status sync (scheduled job) and public track link. Status appears on the shipment; notify customers by email (and queue SMS). Delivery / sales order stay linked via FKs.
- Returns — Create a return shipment (addresses swapped) and generate a return label.
Screens: Shipping → Shipments, Pickups. Carrier credentials remain under Inventory → Carriers (mark own network when you are the courier).
Phase 2 — Courier operations
When your company is the carrier (execution_mode: own_network / carrier code own):
- Scan lifecycle —
POST /api/v1/shipping/scan_eventsfrom Drivers / Warehouse apps: picked up, at hub, sorted, out for delivery, delivered, failed attempt, returned (time, place, user, PoD). - Public tracking — White-label page at
/ship-track/:tokenand APIGET /api/v1/public/shipment_tracking/:token(delivery attempts + proof of delivery). The token is the shipment’spublic_tracking_tokenonly — not the document code or carrier tracking number. - Rating engine — On Shipping → Rating: create a zone, a rate card, then Add weight band (zone + kg range + amount). Without a band, courier counter / calculate charges cannot price. Also volumetric divisor, surcharges (fuel, remote, COD, insurance), customer contract discounts. Calculate charges on a shipment; run Customer invoicing for a period.
- Customer shipping portal / API — Portal partners can create shipments, print labels, book pickups, and bulk upload (
/api/v1/portal/shipments). - COD — Collect on delivered scans; settle to customers under COD settlements.
- Exceptions — Failed / damaged / lost / delayed cases; optionally open a linked AR dispute.
Screens: Rating, Exceptions, COD settlements, Customer invoicing.
How it fits with existing modules
| Layer | Owns |
|---|---|
| Sales delivery | Stock / legal delivery note |
| WMS pack + label | Warehouse carton execution |
| Shipping shipment | Carrier booking, parcels, track & trace, returns, courier rating |
| Fleet freight order | Linehaul / TMS trips |
Create a shipment from the delivery after post (or from a packed carton). Optional link back to the pack for label bridging.