BlogDelivery Routing

The Best Onfleet Alternative for Small Businesses (Using Google Sheets)

24 July 2026·8 min read

An "Onfleet alternative" for a small business means finding route planning and driver tracking under $50 a month, rather than paying Onfleet's ~$500 entry pricing. The most practical option is a Google Sheets add-on like InstaMaps, which handles address verification, route optimization, and live map sharing directly inside standard spreadsheets.

This setup is built for local operators-a 3-van bakery, a 2-crew landscaping service, or a regional farm running 47 stops per day. You keep your existing Google Sheets workflow, but gain live hosted map URLs and driver logbook links without paying enterprise software rates.

TL;DR
  • Onfleet’s entry tier starts around $500 per month, a steep fixed cost for a small bakery or florist operating 3 vans.
  • Google Sheets combined with a free add-on like InstaMaps handles geocoding, route optimization, and live driver maps without per-seat fees.
  • You can sequence 47 stops for 5 crews using =VISIT_ORDER() and generate dispatch links with =ROUTE_LINK().
  • The free tier provides 100 lookups/day (1,000/day with a free email unlock), which easily covers daily local delivery batches.
  • Use =INSTAMAP() to generate a live, hosted map URL that updates automatically when you edit a cell or check off a stop.
  • This setup is ideal for route planning and customer tracking, but lacks built-in barcode scanning and automated SMS.

What is the best Onfleet alternative for small businesses?

The best Onfleet alternative for small businesses is Google Sheets paired with a mapping add-on like InstaMaps. Onfleet’s entry-level pricing starts around $500 per month. For a 3-van bakery running 40 stops a day, spending $6,000 annually on delivery management software is unscalable. The platform forces you into per-driver monthly minimums and requires exporting your order data into a separate dashboard.

Instead, small operations can route and track deliveries directly from their existing spreadsheets. The InstaMaps add-on is free and brings route optimization directly into Google Sheets. You do not need to leave your order sheet to generate driver manifests.

If your bakery has orders logged in A2:A50 and addresses in B2:B50, you run standard formulas against those exact cells. You can extract coordinates, sort stops by actual driving distance, and build custom driver itineraries. The sidebar (Extensions > InstaMaps > Enable formulas) lets you insert these formulas without memorizing syntax, and the Build-the-workflow button writes whole chains of formulas for you.

The system provides 100 free lookups per day, which increases to 1,000 per day with a free email unlock. A 3-van operation making 47 stops per day will not hit this ceiling. This allows small businesses to manage local logistics at zero cost, keeping the workflow entirely sheet-native.

How does a Google Sheets delivery system compare to Onfleet?

Comparing Google Sheets to Onfleet comes down to infrastructure versus flexibility. Onfleet is a standalone, closed system. Its primary strengths are its native iOS and Android driver apps, barcode scanning, and automated SMS notifications to recipients. However, these features demand a premium. Onfleet's entry tier costs roughly $500 per month, and scaling to more drivers pushes that cost closer to $800 or $1,000 monthly. For a local nursery running 3 trucks, this software cost often exceeds the profit margin of the deliveries themselves.

The Google Sheets approach using InstaMaps abandons the dedicated mobile app in favor of a flat-free, sheet-native workflow. The core difference is where the data lives. Onfleet requires API integrations or manual data entry to sync orders from your point of sale into their dashboard. With Google Sheets, your order data is already in the system where you are routing it.

  1. Cost: Google Sheets with InstaMaps is free. It includes 100 daily lookups (1,000 with a free email unlock). Onfleet starts at roughly $500 per month.

  2. Driver Interface: Onfleet provides a dedicated app. A Google Sheets system relies on mobile-friendly web links generated by formulas that drivers open in their phone’s browser.

  3. Customization: Onfleet uses standard, unchangeable dashboards. Sheets allow you to build custom workflows using specific data columns and exact cell references.

  4. Notifications: Onfleet features native automated SMS. Google Sheets requires a third-party script or add-on to send automated text messages.

How do I optimize delivery routes in Google Sheets?

Be aware of the hard limits. The =ROUTE_LINK() function uses Google Maps' official URL scheme, which strictly caps routes at a maximum of 11 stops. If your route has 47 stops, you cannot generate a single link. You must break your sorted list into chunks (e.g., =ROUTE_LINK(B2:B12), then =ROUTE_LINK(B13:B23)) and generate separate links for the driver. To bypass manual formula typing, you can use pre-built delivery manifests available at get-instamaps.com/templates.

  1. Prepare your data: Ensure your destination addresses are in a single column, such as B2:B50.

  2. Geocode the addresses: Extract the latitude and longitude for each address using =GEOCODE(B2:B50). Place this formula into cell C2 so it outputs coordinates down to C50.

  3. Sequence the stops: Use the =VISIT_ORDER() formula to find the most efficient driving sequence. Input =VISIT_ORDER(C2:C50). This evaluates the distances between stops and outputs the ideal visit order (1, 2, 3, etc.) in an adjacent column.

  4. Sort the manifest: Highlight your entire data range and use standard Google Sheets sorting, sorting by the column containing the =VISIT_ORDER() output.

  5. Generate the route link: Create a Google Maps URL for the driver using the =ROUTE_LINK() function. Point it at your sorted address column: =ROUTE_LINK(B2:B12).

Can I create a live driver tracking map in Google Sheets?

You can create a live driver tracking map in Google Sheets using the =INSTAMAP() formula. This function takes your spreadsheet data and returns a live, hosted shareable map URL. The map updates automatically whenever the data in your underlying Google Sheet changes.

To set up live tracking, you need two components: the map itself, and a way for drivers to update their progress from the field.

First, build the master map. If your driver routes are sequenced in C2:C50, you type =INSTAMAP(B2:B50, C2:C50) into an empty cell. This generates a URL. Anyone with the link-such as a dispatcher waiting on an update-can view the map in a standard browser. If you add a late order to row 51, the hosted map updates to show the new pin without requiring a manual refresh.

Second, give drivers a way to update their status without opening a laptop. You generate a mobile-friendly interface using the =LOGBOOK_LINK() formula. If a driver has 12 stops, you generate a specific link for their route using =LOGBOOK_LINK(A2:A12).

When the driver clicks that link on their phone, they see a list of their stops. As they make deliveries, they tap a button to mark each stop as complete. Because the logbook connects directly back to your Google Sheet, those status updates register instantly in your master spreadsheet.

For example, if a driver marks row 8 as failed at 2:15 PM, your spreadsheet registers the change. The =VISIT_STATUS() formula reads that update, and the dispatcher's =INSTAMAP() URL immediately reflects the failed stop. You can also append =STREETVIEW_LINK(B8) next to the address to give the driver a quick visual of the drop-off location right from their phone's browser. This creates a closed-loop tracking system entirely within your sheet.

Worked Example: Routing 47 stops across 5 crews for a 200-home farm

Pine Creek CSA operates a 200-home produce subscription. Every Tuesday, they deliver 47 boxes using five separate delivery crews. Instead of paying $500 a month for enterprise routing software, they handle dispatch entirely within a single spreadsheet.

1. Data preparation: The raw export from their payment processor drops into Column A (cells A2:A48). Because customer exports often contain formatting errors or missing zip codes, the dispatcher runs =CLEAN_ADDRESS(A2:A48) in Column B (B2:B48) to standardize the text.

2. Crew assignment: The dispatcher clicks Extensions > InstaMaps > Enable formulas, highlights the clean addresses in B2:B48, and clicks the sidebar's Build-the-workflow button. The add-on automatically writes =VISIT_ORDER(B2:B48, 5) into Column C (C2:C48). This instantly clusters the 47 addresses into 5 distinct geographic zones.

3. Turn-by-turn links: In Column D (D2:D48), the sidebar injects =ROUTE_LINK(FILTER(B$2:B$48, C$2:C$48=C2)). Because =ROUTE_LINK() uses Google Maps' official URL scheme, the formula generates a direct navigation link containing the exact sequence of stops for that specific crew. The hard maximum is 11 stops per link. Since the 47 stops are split across 5 vehicles, each crew averages under 10 stops, keeping the routes strictly under the limit.

4. Live mapping: In cell F1, the dispatcher inputs =INSTAMAP(B2:B48, C2:C48). This returns a live hosted shareable map URL that updates when the sheet changes. If a customer cancels at the last minute and row 14 is deleted, the map instantly reflects the change without requiring a manual refresh.

5. Driver logs: The sidebar drops =LOGBOOK_LINK(B2, C2) into Column E (E2:E48), creating a mobile-friendly URL for each driver to update their visit statuses directly from their phone.

  1. Processing this 47-stop sheet requires 47 address standardizations and routing calculations. This volume fits within the free tier of 100 lookups per day (or 1,000 lookups/day with a free email registration).

  2. If the CSA scales up to 70 stops the following season, the dispatcher simply changes the variables to =VISIT_ORDER(B2:B71, 7) to create two additional crew zones, keeping the routes under the 11-stop maximum.

What are the limits of using Google Sheets for delivery management?

Google Sheets fails when you require constant vehicle telemetry or specialized hardware integration. If your drivers operate in rural areas and lose cell service, Sheets cannot cache offline navigation natively. You cannot connect a spreadsheet directly to an OBD2 port for vehicle diagnostics, engine idle tracking, or tire pressure monitoring.

Spreadsheets also struggle with concurrent edits. If you have 15 dispatchers attempting to alter the exact same cell range simultaneously, Google Sheets will experience sync delays or overwrite data.

Proof of delivery is another boundary. While =LOGBOOK_LINK() allows drivers to update visit statuses, it does not natively capture customer signatures or photographic evidence of damaged goods on a standalone device screen the way dedicated mobile applications do.

Furthermore, the =ROUTE_LINK() function is capped at 11 stops per generated URL. If a single crew is assigned 15 stops, the formula will return an error. You must split the route manually or increase your crew count. Large datasets also impact performance; a sheet with 50,000 rows of historical delivery data will load noticeably slower than a dedicated database.

  1. Route4Me: Best for complex dynamic routing and multi-stop optimization for fleets exceeding 50 vehicles.

  2. Onro: Ideal if you need a fully branded driver application, native SMS gateways, and built-in electronic proof of delivery (ePOD) signature capture.

  3. Onfleet: Suitable for enterprise operations willing to pay $500+ per month for deep API integrations and dedicated driver hardware support.

Who should use Google Sheets for delivery routing?

This setup is strictly for small businesses operating 1 to 10 vehicles. You already track customer orders in a CSV export from Shopify or Square, or you maintain a master Google Sheet of your daily routes. You need a low-cost dispatching tool, and paying $500 a month for Onfleet is an unjustifiable expense for a 3-van bakery.

This approach is for the owner-operator who is willing to click a sidebar's Build-the-workflow button rather than learn a complex routing software interface. If your daily stop count per vehicle remains under the 11-stop maximum limit of Google Maps, and your daily volume stays near the 1,000 lookups threshold, this system covers your exact requirements.

If your operational data currently lives in a spreadsheet, keeping it there instead of migrating to a proprietary system saves hundreds of hours in data entry and staff training time.

  1. Who is this not for? Large logistics companies managing 50+ vehicles.

  2. Who is this not for? Operations requiring hardware integration like barcode scanners or thermal printers.

  3. Who is this not for? Businesses needing strict offline capabilities in dead cellular zones.

  4. Who is this for? Local bakeries, 3-van farm CSAs, independent couriers, and local landscapers.

Try it free

Map your Salesforce accounts in under 5 minutes — no admin setup.

Install Free →

Common Questions

Is there a free version of Onfleet?

Onfleet does not offer a permanent free tier or free version for commercial delivery routing. They provide a 14-day trial, but after that, small businesses must move to paid plans. If you need a free tool, Google Sheets combined with a mapping add-on provides route generation and driver logbooks at no cost.

How much does Onfleet cost per month?

Onfleet’s entry-level Starter plan begins at $500 per month, billed annually, which covers up to 2,000 tasks. For a small business with just three vans, paying $6,000 a year for routing software is rarely cost-effective. This high base price forces local operators to seek spreadsheet-based alternatives.

Can I plan delivery routes in Google Sheets?

Yes, you can sequence stops and build routes directly in Google Sheets using custom functions. By entering `=VISIT_ORDER(B2:B50)` to sequence stops by distance, and `=ROUTE_LINK(C2:C14, "Optimal")` to generate a Google Maps URL, you bypass dedicated routing software entirely. You can use pre-built templates at get-instamaps.com/templates to speed up the setup.

How many stops can I put in a Google Maps route link?

You can put a maximum of 11 stops (plus your starting point) in a standard Google Maps route link. The `=ROUTE_LINK()` formula uses Google Maps' official URL scheme, meaning it hard-stops at this limit. If a driver has 25 stops, you must divide the list into separate links.

Does InstaMaps work with Google Sheets?

Yes, InstaMaps is a free Google Sheets add-on built specifically to add location intelligence to spreadsheets. The sidebar (`Extensions > InstaMaps > Enable formulas`) inserts formulas without typing. It also features a Build-the-workflow button that writes whole formula chains for your delivery data.

How do I track my delivery drivers for free?

You can track drivers for free by generating logbook links in your spreadsheet using the `=LOGBOOK_LINK()` function. This creates a URL your drivers click on their phones to log arrival and departure times at specific coordinates. The add-on is free, offering a free tier of 100 lookups per day (1,000/day with a free email unlock).

Stop paying $500/month for routing

Run your entire local delivery operation inside Google Sheets. Use `=INSTAMAP()` to generate a live hosted shareable map URL that updates when your sheet changes.

Install InstaMaps free