ShyftbaseTMS
Platform module

Last-Mile Delivery Software for Distributors

Shyftbase last-mile delivery software gives end customers an ETA, live tracking and self-service rescheduling, from warehouse to door. Dispatchers optimize delivery routes to cut turnaround times; delivery teams and customers stay in direct contact, reducing missed deliveries. It shares one platform with Shyftbase first-mile, mid-mile and reverse logistics, and integrates with Odoo, IFS, Epicor, Acumatica, Sage Intacct, Workday and NetSuite.

What it does

  • An ETA per delivery, with real-time tracking against it
  • Customer self-service rescheduling reduces missed deliveries
  • Configurable delivery time windows by service type, location and capacity
  • Route optimization for shorter turnaround times
  • Direct delivery-team-to-customer contact
  • Per-client branded portals with role-based user permissions

Integrates with

  • Odoo
  • IFS
  • Epicor
  • Acumatica
  • Sage Intacct
  • Workday
  • Oracle NetSuite

A last-mile day is five problems wearing one name: an order typed correctly, a window the customer agreed to, a vehicle that can reach the door, a driver whose shift is already running, and a document that has to come back signed. Delivery management software earns its place at the seams between those five, because the seams are where the day breaks.

What the last mile is, and where it starts

Last-mile delivery is the final leg of a shipment: the movement from the last facility that holds the freight — a distribution center, a cross-dock or a store — to the address where it is handed over. It ends when the consignee takes possession and the delivery is proved, not when the vehicle arrives.

Two things make it a different problem from every leg before it, and both are about who is waiting. Every earlier leg moves freight between places that are expecting it and staffed to receive it. The last mile ends at a person with a day of their own, at an address the driver has often never seen, inside a window somebody promised on their behalf. So the leg is measured on things the freight itself cannot tell you: whether anyone was in, whether the vehicle could get to the door, whether the customer was told the truth about when it would arrive.

The second is the shape of the work. One trailer leaving a hub is one decision; a delivery round is forty or eighty decisions that interact, each with a service time, an access constraint and a window, and each one wrong makes the ones after it worse. That is why the cost per drop is set less by distance than by sequence, access and time spent standing at doors — and why a last-mile system is judged on the seams between planning, execution and proof rather than on any one of the three.

The day this module has to hold together

Orders arrive five ways — EDI, API, bulk upload, manual entry and submission through a client portal — and the first thing the platform does with one is type it. The taxonomy is wider than "delivery": customer pickup, delivery, exchange, labour, linehaul, pickup, recall, return and reverse logistics are distinct order types, and the type decides what the driver does at the door and what the finished order is worth on the invoice. An exchange is two events at one address; a recall is a collection nobody will bill like a drop.

Every order also carries a distribution zone, which is how a network is cut into a day's work. The dispatcher's screen filters by client, zone and date range, and unassigned orders are always included in that filter — the rule that stops an order with no truck against it from sitting invisible until its window closes.

Then there is the clock, and for a local fleet the binding limit is usually the shift rather than the driving hours. A driver working inside a 150 air-mile radius of the normal work reporting location, who returns there and is released within 14 hours, with at least ten consecutive hours off between shifts, is exempt from records of duty status — and so from the electronic log that keeps them — provided the carrier keeps time records[shorthaul]. That is the federal rule for interstate commercial motor vehicles; intrastate limits differ by state. Either way the day opens and closes at one building, and every minute standing at a door is spent out of the same window.

Booking the window before there is a route

Delivery time windows are configurable on three dimensions — service type, location and capacity — with different window sizes and scheduling rules under each: a time of day, a day of the week, or a defined range of dates.

The mechanism worth asking any vendor about is what happens when two promises collide. Here, capacity limits and existing commitments are checked as windows are booked, so a clash surfaces at the point of promising rather than at 05:30 on the morning of the route. Windows are not frozen once booked either: they can be adjusted against real-time conditions, capacity changes and service requirements, and the day's schedule can be edited live. The end customer chooses a preferred time from what is still available, and can move it later without calling anyone.

The decision rule is about control, not narrowness. Offer tight windows where you own the sequence and the density — your vehicles, your zone, a full day of work inside it. Offer wide ones where you do not: subcontracted capacity, thin rural routes, a first stop waiting on someone else's dock. A tight window sold on a route you do not control is a promise you have quietly subcontracted.

The failure mode has a specific cause. Windows get sold before capacity is checked: a two-hour slot goes into a zone that only runs three days a week, the router inherits a day that cannot be built, and the morning goes on the phone unselling it. Capacity-aware booking is the difference between a calendar and a plan.

What the customer sees, and what a second attempt costs

Three things reach the end customer: an ETA, live tracking against it, and the ability to reschedule without opening a support ticket. The delivery team and the customer stay in direct contact instead of through a queue.

Rescheduling matters commercially because the alternative to it is a failed attempt, and a failed attempt is never priced honestly. Put your own numbers through it. A seventy-stop day at eight minutes a stop leaves very little slack inside a shift that has to open and close at the same building, and a failure costs far more than the eight minutes: the time at the door, a return into the same neighbourhood another day, the call that arranges it, and the slot that re-attempt takes from an order you could have sold. Use your own failure rate rather than an industry one — two in a hundred, across two hundred stops a day, is four re-attempts to place into tomorrow, every day, out of the capacity you meant to sell.

So the path when nobody answers is a decision made in advance, not an improvisation on the step. Address verification before the day is built, a no-contact instruction where the customer has given one, and a not-at-home policy configured per client decide whether the driver leaves the freight, retries, or brings it back — and the driver sees that decision at the stop rather than guessing.

The record the delivery leaves behind

What a driver captures at the door binds to the order, not to a separate log: barcode scans, photographs, the proof of delivery itself and package dimensions all attach to the transaction. Capture forms are template-driven and self-managed, so the extra field one client's site rules demand does not need a vendor ticket, and step-by-step instructions in the app put the standard operating procedure in front of the driver at the stop. Attachment is the point: a photograph in a phone gallery is not evidence in ninety days, while the same photograph on the order closes the billing line and answers the claim.

A useful minimum for what that record carries is already written down: a for-hire, non-exempt motor carrier moving property in interstate or foreign commerce must issue a receipt or bill of lading showing the five things below[bol]. Read the population before borrowing the list — much last-mile work is intrastate, exempt or private carriage, and that section does not govern it. It is still the right minimum, because it is the list a dispute gets argued from, which is why a bill of lading is worth understanding before you design a capture template and why track and trace is a record rather than a map.

What the receipt has to show, and what each field settles later.
Required on the receipt or bill of ladingWhat it settles when a delivery is disputed
Names of consignor and consigneeWho tendered the freight, and who was entitled to receive it
Origin and destination pointsWhich leg the loss or the damage happened on
Number of packagesWhether the count at the door matched the count at the dock
Description of freightWhat was in the shipment, before anyone reconstructs it
Weight, volume or measurementThe basis the movement was rated and billed on

The portal your customers log into

Client portals are per-client and branded — logos, colours, layouts — and configurable past appearance: which data views, which permissions, which functionality a given client gets. Clients manage their own orders and read live status themselves. Each portal carries multiple user accounts with permission levels an administrator sets, deciding what each user can view or change, and external views can be shared with a third party who should see one shipment and nothing more.

On the operator's side of the same data, saved views split into personal and shared, so the routing view, the dispatch view and the missing-details check are built once and opened by everyone.

The reason to care is a cost with a name. "Where is my order" is the most expensive question in last mile: it arrives during the delivery window, from someone standing next to a door, and answering it takes an operator out of running the day. A portal and a tracking link do not remove that question — they move it somewhere the customer answers it themselves. Reducing that support load was the stated intent of the client-portal capability, and it is worth measuring rather than believing: count the status contacts per hundred deliveries before you switch it on, and count them again after.

How it joins the rest of the platform

This module is not a standalone dispatch tool, and the difference shows up in the paperwork rather than on the map. Routing builds the sequence the day runs on, and because it works on the same order record a re-plan reaches the pick and the invoice instead of stopping at the route (route optimization is the module, how a stop sequence is actually built is the mechanism). The line-haul leg feeding the local depot is the mid-mile module; the stock behind the pick is the warehouse management module; the delivered record, capture attached, is what automated billing invoices from — which is why the proof of delivery and the billing line are one object rather than two systems reconciled at month end.

Outside the platform, Shyftbase publishes integrations with Odoo, IFS, Epicor, Acumatica, Sage Intacct, Workday and Oracle NetSuite. That list names the systems, not the mechanism: which objects move, in which direction, and how often are not stated anywhere. Ask in writing, because a nightly file exchange and an event-driven write-back are different products sold under one word.

Questions worth asking before buying any of this

Every last-mile system demos the good day well, so run the evaluation on the exception path instead: ask for a screen share of a stop that arrives outside its window, a customer who reschedules at 11:40, and an order that never got a truck. Then put these to this platform and to every alternative on the list:

  • What does a reschedule reach the customer through — a message link, an email, a portal login — and who else can trigger one?
  • When one window moves, what re-plans: the stop, the route, or the whole zone?
  • What does capture at the door do with no signal — hold and sync, or fail in the driver's hand?
  • Which objects move between the platform and the finance system, in which direction, how often?
  • What happens to an ETA that has already gone out when the sequence changes behind it?
  • How is a client's data scoped, and who can see across all of it?

What this does not do

Five things this module is not, listed because the boundary is the part a demo never covers.

It publishes no on-time rate, and no ETA-accuracy figure. The old site advertised an on-time delivery percentage in a meta description with no measurement basis behind it — no customer, no period, no definition of "on time" — and it is not repeated here. Nor is there a published measure of how often an ETA lands inside the window it promised. No service-level figure, support-response time or third-party security certification is published for this module. Ask any vendor, this one included, for the basis of a number before you plan against it.

It is not a parcel carrier or a rate shopper. No parcel-carrier integration, label purchase or rate comparison is published. Same-day and next-day are service classes the platform is sold as supporting; the cut-off times and the coverage behind them are yours to set and are not published.

It is not a telematics or compliance system. Hours-of-service records, electronic logs and vehicle diagnostics sit outside this module, and nothing in it substitutes for your own compliance process.

It will not fix your master data. Service times, access notes and addresses are the inputs a window is built on. Where they are wrong the schedule fails anyway, and it fails with more confidence than the planner it replaced — which usually makes the first month of a deployment a data project.

Parts of it are not documented publicly. The rescheduling channel, the offline behaviour of capture at the door and the mechanics of each ERP connection are not stated on any page here; they are in the question list above rather than asserted in the copy.

Sources

  1. [shorthaul] 49 CFR 395.1(e) — Scope of the hours of service rules, short-haul operations U.S. Office of the Federal Register (eCFR). Accessed 9 September 2026.
  2. [bol] 49 CFR 373.101 — For-hire, non-exempt motor carrier bills of lading U.S. Office of the Federal Register (eCFR). Accessed 9 September 2026.

Keep reading

Terms used here

See Shyftbase run against your lanes.

Book a demoStart free