Freight Broker TMS Software: What It Actually Has to Do
If you ask ten brokers what a TMS is you'll get ten answers, and most of them are some version of "the expensive thing the big guys use." That's not what it is. TMS is transportation management system, and it just means the software your brokerage runs on. Every load starts in it. Every carrier gets checked in it. Every rate con and invoice comes out of it.
Which means you already have one. If you're running loads out of a spreadsheet, a Word template for rate cons, and six browser tabs for FMCSA and SAFER and insurance, that's your TMS. I ran a dispatch operation on exactly that setup for years. It works right up until the day it doesn't, and that day usually costs more than the software would have.
So this is what the software has to actually do, in the order a load happens, and how we built Haulan to do it. It's our product, obviously. The first part is true no matter what you buy.
The carrier check is the whole reason to have one
Every broker who's been around a while has a story that starts with "they looked fine." The carrier was on the load board, the MC came back active, you booked them. Three days later you find out the authority was revoked two weeks earlier, or the MC you booked was a broker, not a carrier, and your freight got handed to somebody nobody vetted. The load's gone. Usually the customer goes with it.
So the first job of the software is to pull the carrier's record live, from FMCSA, at the moment you're booking. Not from a copy it grabbed last month. Operating authority, broker authority, what insurance is on file and when it cancels, out-of-service status, the safety rating and the inspection history. And it can't just show you a green badge and let you keep going.
In Haulan you type the MC or DOT and it pulls the docket live, then cross-checks the SAFER site because revocations show up there before the API catches up. Insurance comes back with the limits and the actual dates. If the authority is revoked, inactive, or broker-only, Haulan won't tender the load. That's not a warning you click through. It stops. If you really want to override it, you sign a risk acknowledgment and it's recorded against your name. We built it that way on purpose. The bad days in this business all start the same way, and a popup nobody reads doesn't prevent them.
Onboarding shouldn't take a week of "did you get my W-9"
Once the carrier checks out you need the packet. W-9, insurance certificate, signed broker-carrier agreement, authority letter. The way most of us did it was an email with five attachments, then a week of chasing, then a folder on the desktop called Carriers that nobody could find anything in when it mattered.
Haulan sends the carrier one link, by text or email, whichever they'll actually open. They verify who they are, fill out the real IRS W-9 right in the browser, upload insurance and authority, and e-sign your broker-carrier agreement with the signature landing where you placed it. All of it lands on the carrier's file. If they already onboarded with another broker on Haulan they can reuse their signed documents with one tap, which turns a three-day setup into about four minutes. You can use the packet we ship with or upload your own agreement. A lot of brokers have one their lawyer wrote and don't want to give it up. You don't have to.
Type the load once
Here's the thing about a load. It has one set of facts. Where it picks up, where it delivers, what's on it, what the customer pays, what the carrier gets. The rate confirmation, the bill of lading, the customer invoice, and the 1099 at the end of the year are all those same facts printed four different ways. If your system makes you type them four times, you don't have a TMS, you have a form.
In Haulan you build the load once. Multiple stops if you need them, driver, truck and trailer, commodities, and the margin between the customer rate and the carrier rate sitting right there on the load so you know what you made before you book it. The rate con and the BOL generate in one click with your logo and your terms on them. The rate con goes to the carrier for e-signature and you both get the executed copy back by email. And everything stays stuck to the load. When the claim comes in March about a load from January, the signed rate con is two clicks away instead of somewhere in your sent folder.
The part nobody builds for small brokers: getting paid
This is where most software aimed at small brokerages just stops, and it's the part that decides whether you're still around next year.
Loads that delivered and never got invoiced because you were busy. Invoices that went out and got forgotten. A customer who's 45 days late on three loads while you're happily booking him a fourth. Carriers waiting on money you collected two weeks ago. None of that is a software feature until it is, and then it's the only feature you care about.
Haulan generates the customer invoice off the load the day it delivers, your letterhead, your net terms. Then it keeps score. Every delivered load sits on the receivables report until the customer pays. You see when it was invoiced, when it's due, and how many days late it is, in red when it's late. Loads you delivered but never invoiced get flagged, because that's how money quietly disappears. If a customer pays part of an invoice, you record the partial and the load shows the balance. A $7,000 load with $2,000 in shows $5,000 open, not a question mark. The same report shows what you owe your carriers and how long they've been waiting. Print the whole thing or just the receivables or just the payables, with your company header on it, and hand it to your bookkeeper. At year end the 1099s fill from the loads you already ran, and all of it exports to QuickBooks.
You're not at a desk
Brokers work from the dock, from the truck, from the parking lot at the kid's game. A system that only works on a laptop with two monitors is a system you'll stop using by the second week.
There's a Haulan app on the App Store and the web version works on any phone. But the part people end up using most is that Haulan has a phone number. You text it like you'd text your dispatcher. "Is MC 391087 legit." "What's delivering today." "Mark 1043 delivered." It answers in a few seconds with your real data, and it uses the same carrier-blocking rules as the app, so texting doesn't become the back door around the vetting.
What it costs, and who it's for
Starter is $70 a month. One user, 25 carrier onboarding packets and 25 insurance pulls included, and everything above. Go over the allowance and it's 20 cents an insurance pull and 25 cents a packet, billed automatically, and a load never gets blocked because you ran out. Nothing in this article is held back for a higher tier. Lite is $150 for up to three users and adds the text assistant. Pro is $250 for up to five, with roles, owner reports, and bigger allowances. No setup fee. No contract. Your price is locked for as long as you have the account. If you're on a spreadsheet or another system, we move your carriers, customers and loads over for free. We do the work, not you.
It's built for the broker who does the work, alone or with a couple of people, anywhere from two loads a week to a few hundred a month. If you've got a forty-person floor and an IT department, you want something with an implementation team behind it. If you're the one who books the carrier, sends the rate con, and chases the invoice, this was built around your day, because it used to be mine.
Try it on a real MC
Ask for a demo login. It's a real account with sample loads, texted to your phone, usually within the hour during business hours. Then run the MC numbers you're actually about to book this week. If it catches something on the first one, it already paid for itself. If it doesn't, you lost ten minutes and you know a little more about your carriers than you did.
Stop booking bad carriers.
Haulan vets every carrier, blocks double brokers, and runs your onboarding, rate cons, and invoices in one place.
Start free →