Delegate to subcontractors without losing visibility or control.
The moment a job goes to a subcontractor by phone, you lose the thread
Using subcontracted capacity is a normal part of running a bulk haulage operation — particularly for operators managing overflow volumes, specialist equipment requirements, or geographic coverage beyond their owned fleet. The commercial relationship with subs is well understood. The operational coordination is where it gets difficult.
When you send a job to a subcontractor by phone or WhatsApp, you have transferred the job and lost the thread at the same time. The sub might confirm verbally. They might reply “on it” in a WhatsApp message. They start the job. At some point during the day, your client calls to ask where their delivery is. You call the sub. The sub says they will check with their driver. You wait. You call the client back with second-hand information that is already twenty minutes old.
This is not a problem of subcontractors being unreliable. It is a problem of structure: the job left your system when it left your control. There is no mechanism by which status can flow back to you without a phone call. HaulageOps creates that mechanism — a dedicated portal for the subcontractor that is connected to your dispatch board, so delegation and visibility exist at the same time.
- Job sent by phone = job exists only in someone's memory
- No confirmation workflow = no certainty the sub has accepted
- No status channel = no update without calling them
- No POD from sub = invoice evidence relies on paper dockets arriving at your office
- Client query = phone chain with no guaranteed answer
Your dispatch board
Shows owned trucks only. Sub jobs sent by phone/WhatsApp disappear from the board.
Client receives stale information
No audit trail. No delivery record until the docket arrives by post.
How subcontractor coordination works when the sub has their own portal
The structural fix is a dedicated portal for the subcontractor — connected to your dispatch board, showing only their jobs, receiving delegated work from your dispatch workflow and sending status back in the same channel. That is what the HaulageOps subcontractor portal provides.
You delegate from your dispatch board
From the same dispatch board used for owned drivers, you select a job and delegate it to a subcontractor. You choose which subcontractor company receives it. The job does not leave your board — it appears on your board as Delegated with the sub's name, and simultaneously appears in the sub's portal as a job awaiting acceptance.
Sub accepts or declines in their portal
The subcontractor logs into their dedicated HaulageOps portal. They see their job queue — only the jobs you have delegated to them, not your other operations or other clients. They review the job detail and Mapbox map showing pickup and delivery locations, then accept or decline. If they decline, the job returns to unassigned on your board for reassignment.
Sub's driver picks up the job
Once the sub accepts, the job is assigned to one of their drivers. The sub's driver operates through the same HaulageOps driver app used by your own drivers. They receive a Firebase push notification, see the job detail including navigation to the pickup point, and begin the job. The sub manages their driver assignment in their portal — you do not need to be involved in that step.
Status flows back to your board
As the sub's driver progresses through the job — En Route, On Site, Loaded, Delivered — each status update flows back to your dispatch board in real time. You see the sub's job on your board with live status, exactly as you see your owned driver jobs. When your client calls asking where their delivery is, you look at the board. You do not call the sub.
Sub's driver captures POD
At the delivery point, the sub's driver captures POD in the driver app — photograph, customer signature, and document upload. The POD attaches to the job record in your admin panel. Your client sees it in their client portal. Your finance team sees it when generating the invoice. The sub's driver capturing POD is indistinguishable from your own driver capturing POD, from the perspective of your records and your client's portal.
Margin stays in the system
The job carries two rates: the client charge rate (what your client pays you) and the subcontractor pay rate (what you pay the sub). Both are recorded against the job. Your client's invoice is generated from the client charge rate. The sub's cost is visible at the job level. Your margin — the difference between the two — is in the system, not calculated manually at month end from two separate spreadsheets.
Your client sees their portal. Your sub sees their portal. They never overlap.
One of the operational risks of connecting external parties to a shared system is data leakage — a subcontractor seeing your client's full rate card, or a client seeing your subcontractor relationships. HaulageOps uses role-based access control (RBAC) and multi-tenant architecture to prevent this by design.
What the subcontractor sees in their portal
- Only the jobs delegated to them — not your other clients' jobs
- Job details: pickup and delivery address, material, scheduled time
- Mapbox map showing job locations for navigation context
- Their own job history and status records
- Their own pay rate for each job — not your client charge rate
What the subcontractor does NOT see
- Your client's name or contact details beyond what the job requires
- Your client charge rate — they see only their own pay rate
- Your margin on the job
- Other subcontractors you work with
- Your owned fleet details, other client accounts, or your billing records
Your client's portal is equally scoped. They see their own jobs, their own POD, their own invoices, and their own rate cards. They do not see your subcontractor relationships or the fact that a particular job was fulfilled by a sub rather than your own fleet — unless your operational arrangement requires that disclosure.
Your Admin Panel
Full view of all jobs, clients, subcontractors, both rates, full audit trail, management reports.
Subcontractor Portal
Scoped to their jobs only — queue, accept/decline, history, their pay rate.
Client Portal
Scoped to their jobs only — status, POD, invoices, their rate card.
Data separation enforced at the architecture level — no settings to accidentally change.
Why most haulage software handles subcontractors poorly
vs Allotrac
Allotrac is a per-vehicle subscription model — typically $30–150 per vehicle per month. External subcontractors who are not Allotrac customers have no self-service portal. You coordinate with them outside the system — by phone, WhatsApp, or email — with all the visibility loss that entails. There is no subcontractor-facing portal built into the product that allows a non-customer sub to accept jobs, update status, and capture POD within your workflow.
- No sub portal for non-Allotrac customers
- Subcontractor coordination requires out-of-system communication
- Status from subs cannot flow back to your dispatch board automatically
HaulageOps: subcontractor portal included, no licence required for the sub.
vs MyTrucking
MyTrucking offers job sharing between operators, but the subcontractor must also be a paying MyTrucking customer for the sharing to work. If your sub uses a different system — or no system — the connected workflow is not available. This creates a two-tier subcontractor network: the subs you can coordinate digitally (those already on MyTrucking) and those you still coordinate by phone. HaulageOps does not require the sub to be a customer of any platform.
- Subcontractor sharing requires sub to be a MyTrucking subscriber
- Subs not on MyTrucking are coordinated outside the platform
- Creates inconsistent visibility depending on which sub you are using
HaulageOps: any subcontractor gets a portal login — no platform subscription required from them.
Your subscription includes subcontractor portal access for as many external subs as you work with. The sub does not pay HaulageOps. The sub does not need their own subscription. They log in, see their jobs, accept or decline, update status, and capture POD — and all of that flows back to your dispatch board and your client's portal as part of your operation.
Client charge rate and subcontractor pay rate — tracked separately, margin visible at job level
When you use a subcontractor, you are managing two commercial relationships simultaneously: the rate you charge your client for the job, and the rate you pay the sub to execute it. The difference is your margin on that job. In most haulage operations, these two numbers live in different places — the client rate in one spreadsheet, the sub invoice in another — and the margin calculation happens once a month, by hand, after the fact.
In HaulageOps, both rates are attached to the job at dispatch. The client charge rate comes from the client's rate card — the same rate card that drives the invoice. The subcontractor pay rate is configured against the sub's record and applies when the job is delegated. Both rates sit on the same job record.
This means:
- The client invoice is generated from the client charge rate — correctly, automatically
- The sub's cost is visible against the job before and after delivery
- Job-level margin is visible in reporting without a manual reconciliation exercise
- The sub does not see your client charge rate — they see only their own pay rate
- Your client does not see your sub arrangements or your margin
Sub portal view
Pay Rate: $18 / tonne
Client charge rate not visible.
Client portal view
Invoice: $2,640
No rate breakdown visible.
Margin sits at the job level — no manual reconciliation at month end.
Subcontractor coordination — common questions.
Do my subcontractors need to pay for HaulageOps to use the portal?
No. Subcontractor portal access is included in your HaulageOps subscription. The subcontractor company gets their own dedicated login at no charge to them. They do not need to purchase their own subscription or licence. This is intentional — requiring subs to pay for access creates a coordination problem, as you would only have connected visibility for the subs who chose to subscribe. HaulageOps gives all your subs portal access as part of your arrangement, not theirs.
Can a subcontractor see my other clients, rates, or operational data?
No. The subcontractor portal is scoped strictly to the jobs delegated to that specific sub company. They see their job queue, job detail (pickup and delivery information, material, scheduled time), their own pay rate, and their job history. They cannot see your other client accounts, your client charge rates, your margin, other subcontractors you work with, or any other part of your admin panel. The data separation is enforced at the architecture level, not through a setting you could accidentally change.
How does the subcontractor accept a job? Do they need to be online when I delegate it?
No. When you delegate a job to a subcontractor from your dispatch board, it appears in their portal job queue immediately. The sub does not need to be logged in at that exact moment — they will see the job in their queue the next time they log in. If a Firebase push notification is configured for their account, they can also receive a notification prompt. They then accept or decline through the portal interface. If they decline, the job returns to your board as unassigned.
What happens if a subcontractor declines a job?
If the subcontractor declines, the job is returned to unassigned status on your dispatch board with the decline noted. You can then delegate it to a different subcontractor or assign it to an owned driver. The decline is logged as part of the job's audit trail — you have a record of which sub was offered the job and declined, useful for capacity planning discussions with your sub network.
Can my client tell whether their delivery was made by my driver or a subcontractor?
The client portal shows job status and POD for the client's jobs. By default, the client sees the status of their delivery — not the internal detail of whether it was an owned driver or a subcontracted one. If your commercial arrangement with a client requires disclosure of subcontractor use, that is a relationship-level decision you would handle through your contract terms — the system does not surface subcontractor identity to clients unless you configure it to do so.
How many subcontractors can I manage at once?
There is no fixed published cap on the number of subcontractor portal logins. Operators managing 10 to 30 regular subcontractors are the typical use case. If you are managing a very large network of external capacity providers, contact us to discuss the enterprise configuration appropriate to your volume.
Does the subcontractor's driver use a separate app, or the same HaulageOps driver app?
The sub's driver uses the same HaulageOps driver app (iOS and Android). The app is publicly available and the sub's driver installs it and logs in with credentials linked to the subcontractor's portal account. From the driver's perspective, the app experience is the same as for your own drivers — they receive jobs assigned by the subcontractor, update status, and capture POD. The job and its POD records then flow back to your admin panel as part of your operation's records.
Subcontractor coordination connects to these features and solutions
Subcontractor Portal
Full feature breakdown of the dedicated subcontractor portal — job queue, accept and decline workflow, Mapbox maps, driver assignment, and job history.
Portal detailSubcontractor Management
How subcontractor records are managed in the admin panel — company details, rate configuration, document storage, and performance history.
Management detailOwned & Subcontracted Fleets
Running a mixed fleet — how owned trucks and subcontracted capacity are managed from the same dispatch board without separate workflows for each.
Mixed fleet solutionBulk Haulage Industry
How HaulageOps is applied across bulk haulage operations where subcontracted capacity is a standard part of meeting client demand and covering peak volumes.
Bulk Haulage