See Profitability by Route

Switch the Profitability report to By Route to rank your saved routes by revenue, cost, drive time, and margin, with every site on no route totalled in the last row.

Updated October 27, 2026

Requires the Advanced Reporting feature. If you do not see it, ask your OpsVara contact whether it is enabled for your account.

By Route groups the Profitability report by your saved routes. Each route shows the revenue, materials, labor, drive cost, visits, and gross margin of its stops for the season, so you can see which routes pay for their driving and which ones lose money. Sites that are on no route are totalled in a Not on a route row, so the report still adds up to the same Portfolio Total as By Site.

Switch to By Route

  1. Open the report

    Go to ReportsProfitability per Site. It is in the Financial group.

  2. Choose By Route

    Under Group By, click By Route. The title changes to Profitability per Route. The choice only appears when you have at least one active saved route.

  3. Set the filters

    Season, Work Type, Customer, Revenue Basis, and the compare season work exactly as they do By Site. A Work Type filter keeps only the stops for that work type, and drops a route left with none. A Customer filter lists only the routes that serve that customer's sites.

  4. Read the table and act

    The chart ranks routes by gross margin. Sort any column by clicking its header. Click a route's name to open it under Dispatch → Saved Routes in a new tab.

  5. Export or ask Soliven

    Export → Download CSV includes every route, not just the page on screen. Under Ask Soliven, Which Routes Make or Lose Money and Routes to Densify or Split read the By Route numbers.

How a Route Gets Its Numbers

A route is a list of stops, and a stop is a site and a work type. A pool on a Tuesday cleaning route and on a separate repair route is a stop on each, and each route gets only its own work type's numbers.

  • Today's stops, the whole season. Visits are not recorded against the route they ran on, so the report uses each route's stops as they are set now. A site added to a route mid-season brings its whole season with it, and a site taken off a route moves to Not on a route.
  • Which routes count. Active routes that run Ongoing (year-round), plus routes made for One season when that is the season you picked. Draft and archived routes are left out, because archived routes are often copies of live ones and would claim the same stops.
  • One route per stop. When two routes list the same stop, the one that booked more of its visits that season counts it. Booked means the visits were put on the calendar from that route and not cancelled. If neither booked more, a route made for the season comes first, then the rest in name order. The other route shows the stop under Stops as shared, and the info icon beside it names each site and the route that counts it.
  • Revenue with no work type. An invoice for a site with no completed visit that season has no work type to follow. It goes to the routes that visit the site, split by the cost each carries there, or to Not on a route when no route visits it.

Columns

ColumnWhat it shows
RouteThe route's name and colour. Not on a route totals the sites no active route lists for that work type.
WorkerThe route's default worker, the person it is Assigned to in the route builder.
StopsStops on the route for the work types shown. N shared means another route counts those stops; the info icon names each site and that route.
Revenue to Margin %The same money as By Site, for the route's stops.
VisitsCompleted visits at the route's stops.
Rev/VisitRevenue divided by visits.
Rev/StopRevenue divided by the stops that had visits or revenue this season. Low revenue per stop with high drive cost is a route that needs more stops nearby.
RiskHealthy, Watch (below 35% margin by default), or At Risk (below 25%). No visits means nothing was recorded at the route's stops this season. Shared means every stop on the route is counted on another route.

Find the sites on no route

The Not on a route row is the work no route covers. Open Dispatch → Saved Routes and switch the view to Unrouted to add those sites to a route.

Verify It Worked

Switch between By Site and By Route with the same filters. The Portfolio Total row shows the same revenue, cost, gross profit, and margin in both. If a route looks low, check its Stops cell for shared stops counted on another route.

Frequently asked questions

Why can't I see By Route?

The Group By choice appears only when you have at least one active saved route. Draft and archived routes do not count. Build or activate a route under Dispatch → Saved Routes, then reload the report.

Do the route totals match By Site?

Yes. Every site's numbers land on exactly one route, or in the Not on a route row, so the Portfolio Total is the same in both views for the same season and filters.

I added a site to a route in August. Why does the route show the site's whole season?

A route's numbers are those of its stops as the route is set today, for the whole season you picked. Visits are not tracked by which route they ran on, so moving a site moves its season with it.

What does "2 shared" under Stops mean?

Two of the route's stops are also on another route, and their numbers are counted there, not here. The info icon lists each site and the route that counts it. A stop counts on the route that booked more of its visits that season; if neither booked more, a route made for the season comes first, then the rest in name order.

Why does a route say No visits?

Nothing was recorded at its stops in that season — no completed visit with costs and no revenue. It is still listed so you can see the route exists. A route whose stops are all counted on another route says Shared instead.

Can I see last season's routes?

The report always uses your routes as they are set now. Pick last season to see how today's routes would have done. Routes built for one past season are used for that season while they are still active; archived routes are left out.

Related guides