TroubleshootingReviewed 2026-09-29

Pricing plan cannot be deleted: estimates reference it

A pricing plan that any estimate was priced on cannot be deleted, because the estimate keeps the plan as the record of how its price was built; untick Active so the plan stops being offered on new estimates while the old ones keep it.

Messages this explains

  • “Estimates reference this pricing plan; deactivate it instead of deleting.”
  • “Estimates reference this pricing plan; deactivate it instead”
  • “Plans used by estimates cannot be deleted; deactivate them instead.”

Pricing plan cannot be deleted: estimates reference it

You clicked the bin on a plan card on the Unit Pricing tab, confirmed Delete pricing plan?, and the dialog refused.

What you see

On Unit Pricing, the Delete pricing plan? dialog already warns "<name> and its charges will be removed. Plans used by estimates cannot be deleted; deactivate them instead." When you press Delete on a plan that an estimate uses, the dialog shows "Estimates reference this pricing plan; deactivate it instead of deleting." and the plan stays.

Outside the screens (through the AI assistant, for example) the same refusal reads "Estimates reference this pricing plan; deactivate it instead".

Why it happens

Every estimate remembers the pricing plan it was priced on: the plan's charges, rates and stage links are how the estimate's total and payment schedule were arrived at. Deleting the plan would leave those estimates pointing at nothing, so the app keeps it as soon as a single estimate refers to it. The check does not care about the estimate's status: a cancelled or superseded estimate still counts, because it is still on file and can be opened.

Retiring a plan is done by switching it off. An inactive plan is hidden from the list (until you tick Show inactive plans) and is no longer offered when a new estimate is priced, but the estimates that used it keep it and can still be read and booked.

How to fix it

  1. Deactivate the plan instead. On Unit Pricing, click the pencil on the plan card (hover "Edit <name>"), untick Active and click Save changes. You see “Plan "<name>" updated.” This needs the Edit permission on Pricing Plans; in the default roles that is the Administrator and the Project Manager. The plan disappears from the list; tick Show inactive plans to see or reactivate it.
  2. If you really need it gone, find the estimates that use it under Estimates (the plan is named on each estimate under Unit & plan). Only a Draft estimate can be changed or deleted: price the draft on another plan, or delete it. A new version of an estimate is a separate estimate, so the earlier versions keep pointing at the plan. Once any estimate that is no longer a draft (sent, approved, cancelled, expired or superseded, for example) uses the plan, it can only be deactivated. When no estimate refers to the plan at all, Delete goes through; it needs the Delete permission on Pricing Plans.
  3. Create the replacement plan with Add / New plan (the Create permission on Pricing Plans) so new estimates pick it up.

Related

  • Unit PricingScreen

    Keep the project's pricing plans, one per unit type: the sale charges by charge group with GST per line, how each charge group is collected, and a preview of the price and payment schedule on a real unit.

  • EstimatesScreen

    Every priced offer across projects, with an approvals inbox where approvers accept or reject estimates awaiting a decision and an all-estimates view with status and version filters.

  • EstimateScreen

    One estimate version: its charges by group, payment plan, approvals, unit and parking hold and validity, with the lifecycle actions to send, finalize, request approval, approve or reject, extend, cancel, version and book.

  • Pricing bases: Per Sqft, Per Floor, Fixed, Percent Of BaseConcept

    Each charge line on a pricing plan is worked out on one of four bases: a rate per square foot of the chargeable area, a rate per floor above a starting floor, a fixed amount, or a percentage of the lines priced before it.

  • Lookup row or unit configuration cannot be deleted: deactivate it insteadTroubleshooting

    A lookup value that records already use, a system activity type the application writes itself, or a unit configuration that units carry cannot be deleted; untick Active so it stops being offered while existing records keep it.