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 item | Amount |
|---|---|
| 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 expected | What 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:
- Hook fee — $125.00
- Fuel surcharge — 10%
- Loaded mileage — $4.00 a mile across 40 miles
| What you expected | What 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 expected | What 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:
- Standard tow — no conditions, $125.00
- Heavy duty tow — heavy vehicles, $450.00
A heavy-duty tow then prices like this.
| What you expected | What 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 expected | What 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 expected | What 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 expected | What 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
| Trap | Symptom | Fix |
|---|---|---|
| No rate sheet yet | Quotes fail; new jobs get no advisory price | Create your first rate sheet |
| Tier list with no final band | Long tows bill less than expected | End the list with an After N miles band |
| Two surcharges in one group | Only one surcharge reaches the quote | One surcharge per group |
| Surcharge group ordered early | The surcharge is smaller than expected | Move it below the charges it marks up |
| Account-only group | Account jobs are charged twice | Put the account rule above the retail rule |
| Catch-all rule above specific rules | Every job bills the same amount | Move the catch-all to the bottom of its group |
| A quote in the thousands | Distances far larger than the real trip | Fix the address, not the rule |
| Loaded mileage on a roadside call | The mileage line is $0.00 | Charge en-route and deadhead miles instead |
| Hourly rule bills only minutes | On-scene work bills far too little | Set Minimum hours |