I have an unusual vantage point on this question. I spent two years building and running a custom TMS for a US carrier, and this year I launched RateConHQ, my own TMS product for freight brokers. So yes — I sell one of the things this article is about, and you should read everything below knowing that. I would rather disclose it in the second sentence than have you discover it in the last one.
What that vantage point buys you: I have watched, in production, which TMS capabilities actually change a brokerage’s numbers — and which ones exist mainly to look impressive for forty-five minutes in a sales demo.
Start with where the money leaks
A brokerage is a pipeline from quote to cash. Every stage has a leak, and a TMS earns its subscription by plugging them — nothing else.
Keep that picture in mind, because every claim in the rest of this article — mine or a vendor’s — should map to one of those leaks. A feature that doesn’t close a leak is decoration.
The six things that matter
1. Rate confirmations in seconds, not minutes
The rate con is the contract for every load you move (here is the full anatomy if you want it). In a patchwork operation it is assembled by hand — copy the last one, change the lane, change the rate, hope you changed everything. That is ten minutes per load and a standing invitation to the wrong-MC and stale-rate class of errors.
In a real broker TMS the rate con is generated from the load record: carrier details pulled from the carrier file, MC/DOT included, terms standardized, sent and e-signed without leaving the system, signed copy filed against the load. Seconds, and the class of error disappears rather than getting faster.
2. Tracking that doesn’t require phone calls
Check calls are the single biggest time sink on most small brokerage ops desks. The test is simple: can a customer answer “where’s my load?” without anyone at your company touching a phone? That means live GPS positions, automated check-call updates, and a tracking link you can hand the customer.
3. Carrier vetting inside the workflow
Authority status, insurance, safety rating — checked against FMCSA data at the moment of booking, not in a separate tab that someone opens when they remember. Double-brokering and identity-theft schemes get in through the gap between “we vetted them last quarter” and “we booked them today.” The vetting has to sit in the booking path, where it cannot be skipped on a busy Friday.
4. Margin visible per load, in real time
Ask a broker their margin on the load that just delivered and you learn everything about their tooling. If the answer lives in a spreadsheet updated at month-end, every pricing decision that month was made partially blind. The system that books the load and pays the carrier already has both numbers — it should be showing you the spread on every load, every lane, every customer, as it happens.
5. Money tied to loads, not exported to a parallel universe
AR and AP should be generated from load data — invoice built from the rate con, carrier payable from the same record, aging visible next to the freight. The moment billing lives in a disconnected accounting file, you have two systems of record, and they will disagree, and someone’s job will quietly become reconciling them.
6. An audit trail and real roles
Who changed the rate on that load, and when? If the system cannot answer, you do not have a system of record — you have a shared notepad. Role-based permissions matter for the same reason: your new dispatcher and your accountant should not have identical powers, and (as I have written before) if per-seat pricing is making you share logins, your audit trail is already fiction.
What that adds up to, per load
Those numbers are illustrative — deliberately so, and I would distrust any vendor who claims universal ones. The honest exercise is to time your operation for one week. Most brokerages that do this discover the ops desk spends more time re-typing and chasing than selling, which reframes the TMS question from “software expense” to “who is doing the work.”
The demo glitter
Things that reliably look spectacular in a sales demo and rarely move a brokerage’s numbers:
- An “AI” badge on every menu. Ask what specifically the model does, with your data, on a Tuesday. “AI-powered insights” that nobody can name is a screensaver. (I say this as someone who builds AI agents for a living — the real ones do a nameable job.)
- Four hundred canned reports. You will use six. What matters is whether the six you need can be shaped to your operation.
- A marketplace of eighty integrations. You need the four your operation actually touches — for most brokers: email, maps/tracking, FMCSA data, payments. Depth in four beats logos of eighty.
- Dashboards designed for the demo projector. Gradient donut charts are not a substitute for “margin per load, today, per dispatcher.”
Buy, build, or neither
My honest routing, having sat on every side of this:
- Small-to-mid brokerage with a broadly normal workflow → buy. A product spreads its engineering cost across every customer; you should not fund a custom build to get rate cons and tracking. This is precisely who I built RateConHQ for — quote to paid invoice, set up in days. That is my product, so weigh the recommendation accordingly — but the reasoning holds for whichever product you shortlist.
- An operation whose workflow is the moat → consider building. When your process genuinely does not fit any product — and you have confirmed that by demoing several — the custom math starts to work. I have written up the custom vs. off-the-shelf trade-offs side by side, and there is a calculator for the payback arithmetic.
- Fewer than a few loads a week → neither, yet. A disciplined spreadsheet and a good rate con template will carry you further than software shopping. Come back when the check calls hurt.
Five questions that expose any TMS demo
- “Book a load, send the rate con, and invoice it — live, without leaving the system.” Watch for tab-switching and hand-waving. This is the whole pipeline; if the demo cannot walk it cleanly, neither can your dispatchers.
- “Where does my margin show, and when?” Per load, in real time — or in a report module updated after the fact?
- “What happens when a carrier fails an FMCSA check mid-booking?” You are testing whether vetting is in the path or beside it.
- “Show me the audit trail for a rate change.” Who, what, when — or silence.
- “What does it cost at double my team size?” This is where per-seat pricing tells you what it really thinks of your growth.
If a vendor handles all five without flinching — buy from them, even if it is not me. And if you want a second opinion on your shortlist from someone who builds this stuff, ask; I will tell you if the honest answer is a competitor, a custom build, or a spreadsheet.