When an estimator edits the rate on a Worksheet Resource, three distinct actions are available. Each has different scope and different downstream effects. Clear exposure of which action is being taken — and what it will do — is critical to prevent silent estimate-wide changes.

Primary view: Worksheet Editor (view 6) Related entities: Worksheet · Resource · Price Book · Item

1. Why three actions

A Worksheet Resource stores a snapshot of the underlying Resource’s rate at drag-in time. The snapshot doesn’t auto-sync. So when the estimator wants to change a rate, the question is always: how wide should the change go?

IntentActionScope
”Tweak this one line only”Per-instance overrideThis Worksheet Resource only
”Update every use of this Resource in this Estimate”Apply to this EstimateAll Worksheet Resources in the current Estimate referencing the same underlying Resource
”Create a new Resource that only this Estimate uses”Fork to new ResourceCreates a new Resource in the Estimate’s Project-Specific Price Book; current Worksheet Resource points to the new Resource

All three trigger cascade: affected Items drop from Reviewed back to Priced; the Estimate may revert Reviewed → In Progress.


2. Action 1 — Per-instance override · default

What it does: edits the snapshot_rate on this one Worksheet Resource. Nothing else in the system changes.

When to use: one-off adjustment for a specific line (e.g., this Item’s install location has an unusual access premium, local only).

UI behaviour:

  • Inline edit on the rate field in the Worksheet Resource row — lightest-weight interaction.
  • No confirmation modal by default; the change is local.
  • Divergence is now “expected” on this line — Anomaly Review still flags snapshot vs. live Resource, but the estimator has chosen to hold the override.

Side effects:

  • snapshot_rate updates on this Worksheet Resource.
  • Other Worksheet Resources referencing the same Resource are untouched — they keep their own snapshots.
  • The underlying Resource in the Price Book is not modified.
  • cascade: this Item drops from ReviewedPriced if it was Reviewed.

3. Action 2 — Apply to this Estimate

What it does: overrides the snapshot_rate on every Worksheet Resource in the current Estimate that references the same underlying Resource.

When to use: the estimator has decided the whole Estimate should use a different rate than the Price Book says — e.g., a mid-Estimate market check produced a firmer number. The change is Estimate-wide but not Resource-wide.

UI behaviour:

  • Explicit menu option: “Apply to this Estimate”. Not a default click.
  • Confirmation modal listing:
  • The current snapshot rate
  • The new rate being applied
  • The count of Worksheet Resources that will be updated
  • The Items affected (for cascade preview)
  • Explicit confirm button.

Side effects:

  • All matching Worksheet Resources in the current Estimate get the new snapshot_rate. Their other attributes (quantity, wastage, modifier overrides) are preserved.
  • The underlying Resource in the Price Book is not modified.
  • cascade: all affected Items drop Reviewed → Priced.

Anomaly Review bulk-override inconsistency (Worksheet spec §8a): after a bulk override, if the same Resource is dragged into a new Worksheet in this Estimate, its snapshot comes from the original Price Book rate — not the overridden rate (because the Resource itself wasn’t changed). Anomaly Review surfaces this inconsistency; estimator can re-apply the bulk override to cover the new drag-ins, or fork the Resource.


4. Action 3 — Fork to new Resource

What it does: creates a new Resource in an auto-generated Project-Specific Price Book scoped to the current Estimate. The current Worksheet Resource is re-pointed to the new Resource. Other uses of the original Resource are unchanged.

When to use: the rate change represents a genuinely different Resource (e.g., different specification, different supplier terms). The estimator wants to preserve the original Resource for other Estimates and for this Estimate’s other uses.

UI behaviour:

  • Explicit menu option: “Fork to new Resource”. Never a default.
  • Modal:
  • Pre-filled new Resource attributes (description, rate, unit, flags, modifiers) — editable
  • Confirmation that a Project-Specific Price Book will be auto-created if the Estimate doesn’t already have one (named e.g., “Estimate {estimate_number} — Project Overrides”)
  • Explicit confirm button

Side effects:

  • A new Resource is created in the Estimate’s Project-Specific Price Book (auto-created on first fork).
  • The current Worksheet Resource’s resource_id re-points to the new Resource; snapshot_rate matches the new Resource’s rate.
  • Other Worksheet Resources referencing the original Resource are untouched.
  • The original Resource in the source Price Book is not modified.
  • cascade: this Item drops Reviewed → Priced.

Lineage: the Worksheet Resource history records the fork event. The new Resource lives in the Project-Specific Price Book permanently (until the Estimate is archived).


5. Comparison matrix

AspectPer-instanceApply to EstimateFork
Affects this Worksheet Resource
Affects other Worksheet Resources in same Estimate
Affects Worksheet Resources in other Estimates
Creates a new Resource✅ (in Project-Specific Price Book)
Modifies the source Resource in its Price Book
Default / explicitDefault (inline)Explicit (menu + confirm)Explicit (menu + confirm)
Cascade triggers Items → Priced
Survives Price Book rate changes✅ (local snapshot)✅ until Anomaly Review surfaces inconsistency on new drag-ins✅ (new Resource owns its rate)

6. The cascade

Any of the three actions triggers the same cascade on affected Items:

  1. Item’s status transitions from Reviewed back to Priced (Locked Items are not affected — they’re in Submitted Estimates).
  2. Because the Estimate’s Reviewed status is derived from every Item being Reviewed, the Estimate may revert Reviewed → In Progress.
  3. Anomaly Review re-evaluates the affected Items on next run.

Rationale: a rate change invalidates prior senior review — the estimate has moved and needs re-checking.


7. Surfacing in the Anomaly Dashboard

Two classes of anomaly relate directly to rate-edit mechanics:

  • Snapshot divergence — any Worksheet Resource whose snapshot differs from its Resource’s current state. Covers all three actions implicitly: after a PBA award, per-instance overrides, or a bulk override, divergence will be visible until explicitly acknowledged or pushed through.
  • Bulk-override inconsistency — new drag-ins of a Resource that was subject to “Apply to this Estimate” snapshot from the original Price Book rate. Anomaly Review flags so the estimator can choose to re-apply the bulk override or fork.

Per-instance overrides have no dedicated anomaly — they’re an acknowledged local decision.


8. Flow diagram

 User edits rate on Worksheet Resource
 │
 ▼
 ┌────────────────────┐
 │ Which action? │
 └────────────────────┘
 / │ \
 / │ \
 (Per-instance) (Apply (Fork to
 [default] to Est.) new Resource)
 │ │ │
 ▼ ▼ ▼
 ┌──────────┐ ┌──────────┐ ┌──────────────┐
 │ Local │ │ Cascade │ │ Create new │
 │ snapshot │ │ across │ │ Resource in │
 │ update │ │ all │ │ Project- │
 │ only │ │ matching │ │ Specific PB │
 │ │ │ WRs in │ │ (auto-create │
 │ │ │ Estimate │ │ if needed) │
 └─────┬────┘ └─────┬────┘ └──────┬───────┘
 │ │ │
 └────────────┼─────────────┘
 │
 ▼
 ┌──────────────────────────┐
 │ Cascade: affected        │
 │ Items drop Reviewed →    │
 │ Priced                   │
 └──────────────┬───────────┘
 │
 ▼
 ┌──────────────────────────┐
 │ Estimate may revert      │
 │ Reviewed → In Progress   │
 │ (derived from Items)     │
 └──────────────────────────┘

9. Worked example

Setup: an Estimate uses a Resource “Carpenter day rate” at $78/day across 14 Items. Two weeks in, the estimator notes all new Supplier quotes are coming in at $68/day.

Option A — Per-instance override

Estimator edits one Worksheet Resource line from $78 to $68. Only that one Item is affected; the other 13 stay at $78. Anomaly Review flags divergence on the edited line (intended); nothing else.

Option B — Apply to this Estimate

Estimator opens the “Apply to this Estimate” action from one of the 14 Worksheet Resources. Modal confirms: “Will update 14 Worksheet Resources across 11 Items.” Confirm. All 14 lines now carry $68; all 11 Items drop from Reviewed to Priced. Estimate reverts In Progress.

Option C — Fork

Estimator realises this is actually a different class of carpenter (higher-skilled crew for this specific project) and wants to keep the original Resource clean. Forks. A new Resource “Carpenter day rate — Acme project” is created in a new Project-Specific Price Book (“Estimate rev a — Project Overrides”). The one Worksheet Resource re-points to the new Resource at $68. Other 13 lines unchanged at $78 (pointing to original Resource). This Item drops Reviewed → Priced.

Follow-up: post-adjudication

Two weeks later, a PBA awards “Carpenter day rate” at $65 from Supplier C. PBA replaces the original Resource’s rate from $78 to $65.

  • Option A estimate: 13 lines at $78 now show divergence (Resource is $65); 1 line at $68 shows divergence. Estimator pushes through or intentionally keeps.
  • Option B estimate: 14 lines at $68 all show divergence (Resource is $65). Estimator can push through to $65 (removes override), re-apply bulk override to $68, or keep.
  • Option C estimate: 1 line on the new forked Resource (unaffected); 13 lines on the original Resource show divergence to $65.