Project setup

Pricing rules with worked examples

Pricing rules automatically adjust unit prices in the estimate. They do not change the costbook's saved prices. Use Project Setup rules to show or hide questions; use pricing rules to change prices.

Version and workspace

Configure company setup on the web, then synchronize the same company account in the Apple app. The native fixes described in this guide are prepared for the next app release; older installed versions may not include them yet.

The three parts

If: choose the Project Setup answer or cart threshold that activates the rule. Choose All must match for AND, or Any may match for OR. With no conditions, the rule applies to every estimate. An unanswered question does not match, even with “does not equal.” A question hidden by a visibility rule can retain its saved answer; hiding a question does not cancel its pricing. Include the controlling project-type answer in the pricing conditions when appropriate.

Apply to: explicitly select All items, a folder, an exact item code, or a prefix. Folder targets include descendants of that exact folder path. Bathroom > Tile differs from Kitchen > Tile. Optional item name narrows a folder target further. Currently the native cart's “item code” is its item name: a prefix LABOR- matches names starting with LABOR-, not a separate SKU field. Matching is case-sensitive.

Then: add/subtract a percentage, add/subtract a flat amount, or set the unit price to a value. Choose a positive amount and use Subtract for a discount. Zero is valid. Negative/nonfinite operations and unfinished targets are rejected when saving.

Worked example

A tile line has quantity 3 sf and unit price $100/sf. Its base line total is $300.

Add 10%: unit price becomes $110; line total becomes $330.

Then add $5 flat: unit price becomes $115; line total becomes $345.

A later rule subtracts 10%: unit price becomes $103.50; line total becomes $310.50.

Flat means per unit, not per estimate. Adding $10 to quantity 3 adds $30 to that line. For a one-time job charge, use a separate quantity-one costbook/cart item. Do not select an estimate-total target: that target is not implemented.

Rules run from lowest priority number to highest. Operations within a rule run top to bottom. Percentages compound; adding 10% and subtracting 10% does not return to the starting price. Give rules different priorities to make ordering explicit. Prices are clamped at zero after each rule. The engine keeps calculation precision for unit prices; displayed financial totals round to cents.

Cart conditions

Choose a folder and one metric:

Total Quantity: sum of quantities in the folder and its descendants.

Line Total ($): sum of unit price × quantity, including earlier pricing rules.

Item Count: number of matching cart lines, rather than quantity.

“Greater than 40” excludes exactly 40. “Less than 40” excludes exactly 40. Numeric equality allows a difference smaller than 0.001 for floating-point comparisons. Contains is a text operator and cannot be used for cart metrics.

Quantities are not converted between units. Do not sum sf, lf and each in one quantity condition. Use a folder containing one unit or Item Count/Line Total as appropriate. Tier selection controls which costbook items are offered; pricing rules are an additional adjustment on the selected cart items, not an automatic unit conversion or tier replacement.

Web, iPhone and iPad

The shared rule stores preserve question keys, cart metric/category, targets, operation order and priority. Native advanced rules may have several condition groups; groups are ORed together and each group has its own All/Any choice. The web editor preserves those advanced groups and identifies them as read-only; edit their conditions in the native app. Their targets and operations can be edited on the web without flattening conditions.

MCP can propose the standard flat AND rules. The customer reviews and approves those proposals before they are applied. It should inspect existing question keys and answer values, rather than inventing them. AI assistance does not replace a sample-price check.

Sync requires network connectivity and successful account sync. Saving a web rule does not refresh a currently offline app. After sync, reopen the estimate and check the applied-price explanation and totals.

Existing estimates and rule changes

The next native release will keep saved estimate unit prices and tax settings until the estimator explicitly chooses to reprice. Changing company pricing rules will not automatically update locked estimates. Quantity edits still change line totals at their saved unit prices, without rerunning cart thresholds on existing lines. Added items and manual base-price changes use the estimate's saved rules and saved pricing answers; Reprice applies current rules and answers to all lines. Reprice previews the current and proposed grand totals before confirmation and refreshes company pricing rules, saved answers and tax settings. Discounts and manual adjustments remain explicit estimate inputs. Signed or approved estimates must be duplicated into a draft before repricing. Older estimates may not contain their original applied pricing rules or effective unit prices. Their historical prices cannot safely be reconstructed from today's company rules. Review the original customer proposal and use Review pricing to explicitly confirm current pricing before exporting, sending or publishing a legacy estimate. The app cannot recover an old historical price from missing data. Previously exported PDFs do not rewrite themselves. Older installed app versions may still recalculate against current company rules; this protection requires the updated native app.

A simple setup check

Create a fictional estimate with known quantities. Check a matching answer, a nonmatching answer and a missing answer. Add an item inside the target folder and one outside it. Verify the hand-calculated unit and line totals, then change the condition at its threshold. Save/reopen and sync between devices, check the pricing explanation, and compare the PDF financial total. Keep this test separate from real customer quotes.

← All help guides