Skip to content
Industry

Custom Software for Freight Brokers and 3PLs

A brokerage lives on margin per load, carrier vetting, and coverage — the three things a carrier-built TMS reports on last. Here is where off-the-shelf breaks for a small freight broker and what is worth building instead.

September 3, 202610 min read
A freight broker in a blue button-down shirt at a desk in a small logistics office, holding a desk phone to his ear while writing load numbers on a legal pad, with two monitors showing rate spreadsheets and parked tractor-trailers visible through the window behind him
The load got covered. Whether it made money, and whether that carrier's insurance was still active this morning, is a software question.

The business is a spread, and the spread is on a sticky note

A freight broker can tell you the buy and sell on the load they booked twenty minutes ago. What is far harder to answer, on a Tuesday in the middle of a quarter, is which lanes are actually profitable after accessorials, which customer's freight looks good on the rate sheet and loses money on detention, and which of your carriers you are quietly overpaying because one dispatcher has a relationship.

That gap is structural, not sloppy. A brokerage is a business with no inventory and no equipment, where the entire product is a decision made under time pressure on a phone call. The numbers that decide whether the decision was a good one arrive afterward and from different directions: a rate confirmation in one place, a lumper receipt texted from a dock, a detention claim three weeks later, a carrier invoice that does not match the confirmation, a factoring company asking to be paid instead of the carrier.

The result is a familiar shape. Volume is up, the team is working hard, the load count looks good, and net margin per load has been drifting down for two quarters. Nobody can point at the cause, because the record that would show it was assembled by hand from four sources and only for the loads someone thought to check.

Where off-the-shelf transportation software breaks

There is capable software in this market, and a brokerage should look hard at it before building anything. It is worth being precise about where it stops fitting, because the reason is consistent: most of it was built for an asset-based carrier, and a broker is a different business wearing the same industry label.

  • The product models trucks you do not own. Dispatch, hours of service, fuel tax, maintenance, driver settlement — a carrier-built system spends most of its attention on assets a brokerage has none of, and comparatively little on the buy-sell spread that is the brokerage’s only product.
  • Margin is a report, not a field. Brokers need margin per load, per lane, per customer, per carrier, and per rep, visible while the quarter is still running. Systems that treat the sell side as billing and the buy side as payables can only reconcile the two after both have closed.
  • Accessorials arrive late and land nowhere. Detention, layover, TONU, lumpers, reconsignment, and driver assist are where brokerage margin actually leaks. They show up days after delivery, often as a text message, and generic systems have no natural home for them until invoicing.
  • Carrier vetting lives in email. Authority, insurance certificates, limits, expiration dates, W-9s, and carrier packets end up as PDF attachments in a shared inbox, which means nothing enforces them at the moment a load is tendered.
  • Lane history is not queryable. The single most useful thing a broker knows is what this lane has actually paid and cost over the last year. That lives in the heads of whoever has been there longest, and it walks out the door when they do.
  • The good brokerage products are priced for the enterprise. Platforms that genuinely handle brokerage well are usually built for a hundred seats, which leaves a ten-person operation paying for something it cannot change and still keeping the important parts in a spreadsheet.

The reliable diagnostic is the same one that works in any industry: find the spreadsheets. In a brokerage they are almost always a margin tracker, a carrier list with insurance dates, and a coverage board for tomorrow. Those three are also, not coincidentally, the things that decide whether the business makes money and whether it survives a bad week.

The load record is the whole ballgame

If a brokerage builds one thing, it should be a load record that carries its own complete financial history. Not a project management tool and not a replacement for accounting — a single object that knows everything that happened to one shipment.

The data set is smaller than it sounds. Customer and lane. Sell rate and the agreement it came from. Carrier, buy rate, and the confirmation. Every accessorial on either side, with who authorized it and when. Appointment times, actual arrival and departure at both ends, and the documents — rate confirmation, bill of lading, proof of delivery, scale and lumper receipts. Claims if there are any. That is one screen, and nearly everything a brokerage wants to know is derived from it.

Two design decisions determine whether it works. Accessorials have to be enterable the moment they are known, by whoever knows, from a phone, with the customer side and carrier side tracked separately — because the detention you pay and the detention you bill are different numbers and the difference is margin. And the arrival and departure timestamps have to be captured as events rather than typed in later, because those two facts are what turn a detention claim from an argument into an invoice.

Once each load is complete in one place, margin reporting stops being a monthly reconstruction. Margin per lane, per customer, per carrier, per rep, on demand, for a period you choose. That is the report that shows you the customer whose freight is fine until you count the two hours of detention nobody billed. What this looks like when the underlying data is trustworthy is covered in custom reporting software.

Carrier vetting is the piece with real money attached

Every other item in this article is about margin. This one is about not losing a load of freight and the customer that came with it.

Double-brokering and identity fraud have made carrier vetting the highest-stakes routine task in a brokerage, and it is almost always the least systematic. A dispatcher covering a hot load at four in the afternoon is exactly the person least able to check whether an insurance certificate expired last week or whether the carrier calling from a new phone number is who the authority says it is.

Software is good at precisely this. Store authority, insurance carrier, coverage limits, expiration dates, W-9, and the signed carrier agreement as structured fields rather than as attachments. Check them against FMCSA data on a schedule and flag what is about to lapse. Then do the part that matters most: refuse to let a load be tendered to a carrier whose file is incomplete or expired, so the check happens at the moment of the decision rather than in a monthly audit.

The same record supports the checks worth running before a first load — whether the contact details match the authority, whether the authority changed hands recently, whether the truck is where it claims to be. It also gives carriers somewhere to upload their own documents instead of emailing them, which is the same pattern described in what is a vendor portal.

Coverage, check calls, and the work that eats the day

The other half of a brokerage is operational rather than financial: what is booked, what is uncovered, where the truck is, and who needs to be told.

Coverage is a time-sensitive question that spreadsheets answer badly. What a broker needs is one view of every load in the next several days with its status, an obvious marker on anything uncovered inside the window where it becomes a problem, and enough lane history attached that whoever picks it up knows what it should pay. That last part is what lets a newer rep make a decision a veteran would make.

Check calls are the other tax. Most small brokerages spend real hours every day asking drivers where they are and telling shippers what they said. A good share of that is automatable — tracking where the carrier supports it, a driver-facing status link where they do not, and status updates pushed to the customer instead of assembled by a person. The goal is not to eliminate the phone call, it is to stop making the phone call to gather information the system could already have.

Customer-facing visibility is worth the same look. Shippers asking for status by email is a workload you can convert into a page they check themselves, and it is one of the few software investments a broker can point a prospect at during a sales call.

Settlement, factoring, and the paperwork after delivery

The load delivers and the accounting starts, and this is where a brokerage discovers how good its records were.

Carrier payables in freight are unusually complicated for a business this size. Quick pay at a discount, factoring companies with assignments that redirect payment, invoices that do not match the rate confirmation, deductions for a late delivery or a lumper the broker already paid. Each one is a small reconciliation, and doing them by hand at volume is both slow and error-prone in the direction of paying twice.

The tractable version is to make the rate confirmation the authority. A carrier invoice gets matched against it automatically, differences get surfaced as exceptions rather than discovered by a person reading PDFs, factoring assignments live on the carrier record so payment routing is not institutional memory, and the finished result posts to accounting without anyone rekeying it. Leave the general ledger where it is — the integration patterns are covered in custom software with QuickBooks integration.

What to build, in what order

The most common failure in a brokerage software project is scope. Trying to replace accounting, load management, carrier compliance, customer visibility, and settlement in one build is a long project with a real chance of collapse, and it is not necessary.

Leave accounting alone. Payables, receivables, and the general ledger are the standard part of the business and existing packages handle them fine. Build the operational layer where brokerage is genuinely different, and push finished invoices and bills into accounting so nothing is entered twice.

Sequence it so each piece stands on the last. The load record first, with buy, sell, and accessorials complete, because every useful number depends on it. Margin reporting second, since it is now mostly querying records you already have. Carrier compliance third, with enforcement at tender. Coverage and customer visibility after that. Settlement matching last, because it is the piece that most benefits from clean data upstream. If the systems already in the building need to talk to each other along the way, connecting two business systems is often the cheaper first move.

When you should not build anything

Three situations argue against a custom build, and each is worth ruling out first.

If you are two people moving a handful of loads a day in a few known lanes, the overhead of any system will likely exceed what it saves. A disciplined spreadsheet and a habit of recording accessorials the day they happen gets you most of the way.

If you already pay for a TMS with modules you have never switched on, look there first. Plenty of brokerages are paying for carrier monitoring or margin reporting inside a product they already own and worked around it because the setup stalled a year ago.

And if the real problem is that nobody agrees on the process — accessorials handled three different ways depending on which rep booked the load — software will encode the confusion rather than fix it. That is worth settling before a build. How to tell the difference is covered in seven signs your business has outgrown its software.

How we approach it

Brad Walker has spent more than twenty years building operational systems for logistics companies, manufacturers, and service businesses from Wake Forest, NC. A brokerage engagement starts by following a handful of loads end to end — the quote, the confirmation, every accessorial on both sides, the carrier invoice, and what finally landed in accounting. That trace usually explains most of the difference between the margin you booked and the margin you kept, and it defines a build small enough to finish.

Engagements are fixed price, with the scope agreed before development starts. You know what you are getting, what it costs, and when it lands.

Frequently asked questions

Why does a generic TMS not fit a freight brokerage?

Most transportation software was built for an asset-based carrier — a company with its own trucks, drivers, and trailers. Those products model dispatch, hours of service, fuel tax, and driver settlement, because that is what a carrier worries about. A brokerage owns none of that. It buys capacity and sells it, and its entire business is the spread between the two numbers plus whether the load moved without a claim. So the things a broker most needs to see clearly — margin per load, per lane, per customer, and per carrier; which carriers are actually vetted right now; which loads are uncovered at four in the afternoon — tend to be either absent or bolted on as a report you run at month end. The other half of the problem is the enterprise tier. Products that do handle brokerage well are usually priced and configured for a hundred-seat operation, which means a ten-person brokerage pays for a platform it cannot change and still runs the important parts in spreadsheets.

What should a freight broker build first?

The load record, with buy rate, sell rate, and every accessorial attached to it as it happens. That single object is where a brokerage makes and loses money, and in most small brokerages it is scattered across a rate confirmation PDF, an email thread, a spreadsheet, and someone's memory. Once each load carries its own complete financial history, margin per load, per lane, per customer, and per carrier stops being a monthly reconstruction and becomes a report anyone can run. Build carrier vetting second, because it is the piece with real exposure attached — expired insurance and double-brokering are how brokerages lose serious money in a single incident. Coverage boards, customer portals, and automated check calls are worth doing, but they are refinements on top of a load record you trust. If the underlying numbers are assembled by hand, nothing built on them will be reliable.

Can custom software handle carrier insurance and authority monitoring?

Yes, and it is usually one of the highest-return pieces for a brokerage because the downside is so asymmetric. The mechanics are ordinary software work: store each carrier's authority, insurance certificate, coverage limits, expiration dates, and W-9 as structured fields rather than as PDFs in an email folder; check them against FMCSA data on a schedule; and refuse to let a load be tendered to a carrier whose file is incomplete or expired. The valuable part is not the monitoring, it is the enforcement at the moment of tender, when a dispatcher under pressure would otherwise take the truck and sort the paperwork later. The same record supports the fraud checks worth running before a first load — whether the phone number and email match the authority on file, whether the carrier was reassigned recently, whether the truck is where it claims to be — which is how most double-brokering gets caught before the freight disappears rather than after.

If your margin tracker is a spreadsheet, or nobody can say today which carriers have current insurance, that is a fixable problem — and a smaller build than it feels. Start the conversation. The first step is a discovery call to trace a few loads from quote to settlement and find where the margin went.

Ready to talk about your project?

Tell us what you're building. Brad reviews every submission personally.

Start Your Project