Transportation Management Software Development
Custom transportation management software built around your lanes, contracts, and carriers.
A dispatcher tendering loads by phone and email while the spot rate moves has a systems problem, not a staffing problem. A 3PL reconciling carrier invoices against contract rates in a spreadsheet has a margin problem, because every missed accessorial and every misapplied rate is money walking out the door.
RaftLabs builds custom transportation management software for carriers, 3PLs, and freight brokers. Load tendering, contract and spot rating, real-time shipment tracking, and carrier integrations via EDI and API, all wired into your accounting and dock operations. Fixed price. No per-load SaaS fees.
Load tendering, rating, and dispatch in one workflow built around your lanes
Carrier integrations via EDI (204, 214, 210) and direct API, not manual email
Contract rate management with accessorials, so invoices reconcile against what you agreed
Real-time shipment visibility across every carrier and mode, one dashboard
No per-load SaaS fees: you own the platform outright after delivery
Bring the problem, the current workflow, or the existing code. We reply with a practical next step within one business day.
Trusted by
The brief
Start with what is not working.
Good software decisions begin with the constraint, not a list of features or a preferred technology.
Dispatcher tendering loads by phone and email while the spot rate moves against you?
Carrier invoices that never quite match the contracted rate, reconciled by hand in a spreadsheet?
Off-the-shelf TMS that cannot model your lanes, your contracts, or the way your brokers actually work?
Plain answer
RaftLabs builds custom transportation management software for carriers, 3PLs, and freight brokers across the US, UK, Ireland, and Australia. A focused v1 with load tendering, contract rating, and real-time shipment tracking launches in about 18 to 24 weeks from around $70,000, then grows into carrier EDI/API integrations, dock scheduling, and freight audit and payment. Adjacent work includes UrShipper: 2,000+ shipments across 70+ countries.
What to remember
- A focused v1 with tendering, rating, and tracking launches in about 18 to 24 weeks from around $70,000
- Carrier integrations via EDI (204, 214, 210) and direct API replace manual email tendering
- Contract rate engine with accessorials, so every invoice reconciles against the agreed rate
- No per-load SaaS fees: you own the platform outright after delivery
- Adjacent logistics proof: UrShipper, a multi-carrier platform handling 2,000+ shipments across 70+ countries
The rate moved while the load was tendered by phone.
A dispatcher tenders a load by phone and email. By the time the carrier confirms, the spot rate has moved, and the margin the broker quoted is thinner than it looked an hour ago. Nothing was done wrong. The process is just slower than the market.
Finance gets the carrier invoice three weeks later. It does not match the contracted rate, but nobody can prove which accessorial was misapplied, so it gets paid. Multiply that by hundreds of loads a month.
Meanwhile the customer calls asking where their freight is, and the answer lives across four carrier portals and a spreadsheet.
Three leaks, one fix: a system built around your lanes, your contracts, and your carriers.
A dispatcher working by phone and email is tendering at the speed of conversation in a market that moves by the minute. Every manual tender is a margin decision made without the current rate in front of the person making it. For brokers and 3PLs running hundreds of loads a month, that gap between quote and execution is where profit quietly evaporates.
The settlement side is worse because it is invisible. Carrier invoices arrive weeks after delivery, and reconciling them against contract rates by hand means variances get paid instead of disputed. Industry analyses of freight audit consistently find that a meaningful share of carrier invoices contain errors, most of them small, all of them in the carrier's favour. Without an automated audit against the contracted rate, that money is simply gone.
And the visibility gap costs dispatcher hours every day. When tracking lives across carrier portals, EDI feeds that nobody watches, and driver phone calls, the customer asking "where is my freight" triggers a research project instead of a glance at a dashboard. That is labour spent on information the system should already have.
RaftLabs builds transportation management software for carriers, 3PLs, and freight brokers who have outgrown the spreadsheet and the generic SaaS. We built UrShipper, a multi-carrier logistics platform handling 2,000+ shipments across 70+ countries, which taught us the integration discipline this work demands: carrier data arrives in every format imaginable, and the platform has to normalise it into one reliable record.
Pitfalls we plan around
TMS builds fail in predictable places. We scope for these before the first sprint, not after the first invoice dispute.
- Carrier data variance
- Every carrier's EDI dialect differs slightly, and smaller carriers have no EDI at all. We normalise all three paths, EDI, API, and portal or email fallback, into one shipment schema at a single ingestion layer, so dispatch sees one timeline regardless of how the carrier connects. Carrier onboarding is phased by volume, highest first, so integration risk spreads across the schedule instead of landing on one cut-over day.
- Rating complexity
- Contract rates with lane-specific accessorials, fuel surcharge formulas, and effective-date versioning are the financial core of the system, and they are where generic TMS products break. We model your actual contract structures, not a simplified version of them, and we test the engine against your historical loads before go-live so the first invoice it audits is one you trust.
- Dispatcher adoption
- A dispatcher who finds the new tendering flow slower than the phone will route around it, and your data goes dark. We design the tendering and dispatch screens with the people who use them, keep the daily path to a few clicks, and run the platform in parallel on live loads before cut-over so the friction surfaces while the old process is still running.
- Settlement accuracy at cut-over
- The risk in replacing a live freight process is silently wrong money. We run the new platform's rating and audit engine against your historical invoices during the build, reconcile every variance, and only switch settlement across once the engine agrees with your finance team on real numbers, with a rollback plan in hand.
Proof it works
RaftLabs has shipped production software since 2015 for clients across the US, UK, Europe, Canada, and the UAE. For freight and carrier work specifically, the closest proof is UrShipper, a multi-carrier logistics platform we built end to end.
Adjacent logistics work
- shipments processed across 70+ countries in year one on a multi-carrier platform we rebuilt
- 2,000+
- UrShipper, multi-carrier shipping platform
- live merchant accounts migrated to the new platform with zero service disruption
- 200+
- UrShipper phased migration
- weeks to rebuild the platform end to end after four vendors had failed to ship it
- 14
- UrShipper, full rebuild
We rebuilt UrShipper, a multi-carrier logistics platform, in 14 weeks after four vendors had failed to ship it. Two hundred merchant accounts moved across with zero service disruption, and the platform now handles shipments across 70+ countries. A TMS is the neighbouring problem: the same carrier integration discipline, rating and settlement rigour, and live tracking workflows, pointed at freight and lanes instead of parcels and merchants.
Work with us
Tell us where the work is stuck.
Bring the rough workflow, half-built product, or messy brief. We will map the smallest useful first move, then send scope, timeline, and price in plain English.
- Scope and cost agreed before work starts. No surprises. No obligation.
- Working prototype within 3 weeks of kickoff.
- Pay by milestone. You see progress before each invoice.
- 60-day post-launch warranty. Bug fixes, UI tweaks, and deployment support. No retainer.
- All conversations are NDA-protected.
Common questions
A typical TMS build has five parts. Tendering and booking: load creation, carrier selection against your preferred carrier list, automated tendering by email, EDI 204, or carrier API, and acceptance tracking with fallback tendering when the first carrier declines. Rating: contract rate tables by lane and mode, spot quote comparison, accessorial rules (detention, layover, fuel surcharge), and margin calculation per load before you commit. Dispatch and execution: driver assignment, pickup and delivery scheduling, document capture (BOL, POD), and exception alerts for delays or missed appointments. Visibility: real-time shipment tracking across carriers and modes on one map, milestone timestamps, and customer-facing tracking pages. Settlement: freight audit against contracted rates, invoice approval workflow, and export to your accounting system. Integrations connect it to your ERP, WMS, and carrier network.
Buy when your operation fits a standard template: common lanes, standard contracts, and a carrier mix the SaaS vendor already supports. Build when the template breaks. Common triggers: your rating logic has lane-specific contracts and accessorial rules no off-the-shelf engine models correctly; your brokers work a tendering process the SaaS forces them to change; you pay per-load or per-user fees that scale faster than the value you get; or you need deep integration with a proprietary ERP, WMS, or customer portal. Most carriers and 3PLs we talk to land in the build camp because freight operations are genuinely different from one company to the next: lanes, contracts, and carrier relationships are the business, not a configuration detail. A useful test: if your team maintains spreadsheets alongside the SaaS TMS to do the work the SaaS cannot, you are already paying for a custom system, you just do not own it.
Three paths, usually all three on one platform. EDI: the industry standard for larger carriers, we implement the core transaction sets (204 for load tenders, 214 for shipment status, 210 for freight invoices, 990/997 for acknowledgements) with per-carrier mapping, because every carrier's EDI dialect differs slightly. Direct API: for carriers and digital brokerages with modern APIs, we build native integrations for tendering, tracking, and document exchange. Carrier portal and email fallback: for smaller carriers without EDI or API, the platform generates structured tender emails and provides a simple web portal where they accept loads, upload documents, and update status. All three feed the same shipment record, so dispatch sees one timeline regardless of how the carrier connects. We also handle the onboarding reality: carrier IT teams move slowly, so integrations ship incrementally, highest-volume carriers first.
The rate engine is the financial core of the system. Contract rates load by lane, mode, equipment type, and effective date range, with versioning so you can see exactly which rate applied to any historical load. Accessorial rules attach to contracts or lanes: detention thresholds and hourly rates, layover, redelivery, fuel surcharge tables tied to the DOE index or your own formula, and any customer-specific surcharges. When a load is quoted or tendered, the engine calculates the expected carrier cost and your margin before anything is committed. At settlement, the same engine audits the carrier invoice line by line against the contracted rate and flags variances for review instead of letting them through. Rate changes propagate with effective dates, so a mid-quarter contract renegotiation does not require rebuilding anything.
One dashboard, every shipment, regardless of carrier or mode. For carriers with EDI 214 or API tracking, milestones flow in automatically: picked up, in transit, out for delivery, delivered, with timestamps. For carriers without electronic tracking, the driver or dispatcher updates status through the carrier portal or a lightweight mobile flow, and the platform fills the gaps. Geofence alerts fire when a truck enters or leaves a facility, and exception rules flag what matters: a pickup running late against the appointment window, a delivery at risk of missing its slot, a shipment with no update in a configurable number of hours. Customers get a branded tracking page with the milestones relevant to them, which cuts the 'where is my freight' calls that eat dispatcher time. Historical tracking data feeds lane analytics: on-time percentages by carrier and lane, which becomes leverage at contract renewal.
A focused v1, covering load tendering, contract rating, dispatch, and real-time tracking for your core lanes, typically starts around $70,000 and ships in 18 to 24 weeks. The variables that move the number: number of carrier integrations and whether they are EDI, API, or portal-based; rating complexity (how many contract structures and accessorial rules the engine must model); multi-modal scope (adding ocean or air alongside truckload); and settlement depth (basic invoice export versus full freight audit and payment). Each phase after v1 is scoped and priced separately, so you are never committed to the full platform cost upfront. Compared against SaaS TMS pricing, the breakeven for most mid-size 3PLs lands in year two or three, after which the per-load fees you are not paying become the return.
A focused v1 takes 18 to 24 weeks from kickoff to production. The schedule breaks into roughly: 3 to 4 weeks of discovery, mapping your lanes, contracts, carrier mix, and dispatcher workflows; 10 to 14 weeks of build in two-week sprints with working software to review each cycle; 3 to 4 weeks of parallel running, where the new platform processes a subset of live loads alongside your current process; and 2 weeks of cut-over and training. The parallel-run phase is the critical one: we reconcile the new platform's rating and tracking against your existing numbers on real loads, and only move the full operation across once they match. Carrier integrations go live incrementally during this period, highest-volume carriers first, so no single cut-over day carries the whole risk. Dispatchers train on the live system with their own loads, not on demo data.