Chapter 1 — Why This Combo Exists
If you run your own trucks, this combo turns a single warehouse-only operation into a vertically-integrated logistics business — pick, pack, ship, drive, deliver, prove, bill.
Warehouse OS gives you the dock-to-door inside the building. Transport OS gives you the door-to-customer side. The combo is where they meet.
Chapter 2 — Roles in This Combo
| Role | What's different |
|---|---|
| company_admin | Configures both warehouse + transport pricing. |
| operations_manager | Sees the entire pipeline: pick, pack, ship, dispatch, drive, POD. |
| operator | Picks/packs/ships then hands off to dispatch. |
| driver | Now meaningful. Picks up shipments from the warehouse, delivers, captures POD. |
| customer_service | Sees end-to-end status — reduces "where is my order?" questions. |
| accounting | Bills warehouse + transport on a single invoice; uses Dispatch Pricing. |
Chapter 3 — The Fulfillment-to-Dispatch Handoff
When fulfillment ends, dispatch begins. Trenvar links the two automatically when you set things up right.
The flow
- Order is fulfilled (picked, packed, label generated). Status: packed.
- Operator marks the order dispatch_ready from /console/operator/fulfillment.
- Trenvar (or operations manager) creates a dispatch job for the shipment.
- Dispatch job is assigned to a driver (or added to a route plan).
- Order status moves to dispatched.
- Driver delivers; POD captured.
- Order status moves to delivered (driven by the POD finalization).
Auto-create dispatch jobs from fulfillment
Some tenants configure auto-creation: when a fulfillment order hits dispatch_ready, a dispatch job is created automatically. Toggle in /console/business/settings/system. Saves manual steps but means you must staff dispatch quickly.
Chapter 4 — Outbound Shipment Lifecycle End-to-End
| Step | Who | Where | What happens |
|---|---|---|---|
| 1. Order created | Manual / portal / API | /console/business/wms/fulfillment | Fulfillment order opens. |
| 2. Pick | operator | /console/operator/fulfillment | Items gathered. Status → picked. |
| 3. Pack | operator | /console/operator/fulfillment | Cartons + weights. Status → packed. |
| 4. Label | operator | /console/operator/fulfillment | Carrier label OR your own internal label if you're the carrier. |
| 5. Dispatch job | operations_manager | /console/business/dispatch/jobs | Job created, status → assigned. |
| 6. Route plan | operations_manager | /console/business/dispatch/tracking | Optional: group with other stops. |
| 7. Driver accepts | driver | /console/driver/jobs | Status → in_progress, GPS pings start. |
| 8. Drive | driver | (on the road) | Live tracking visible to ops + customer. |
| 9. Arrive | driver | /console/driver/jobs | Marker → arrived. |
| 10. POD | driver | /console/driver/pod | Photo + signature + name. Finalize. |
| 11. Complete | driver | /console/driver/jobs | Job → completed; fulfillment → delivered. |
Chapter 5 — Dispatch Pricing
This is the screen that explicitly requires both OSes. Without Warehouse + Transport, Trenvar hides it.
Dispatch Pricing combines fulfillment work + transport work into a single quote/invoice. Used when you bill the customer one number for "we picked, packed, and delivered N orders this month."
How it composes
- Reads the fulfillment pricing rule (from Warehouse-side billing).
- Reads the transport pricing rule (rate card + accessorials + fuel + contract).
- Sums them per shipment.
- Optionally applies a customer-contracted bundle discount.
Chapter 6 — Mixed Billing
A monthly invoice for a Warehouse+Transport tenant typically has lines from both sides.
Sample invoice structure
| Line | Source | Service | Qty | Total |
|---|---|---|---|---|
| 1 | fulfillment | Order Fulfillment | 120 | $180.00 |
| 2 | shipping_label | Shipping Label | 120 | $24.00 |
| 3 | transport_rate | Linehaul (distance) | 340 km | $255.00 |
| 4 | transport_accessorial | Liftgate | 3 | $45.00 |
| 5 | transport_fuel | Fuel surcharge (12%) | — | $36.00 |
| 6 | tax | HST 13% | — | $72.80 |
| — | — | Total | — | $612.80 |
How accounting builds it
- Open draft invoice for the customer.
- Click Append Fulfillment — pulls fulfillment + label lines.
- Click Append Transport — pulls dispatch jobs + accessorials + fuel.
- Add manual lines (extras, kitting, anything one-off).
- Finalize.
Chapter 7 — POD as Proof for Both Sides
In Warehouse-only mode, POD is light. In Transport OS, POD becomes the legal record.
The POD captured by your driver:
- Closes out the fulfillment order (it shows as delivered in the customer portal).
- Closes out the dispatch job.
- Becomes the dispute artifact for billing — "you said it didn't arrive; here's the photo and signature."
POD attachments are stored against the job. Customer service can pull them up to resolve cases. Accounting can attach them to billing disputes.
Chapter 8 — Common Pitfalls
"Dispatch jobs aren't being created from fulfillment"
- Auto-create toggle is off — turn it on, or accept the manual step.
- Order didn't reach dispatch_ready — check what's blocking.
"Driver can see the job but route is empty"
- Job is assigned to driver directly (not via a route plan). Route plans are optional.
- Route plan exists but with optimization_version that excluded this job. Re-optimize.
"Transport pricing audit shows wrong rate"
- Customer contract overrides default rate — check /console/business/billing/pricing-rules for transport_contract scoped to this customer.
- Lane lookup didn't match — verify origin/destination zone codes on the shipment.
- Fuel surcharge applied unexpectedly — review fuel rule's distance-table eligibility.
"POD finalize is rejected"
- No signature and no photo — at least one is required.
- Driver tried to finalize someone else's POD — server only allows the assigned driver.
Chapter 9 — Full Worked Example: Order to POD in 36 Hours
A single shipment from order intake to signed POD, with timestamps and roles, in a Warehouse + Transport tenant.
The order
Customer "Acme Corp" places an order: 5 cartons, ship-to "Beta Industries, Calgary AB", required by Friday EOD.
Hour 0 (Wednesday 10:00) — order created
- Acme submits order via their portal. Trenvar creates fulfillment order FO-20260503-001 with owner=Acme, recipient=Beta.
- Pick task auto-generated; appears in operator queue.
Hour 2 (Wed 12:00) — picked + packed + labelled
- Operator Maria picks 5 SKUs across 3 source bins. Scans each HU + SKU. Click Complete Pick.
- Operator Tom packs into 5 cartons. Each carton weighed (totals 18 kg). Click Complete Pack.
- Internal label generated (you're the carrier in this combo). 5 tracking numbers, 1 manifest. Order status: dispatch_ready.
Hour 3 (Wed 13:00) — dispatch job created
- Auto-create runs (or ops manager creates manually) → dispatch job DJ-20260503-001 with shipment=FO-001, transport_mode=trucking.
- Ops manager Sarah looks at tomorrow's route plan for Calgary. Adds this job to driver Mike's route.
- Mike's route plan is re-optimized. New optimization version saved.
Day 2, Hour 16 (Thu 08:00) — Mike accepts
- Mike opens /console/driver/jobs on his phone. Sees today's 7 jobs including DJ-001 as stop #4.
- Clicks Accept on the route. GPS pings start.
Day 2, Hour 22 (Thu 14:00) — delivery
- Mike arrives at Beta Industries, Calgary.
- Marks Arrived. POD form opens.
- Outcome=Delivered, recipient name=John Doe (Beta's receiving manager).
- John signs on Mike's phone screen. Mike snaps 2 photos: cartons at dock + signed paperwork.
- Mike clicks Finalize POD. POD record written. Job status → completed.
- Acme's portal at
/console/customer/ordersimmediately shows order FO-001 as Delivered with POD photo thumbnail.
End of month — invoicing
- Accounting opens Acme's draft invoice. Click Append Fulfillment → 87 fulfillment lines.
- Click Append Transport → 87 dispatch lines (linehaul + accessorials + fuel surcharge).
- Single invoice covers both warehouse and transport work. Customer pays once.
End-to-end: 36 hours from order to signed delivery, all visible in real-time to Acme's portal users without a single email exchange.
Appendix A — Glossary (Combo-Specific)
Cross-cutting terms specific to Warehouse + Transport. For per-OS terms, see the Warehouse OS and Transport OS guides' glossaries.
Auto-create dispatch jobs — Tenant setting that creates a dispatch job automatically when a fulfillment order hits dispatch_ready. Saves manual steps.
Dispatch handoff — The hand-off point between fulfillment (warehouse picks/packs) and transport (driver delivers). Status flips from packed → dispatch_ready → dispatched.
Dispatch Pricing — The screen at /console/business/dispatch/pricing that combines fulfillment + transport pricing into one customer quote. Requires both Warehouse OS and Transport OS to be on.
Mixed billing — A monthly invoice that has lines from both warehouse work (pick/pack/storage) and transport work (linehaul/accessorials/fuel).
Pricing audit — Per-shipment audit log of how transport price was computed: base rate, contract discount, accessorials, fuel surcharge. Used to settle customer disputes.
End of Warehouse + Transport Combo Guide · v1.0 · May 2026