Skip to main content

How to use Ranges on your Estimates

How to set ranges for charges, calculate and adjust total ranges, and automatically generate Estimates with ranges

Overview

Ranged estimates let you show customers a min-to-max price instead of a single number. You can range individual charges and let Chariot roll them up into a total range automatically, override that total, or set a total range by hand. Ranges work on non-binding and not-to-exceed estimates. Binding estimates don't support ranges (more on that below).

Note: This article reflects the new Estimate Ranging experience that Chariot launched in July 2026.

Ranging an individual charge

On any charge, click the button next to the quantity and check quantity range.

It defaults to −1 / +1, but you can set whatever you want—for example −2 / +1 on an hourly rate, or −5 / +5 on a box count so 10 boxes shows as 5–15.

To change or remove a range later, click back into the charge and edit it or turn it off. Each charge is ranged on its own.

The total estimate range

Once you've ranged your charges, Chariot automatically ranges the total for you. You have a few options:

  • Leave it automatic — the total range is calculated from your ranged charges.

  • Override it — set a different min and max on the total.

  • Set a total range only — skip ranging individual charges and just enter a min and max for the whole estimate.

You can also add estimate total notes -- a free-text note appended to the total (for example, you could append "(No Hidden Fees)" to a range of $1,600 - $2,100.

What the customer sees

The range by default shows at the top of the Estimate, and within the Charges section (each charge ranged, along with the total range).

If you don't want to show the total range, that's controlled by your Format (formats control what customers see). Check the relevant setting on your format to hide the total. You can also hide the totals column entirely and show only quantities—for example, "hourly rate: 7–9 hours, $150 / hour" with no dollar figures.

Not-to-exceed estimates

Ranges work well for not-to-exceed estimates. Set your range as usual, then also enter a not-to-exceed price. For example, estimate $1,400–$1,820 with a not-to-exceed of $2,000.

The customer view will label it "not to exceed," show the estimate range, and show the not-to-exceed price—both at the top and in the charges section.

Binding estimates don't support ranges

Switching an estimate to binding turns ranges off. Binding and flat-rate estimates are a single price the customer agrees to pay, so a range doesn't apply -- you'll just calculate and enter a binding total (reach out if you want any help configuring Binding Estimate templates -- there's a few ways to do it!)

Automating ranges with estimate templates

You don't have to set ranges by hand every time. Estimate templates roll all your estimate settings into one package you can load in a couple of clicks -- charges, customer-facing formatting, deposit strategy, packing section, and now your range logic too.

Set the ranges you want on an estimate, then click save as template (for example, name it something like "Ranged Hourly Estimate +/- 1 hr"). Next time you load that template onto a job, it comes in pre-ranged -- no manual work before sending.

If you send range estimates regularly, especially for non-binding moves, it's worth reviewing your templates and saving ranged versions (or keeping separate ranged and non-ranged versions). That way you can load and send without touching the range at all!

How it works on the final bill / result

If you import a charge to the bill of lading / Result, the quantity set, not the range, will pull onto the bill.

For example, let's say the Estimate has a charge of:

  • Medium Box

  • Qty = 10 with a range of +/- 5 --> 5-15 boxes

If this charge is imported to the final bill, it will load as 10 boxes. The final box charge can of course then be edited with the final totals.

In other words, in Chariot, ranges are relevant only on the Estimate -- not the final bill.

Did this answer your question?