Why Carriers Are Dropping Off-the-Shelf Fleet Platforms for Purpose-Built Systems
A regional carrier renewing a fleet management subscription eventually reaches the line item for professional services. Three years of configuration work, custom report building, integration middleware and per-user seats, layered on top of a platform that still cannot represent the way the company actually assigns loads. At that point the subscription stops looking like software and starts looking like rent on a compromise.
The pattern repeats across asset-based carriers and third-party logistics providers, and it shapes the market for a transportation software development company engaged by firms that already own a platform. Wezom and similar vendors are frequently brought in not to replace a system but to build around one, which tells you where the real friction sits.
The friction is rarely about missing features. It is about what a packaged platform assumes regarding how a carrier operates, and what happens when those assumptions do not hold.
The Configuration Ceiling
Every commercial fleet platform exposes a configuration surface: custom fields, workflow rules, user-defined statuses, report builders, sometimes a scripting layer. It works well for a meaningful range of variation.
The ceiling appears where the product’s data model itself is wrong for the business. A platform assuming one load moves on one truck with one driver can absorb enormous configuration and still not represent a relay operation where a trailer changes tractors twice, or a drayage move where the container’s status and the chassis’s status are separate facts with separate consequences.
Carriers hit this in recognizable ways. A bulk hauler finds the platform models delivery as a discrete event when their reality is a metered transfer with quantity reconciliation at both ends. A flatbed operator finds that securement and permit conditions vary per load in ways the cargo record cannot express. A carrier running dedicated and spot freight on the same assets needs different dispatch logic, rate structures and reporting for each, and the platform supports one configuration per company.
What follows is predictable. Dispatchers maintain a spreadsheet alongside the platform. Billing re-keys data because the invoice structure the customer requires cannot be produced from the system’s export. Operations builds a shadow process that works, becomes load-bearing, and stays invisible to the vendor and to management until someone leaves and the knowledge goes with them.
That shadow layer is the actual cost of the configuration ceiling. It appears as headcount in operations, as billing disputes, and as a planning process whose accuracy depends on one person’s spreadsheet being current.
Where Integration Costs Actually Accumulate
Carriers typically connect a fleet system to telematics, an ELD provider, fuel card data, maintenance records, customer TMS systems through EDI or API, load boards, accounting, payroll and customer-facing tracking. Some connections are native and work on day one. Some are generic connectors needing field mapping and transform logic. Some do not exist and must be built against whatever the API allows.
Cost concentrates in the third category, specifically in what the API does not expose. A platform allowing an integration to read dispatch records but not write status updates forces a one-way sync with manual reconciliation. One exposing data through batch export rather than an event stream turns a real-time requirement into a polling loop with latency the business feels. Rate limits designed for a smaller customer become the constraint on how often fleet position refreshes.
Then there is middleware. Carriers running several packaged systems that each integrate with the others end up with a mesh of point-to-point connections, or with an integration platform carrying its own licensing cost and specialist skill requirement. Either way, the integration layer becomes a system in its own right, with its own failure modes, on-call burden and documentation debt, while formally being nobody’s product.
The economics shift when the integration layer approaches the complexity of the systems it connects. At that point a carrier is already running custom software, built as glue rather than as a coherent design, which is the most expensive form because it carries all the maintenance burden and none of the architectural benefit.
EDI, APIs and the Customer’s Requirements
Shipper requirements are a pressure a carrier cannot decline. Large shippers impose their own data exchange standards as a condition of doing business. Traditional EDI transactions covering load tender, tender response, status updates, delivery confirmation and invoicing remain widespread in North American freight, with each trading partner maintaining its own implementation conventions. API-based integration is growing but has not displaced EDI where the volume is.
Operationally, each major customer wants status updates at particular milestones, in a particular format, with particular reference numbers echoed back, and with lateness tolerances that trigger chargebacks. A packaged platform supports the standard transaction set. Whether it supports a specific customer’s variant, including which internal statuses map to which milestone codes and what happens when a status arrives out of sequence, is answered per customer.
Carriers with a concentrated customer base often find a handful of accounts drive most of their integration complexity, and those accounts are the ones they cannot afford to serve badly. When the platform cannot express a major customer’s requirements without manual intervention, the argument for purpose-built systems stops being about efficiency and becomes about account retention.
What Changes Between Fifty Trucks and Five Hundred
Scale breaks packaged platforms at specific thresholds where an assumption stops holding.
Dispatch is the first. At fifty trucks, a dispatcher holds the operation in their head and the system records decisions. At five hundred, the decisions need computational support: which driver can legally take this load given remaining hours, where equipment will be, what deadhead costs, how it affects the driver’s route home, what it does to the next three loads on that lane. Packaged optimization modules exist, but their objective functions reflect assumptions that are frequently wrong for a specific business. A carrier competing on service reliability and one competing on cost per mile need different answers from the same inputs.
Hours of service interaction is the second threshold. Compliance rules are non-negotiable and the ELD records them, but planning around remaining hours is a different problem from recording them. Systems treating HOS as compliance rather than a planning input produce dispatch decisions that are legal and infeasible, surfacing as loads reassigned mid-day and drivers waiting.
Exception handling is the third and most underestimated. Exception volume scales with fleet size while tolerance for handling it manually does not. Breakdowns, detention, appointment changes, refused deliveries, weather closures and driver availability changes each require a decision and a cascade of updates to customers, downstream loads and billing. A platform that handles the normal path and leaves exceptions to phone calls creates an operations department sized by exception rate rather than by volume.
Reporting is the fourth. Executives want questions answered across system boundaries: cost per mile by lane including maintenance and fuel, driver turnover correlated with dispatch patterns, customer profitability net of detention and accessorials actually collected. Packaged report builders answer questions within their own data model. Anything crossing systems requires a warehouse, and building a warehouse is building custom software with a different label.
The Data Nobody Owns
Telematics providers, ELD vendors and fleet platforms each hold part of a carrier’s operational record, under varying extraction terms. Some provide full API access to history at no cost. Some meter API calls. Some retain detail for a limited window. Some make bulk historical export a professional services engagement.
The strategic consequence is switching cost. A carrier whose five years of history lives inside a platform that does not export it usably cannot meaningfully evaluate alternatives, because leaving means restarting the analytical baseline. Vendors understand this, and renewal negotiations reflect it.
Carriers that have thought about this build their own operational data store fed from every source, independent of any vendor’s retention policy. Telematics, ELD records, fuel transactions, maintenance history and dispatch records land in a store the carrier controls, and packaged systems become sources rather than systems of record. This is often the first custom build a carrier commissions and usually the one with the clearest return, because it converts a vendor dependency into a technical integration that can be repointed.
Data quality is the work nobody anticipates. Position data has gaps and jumps. Fuel transactions post late and occasionally against the wrong unit. Maintenance records are entered under time pressure. Odometer readings from different sources disagree. Reconciliation logic is typically a larger effort than the pipeline that moves the data, and a transportation software development company scoping an analytics project without budgeting for it is scoping a project that will overrun.
When Building Is the Wrong Answer
Some functions are genuinely commodity, and building them consumes capital without producing advantage. ELD compliance is regulated with established providers. Accounting is not a differentiator. Payroll is not a differentiator. Basic GPS hardware and its feed is a supplier decision. Carriers who build here maintain software that duplicates a subscription, with a smaller team and no vendor accountability.
Maintenance burden is chronically underestimated by organizations without a software engineering function. Dependencies age out of support, browsers change, mobile platforms deprecate APIs, integration partners change interfaces, and the people who understand the codebase leave. Commissioning custom software commits the carrier to an ongoing engineering relationship, internal or external, and its annual cost belongs in the comparison from the beginning.
There is also the question of what happens during the build. A packaged platform is available now. A purpose-built system takes months to handle the normal path and longer to handle exceptions. Carriers needing capability this quarter are making a different decision from those planning a three-year system landscape.
The honest framing is that some parts of a carrier’s operation are the same as everyone else’s and some are the reason they win business. The first should be bought. The second is where building makes sense, and the boundary is specific to each carrier rather than general to the industry.
The Pattern Most Carriers Actually Land On
The outcome is rarely wholesale replacement. It is a rearrangement of which layer is authoritative.
Packaged systems stay where they are strong: compliance, telematics hardware and its data, accounting, and often the mobile driver application, where a vendor’s investment in device compatibility and driver usability is difficult to match. These become subsystems.
A custom layer is built where the operating model lives: dispatch and planning logic reflecting how this business assigns work, customer-facing commitments and their tracking, pricing and settlement rules, and the operational data store tying everything together. This becomes the system of record for what the carrier cares about most.
The integration between them is designed rather than accumulated, with defined interfaces, explicit handling of subsystem unavailability, and a data model owned by the carrier rather than inherited from a vendor.
Sequencing matters. Projects that work tend to start with the data layer, which delivers visibility quickly, requires no change to daily operations, and produces the evidence base for deciding what to build next. Projects that struggle tend to start with dispatch, the most operationally sensitive function in the company and the one where a partial system causes the most disruption.
Questions That Separate Vendors
Ask how the vendor handles the transition period, when the old system and the new one are both authoritative for different things. Parallel running in transportation is harder than in most domains because the operation does not pause, and a vendor who has done it will describe a specific cutover strategy rather than a general migration plan.
Ask what they do about data reconciliation. If the answer treats it as minor, the estimate is wrong.
Ask about the driver-facing component specifically. Software drivers must use has adoption characteristics unlike any office application: low tolerance for friction, wide variation in device and connectivity, and a workforce that will route around anything costing them time. Vendors without experience here design for the dispatcher and discover the problem after deployment.
Ask what happens to the codebase if the relationship ends. Ownership, documentation standards and the ability to hand the system to another team are terms worth settling before work starts.
Ask how they scope exceptions. A transportation software development company that has built dispatch systems will spend more time asking what goes wrong than about the normal flow, because the normal flow is the easy part and the exception paths are where the system either earns its cost or becomes another layer people work around.
The carriers getting value from custom builds are not those who decided packaged software was inadequate in general. They are the ones who identified precisely which assumptions in their current platform contradicted how they run freight, and rebuilt those parts while leaving the rest alone.