Services & Pricing
The service catalog, bulk catalog price changes, and Price Adjustment runs — which prices seed new work and which ones actually bill.
On this page
Where it is
CRM → Services, titled Services & Pricing. It has three tabs: Service Catalog (your list of services), Price Adjustments (re-pricing existing client work), and Adjustment History (every run, with an undo).
Where a price actually lives
This is the one thing worth understanding before you change any price in bulk. A price isn't stored in a single place — it's copied down as work is created, so each client keeps the price they were actually sold at.
| Price | Where you edit it | What it does |
|---|---|---|
| Service catalog rate | CRM → Services → Service Catalog | The default rate on a service. Used to fill in a price when that service is added to a new estimate, invoice or package. Changing it never touches work that already exists. |
| Rate matrix tiers | A service's Rate Matrix tab | Tiered pricing by a measured value (e.g. turf square footage). For a matrix-priced service this — not the default rate — is the real catalog price. |
| Client job service rate | A job's Services tab | The price this client agreed to for this service on this job. This is what actually gets billed when a visit is completed. |
| Package monthly amount | CRM → Packages | The fixed monthly installment for a bundled program. Billed on its own schedule. |
| Per-visit rate | A visit's detail sheet | A one-off override for a single visit. Set deliberately, so nothing bulk ever overwrites it. |
Bulk Prices — changing the catalog
On the Service Catalog tab, Bulk Prices opens an editable grid of every service currently listed. Type a new rate on any row, or use Quick Adjust to move them all at once.
- Percent or flat. Percent takes a whole number (5 for +5%, -3 for -3%); flat takes dollars (2.50, or -1).
- Round to — exact cent, nearest $0.25, nearest $1, or nearest $5. Nobody quotes $47.83 for a mow.
- Rate-matrix tiers are included by default and shown indented under their service, along with the overflow rate. Leave this on for a general increase — a matrix-priced service's real price is in its tiers, so adjusting only the default rate column would leave it quoting last year's numbers.
- Quick Adjust acts on whatever matches the search box, so you can raise just mowing without touching everything else.
Changed rows are highlighted with their previous value beside them, and the footer counts what you've modified. Nothing is written until you click Save Changes; Reset puts every row back.
Price Adjustments — re-pricing live work
The Price Adjustments tab is the tool for an actual price increase: it changes what clients get billed going forward. Every run follows the same three steps — describe the change, preview it, then apply.
- Adjustment — percent or flat, plus a rounding rule, exactly as in Bulk Prices.
- Apply to — any combination of client job service rates, package monthly amounts, and package service rates.
- Limit to — optionally narrow by service and by job type (recurring, one-time, package, snow, project, waiting list). Leave both empty to cover everything the targets above reach.
- Preview changes — a line-by-line before/after for every price that would move, with the total change and a count of rows matched but left alone.
- Tick the lines you actually want — see below. Everything starts ticked.
- Name the run and apply. A name is required, because that's what you'll look for later if you need to undo it.
Leaving a customer out
A price increase rarely covers everyone — one account is on a promised rate, another was just re-quoted. Every line in the preview has a checkbox, ticked by default. Untick a line and it's struck through, badged excluded, and dropped from the selected count and the total, which update as you go. You don't need a separate, narrower run to skip a few accounts.
To leave out a whole client or service at once, type their name into Search these lines — the buttons become Include shown and Exclude shown, acting only on what the search is currently showing. Exclude them, then clear the search to see the full list again with those lines unticked. The checkbox in the table header does the same for everything currently visible.
Job service rates are shown per client and job ("Ralph Fusaro · Lawn Mowing (Job #14)"), so you can scan exactly who is affected before committing. The summary breaks the total down per target, because a job service rate is per billing period while a package amount is per month — one combined figure would be misleading.
If you change the form after previewing, the preview disappears — along with your ticks and the Apply button — so you can never apply numbers you didn't actually look at. Rows created after you previewed are never swept in, because a run only ever touches lines you ticked. And if one of those lines was re-priced by someone else in the meantime, it's skipped rather than increased from a figure you never saw; the toast tells you how many.
Undoing a run
Adjustment History lists every run — what it changed, how many lines, the total, when, and by how much. The undo arrow restores each line's original price.
A reverted run stays in the history as a record and can't be undone twice.
Permissions
Two separate permissions, both off by default for non-admin roles (admins always have both), under Scheduling → Service Access in Roles:
- Bulk Update Catalog Prices — shows the Bulk Prices button on the Service Catalog tab.
- Run Price Adjustments — shows the Price Adjustments and Adjustment History tabs. Enforced in the database itself, not just hidden in the UI: applying or reverting a run re-checks this permission at the point the prices are written, so a user without it cannot re-price anything by any route.