Shipments
Create shipping labels and track deliveries
A shipment is a carrier booking: a label, a tracking number, and whatever documents the route requires.
Permissions: shipments:read, shipments:book, shipments:cancel.
How shipments get created
- Automatically, when you pack an order and its shipping template matches. This is the normal path.
- By hand, from a fulfilment's Create shipment button, which opens the booking wizard.
- Standalone, from Shipping → Create shipment, with no order behind it at all.
- In bulk, see Bulk shipments.
The shipments list
The search box matches shipment number, tracking numbers (including per-parcel numbers), the carrier's shipment ID, order number, recipient name, company, email and phone, sender and recipient references, and pickup confirmation number.
Filters: status, carrier, pickup (booked or not), recipient, email, city, country, tracking number, reference, booked, shipped, delivered and created. Recipient, email, city and country come from the label - for drafts that were never booked they fall back to the order's delivery address.
Select rows and Book pickup to ask the carrier to collect - available only when every selected shipment is booked and has no pickup request already. The date defaults to today and the window to "ready about now, latest 17:00"; both are sent to the carrier, and the shipment detail page shows what you asked for next to the window the carrier confirmed.
Statuses
| Status | Meaning |
|---|---|
| Draft | Not yet sent to the carrier |
| Booked | The carrier has accepted it and returned a label |
| In transit | Tracking shows it moving |
| Delivered | Tracking shows it arrived |
| Cancelled | Cancelled |
The list's status filter uses these same five statuses.
Shipment detail
The detail page shows the carrier's own response alongside the booking, which is where you look when something went wrong. Available actions:
- Track - the carrier's tracking page
- Label - reprint. Manual and pickup labels are rendered as a PDF by MPH itself
- CMR / waybill and Proforma - where the carrier and route produce them
- Email documents - send the customs invoice, CMR or label to a recipient, with a draft you can edit. Default recipients come from the carrier configuration
- Refresh tracking - pull the current status now instead of waiting for the next poll
- Cancel - see below
Cancelling
Only UPS supports cancelling through the API. For every other carrier, MPH marks the shipment cancelled on its side and tells you to cancel it in the carrier's own portal. Cancelling in MPH alone does not stop a parcel.
Tracking
Tracking is polled automatically for carriers with a tracking API (see each carrier's capabilities). Every booked or in-transit shipment is asked about roughly every hour, two hours while it is still only booked, and left alone after 45 days or ten failed attempts in a row. Refresh tracking on a shipment asks right away.
A poll that moves a shipment to In transit or Delivered updates the shipment in MPH. The tracking number is pushed back to the sales channel where the connection supports it, so the customer sees it in the platform they ordered from. Whether that happens on shipment or on fulfilment is a per-connection setting. See Shopify.
DHL tracking needs a Tracking API key on the DHL carrier record, issued for an app on DHL's developer portal; it is separate from the booking key. DSV tracking is not available yet: DSV Road Sweden shares its tracking web service only after an access request, so DSV shipments stay Booked until that is in place.
Cost
Where the carrier returns a price, it is shown on the shipment. For bookings made on an MPH standard agreement, the price shown is the one charged to your wallet.