TowPilot
Pricing

Avoid pricing traps

The rate sheet mistakes that misprice jobs or fail quotes, and the fix for each.

Every trap here follows from two facts about how a price is built. Every group adds its charge to the total, and inside a group the first matching rule sets that line. A mispriced job is almost always a rate sheet doing exactly what it was told.

No rate sheet yet means no prices anywhere

Once you have any rate sheet, exactly one is always live and every price comes from it. The no-prices state exists only before your first sheet: the price calculator returns an error, the AI Agent can't quote on calls, and new jobs are saved with no advisory price.

A live rate sheet with no price groups fails quietly instead: every job prices at $0.00 and no advisory price is stored.

Fix: create your first sheet and give it at least one group with one rule. See Create your rate sheet.

A tier list without a final band underprices long tows

Tiers are marginal: each band's rate applies only to the miles inside it. Miles past the last band cost $0.00.

Say your tiers charge $4.00 a mile for the first 30 miles and $3.50 a mile from 30 to 60. An 80-mile loaded tow bills like this.

Line itemAmount
First 30 miles at $4.00/mi$120.00
Next 30 miles at $3.50/mi$105.00
The 20 miles past the last band$0.00
Total$225.00

You expected all 80 miles billed, and the last 20 rode free.

Fix: end every tier list with an After N miles band carrying the open-ended rate. The tier mechanics are on Add and organize prices.

Two surcharges in one group don't stack

A group produces one line on the bill. The first rule whose conditions match wins it, and the rest of the group is skipped. Two surcharges sharing a group can never both apply.

Picture a group named Surcharges holding a 15% night rule and a 10% holiday rule, and a holiday night tow with $200.00 charged so far.

What you expectedWhat actually happens
$30.00 for night and $23.00 for holiday.The night rule matches first and adds $30.00. The holiday rule is skipped, so the quote stops at $230.00.

A group holding a charge and a surcharge together fails the same way: when the charge matches, the surcharge is dropped.

Fix: give each surcharge its own group, and keep charges and surcharges out of the same group. Each surcharge takes its percentage of the subtotal at that point, so the holiday rule sees $230.00 and adds $23.00 for a $253.00 total.

A surcharge placed early misses later charges

A surcharge is a percentage of the subtotal built so far, not of the finished quote. It marks up only the groups ordered above it.

Take a sheet whose groups run in this order:

  1. Hook fee — $125.00
  2. Fuel surcharge — 10%
  3. Loaded mileage — $4.00 a mile across 40 miles
What you expectedWhat actually happens
10% of $285.00, or $28.50.The surcharge sees only the $125.00 above it and adds $12.50, for a $297.50 total.

Fix: drag every surcharge group below the charge groups it should mark up. Ordering a surcharge early is right only when you deliberately exclude a later fee from it.

Account rules also stack on top of retail groups

Every group is checked on every job, so a group whose rules all require an account doesn't replace your retail pricing — it's added to it.

Say your sheet carries two groups:

  • Retail towing
    • Hook fee — $125.00
  • Motor club rates
    • Hook fee — $95.00, when the account is AAA Western

An AAA Western tow then prices like this.

What you expectedWhat actually happens
$95.00 instead of $125.00.Both groups match and both charge, for a $220.00 total.

Retail jobs get the opposite result: the account group matches nothing and adds $0.00.

Fix: put the account rule above the retail rule inside the same group. First match wins there, so account jobs take $95.00 and everyone else falls through to $125.00. See Fine-tune prices with custom rules.

A rule with no conditions buries everything below it

A rule with no conditions applies to all jobs. Anywhere but last in its group, it matches first and nothing below it is ever reached.

Take a group named Towing whose rules run in this order:

  1. Standard tow — no conditions, $125.00
  2. Heavy duty tow — heavy vehicles, $450.00

A heavy-duty tow then prices like this.

What you expectedWhat actually happens
$450.00 from the heavy duty rule.Rule 1 matches every job and charges $125.00. Rule 2 is never reached.

Fix: drag the catch-all to the bottom of its group, with the specific rules above it.

An absurd quote usually means a bad address

A quote in the thousands is nearly always a distance problem, not a rule problem. The address resolved to the wrong place, and the mileage rule multiplied it correctly.

What you expectedWhat actually happens
A local tow around $200.00.The quote comes back at $3,480.00. The Context Used card shows 812 loaded miles, because the pickup matched a same-named street elsewhere, and the mileage rule did exactly what it was told.

Fix: read the distances and the Context Used values before you touch a rule, then re-run the quote with a complete pickup and drop-off address. See Check a price and trace a quote.

Roadside quotes ignore loaded mileage

Jump starts, lockouts, fuel deliveries, and tire changes have no drop-off, so their loaded distance is always zero. Their return leg is measured from the pickup back to your base.

Say a Roadside mileage rule charges $3.00 a mile on loaded miles, and a jump start sits 12 miles from your base.

What you expectedWhat actually happens
12 miles at $3.00, or $36.00.Loaded miles are 0 on a roadside call, so the rule charges $0.00.

Fix: charge roadside mileage on the en-route leg, and add a deadhead rule for the return.

Drive time isn't labor time

Estimated hours is the driving time of the trip legs. Work done on scene isn't in that number, so an hourly rule bills only the drive.

Say a Recovery rule charges $175.00 an hour with minimum hours set to 0, and a job runs 20 minutes of driving each way plus 90 minutes of winching.

What you expectedWhat actually happens
2.17 hours billed, or $379.75.Estimated hours come to 0.67, so the rule charges $117.25.

Fix: set Minimum hours on every hourly rule so the work itself has a floor. It's 0 by default. The hourly method is covered on Fine-tune prices with custom rules.

Quick reference

TrapSymptomFix
No rate sheet yetQuotes fail; new jobs get no advisory priceCreate your first rate sheet
Tier list with no final bandLong tows bill less than expectedEnd the list with an After N miles band
Two surcharges in one groupOnly one surcharge reaches the quoteOne surcharge per group
Surcharge group ordered earlyThe surcharge is smaller than expectedMove it below the charges it marks up
Account-only groupAccount jobs are charged twicePut the account rule above the retail rule
Catch-all rule above specific rulesEvery job bills the same amountMove the catch-all to the bottom of its group
A quote in the thousandsDistances far larger than the real tripFix the address, not the rule
Loaded mileage on a roadside callThe mileage line is $0.00Charge en-route and deadhead miles instead
Hourly rule bills only minutesOn-scene work bills far too littleSet Minimum hours

On this page