Scope Multipliers
Scope Multipliers allow you to specify that a scope represents multiple identical areas, automatically scaling all costs without duplicating the scope. This is ideal for projects with repeated work areas like multiple identical driveways, parking spaces, or foundation sections.
Instead of creating 5 duplicate scopes for 5 identical driveways, create one scope with a multiplier of 5.
How It Works
Basic Concept
Scope Items Total: $10,000
Multiplier: 5
Scope Total Cost = $10,000 × 5 = $50,000
Key Points:
- Multiplier scales all costs in the scope
- Items remain unchanged (quantities stay the same)
- Only the scope total is multiplied
- Default multiplier is
1.0(no scaling)
Setting a Multiplier
Navigate to the bid containing the scope you want to multiply.
Find the scope in the scopes grid view.
Click on the multiplier value (default shows "1.0x") in the scope card.
The multiplier field is located near the scope total cost.
Type the multiplier value:
- Whole numbers:
5for 5 identical areas - Decimals:
2.5for 2½ areas - Range: Any positive number
Press Enter or click outside to save.
The scope total updates immediately:
Items Total: $10,000
Multiplier: 5
Scope Total: $50,000
Inline Editing
The multiplier uses inline editing for quick updates:
| Action | Behavior |
|---|---|
| Click | Enters edit mode (highlights field) |
| Type | Updates value |
| Enter | Saves and exits edit mode |
| Escape | Cancels edit, reverts to original value |
| Click outside | Saves and exits edit mode |
Press Escape to cancel editing without saving changes.
Use Cases
- Identical Driveways
- Parking Spaces
- Foundation Sections
- Fractional Multipliers
Scenario: 5 identical residential driveways
Without Multiplier:
Create 5 separate scopes:
- Driveway 1
- Driveway 2
- Driveway 3
- Driveway 4
- Driveway 5
Problems:
- Repetitive data entry
- Hard to maintain consistency
- Updates require changing 5 scopes
With Multiplier:
Create 1 scope:
- Driveway (Typical)
- Set multiplier: 5
Benefits:
- Single scope to maintain
- Update once, affects all
- Clear cost scaling
Scenario: 50 identical parking spaces
Setup:
Scope: "Parking Space (Typical)"
Dimensions: 9' × 18'
Concrete: 4" thick slab
Multiplier: 50
Result: Total cost for 50 parking spaces
Benefit: Easily adjust count by changing multiplier
Scenario: 10 identical foundation sections
Setup:
Scope: "Foundation Section (Typical)"
Items:
- Concrete: Footing 2' × 2' × 10'
- Rebar: #4 @ 12" OC
- Labor: 8 hours
Multiplier: 10
Result: Total cost for all 10 sections
Scenario: 2½ identical areas (partial area)
Setup:
Scope: "Sidewalk Section"
Base Cost: $1,000
Multiplier: 2.5
Total: $1,000 × 2.5 = $2,500
Use Case: Partial sections, phase rollout, contingency areas
Cost Rollup Behavior
Scope-Level Calculation
The multiplier affects the scope total only:
Concrete Items: $5,000
Labor Items: $2,000
Equipment Items: $1,500
Materials Items: $1,000
Subcontractor Items: $500
──────────────────────
Items Subtotal: $10,000
Multiplier: 5
──────────────────────
Scope Total: $50,000 ← Items Subtotal × 5
Bid-Level Aggregation
Multiplied scope totals aggregate to the bid total:
Bid: "Commercial Site Work"
Scope 1: Foundation
Items: $20,000
Multiplier: 1
Total: $20,000
Scope 2: Driveway (Typical)
Items: $10,000
Multiplier: 5
Total: $50,000
Scope 3: Sidewalk
Items: $5,000
Multiplier: 1
Total: $5,000
──────────────────────
Bid Subtotal: $75,000
Overhead (10%): $7,500
Profit (5%): $3,750
──────────────────────
Bid Total: $86,250
Scope Card Display
The scope card shows multiplier information:
┌────────────────────────────────────┐
│ Driveway (Typical) Edit│
├────────────────────────── ──────────┤
│ Type: Slab │
│ │
│ Concrete: $5,000 │
│ Labor: $2,000 │
│ Equipment: $1,500 │
│ Materials: $1,000 │
│ Subcontractor: $500 │
│ │
│ Items Total: $10,000 │
│ Multiplier: 5.0x [editable]
│ │
│ Scope Total: $50,000 │
└────────────────────────────────────┘
The Items Total shows the cost before multiplier. The Scope Total shows the cost after multiplier.
Database Schema
The multiplier is stored in the Scope model:
model Scope {
id String @id @default(uuid())
name String
multiplier Decimal @default(1.0)
// ... other fields
}
Migration: 20251029104736_add_scope_multiplier
API Endpoints
Update Scope Multiplier
PUT /api/scopes/:id
Request Body:
{
"multiplier": 5.0
}
Response:
{
"id": "uuid-123",
"name": "Driveway (Typical)",
"multiplier": 5.0,
"totalCost": 50000.00,
"itemsTotal": 10000.00
}
Get Scope with Multiplier
GET /api/scopes/:id
Response:
{
"id": "uuid-123",
"name": "Driveway (Typical)",
"multiplier": 5.0,
"concreteCost": 5000.00,
"laborCost": 2000.00,
"equipmentCost": 1500.00,
"materialCost": 1000.00,
"subletCost": 500.00,
"totalCost": 50000.00 // (Sum of costs) × multiplier
}
Auto-Save Behavior
The multiplier field auto-saves when:
- Enter key pressed
- Click outside field (blur event)
- Tab to next field
Debounced auto-save (300ms delay) prevents excessive API calls during typing.
Validation Rules
| Rule | Description |
|---|---|
| Positive numbers only | Multiplier must be > 0 |
| Decimal precision | Up to 2 decimal places (e.g., 2.50) |
| No zero or negative | 0, -1, -5 are invalid |
| Default value | If empty or invalid, defaults to 1.0 |
Setting multiplier to 0 or negative values will fail validation. The field will revert to the previous value.
Best Practices
Use for Identical Areas
Only use multipliers for truly identical work areas. Different dimensions require separate scopes.
Clear Scope Naming
Name scopes with "(Typical)" suffix to indicate they represent multiple areas: "Driveway (Typical)".
Document in Notes
Add scope notes explaining what the multiplier represents: "5 identical driveways in Phase 1".
Review Bid Summary
Always review the bid summary to verify multiplied costs aggregate correctly.
When NOT to Use Multipliers
Different dimensions or specs
If areas have different dimensions, concrete thickness, or rebar spacing, create separate scopes. Multipliers assume identical areas.
Phased work with different pricing
If pricing varies by phase (e.g., Phase 1 vs Phase 2 labor rates), create separate scopes per phase.
Areas with unique features
If some areas have unique features (e.g., drainage, special finishes), create individual scopes.
Need individual tracking
If you need to track each area separately for project management, create separate scopes.
Comparison: Multiplier vs. Duplicated Scopes
| Aspect | Multiplier | Duplicated Scopes |
|---|---|---|
| Data Entry | Once | Multiple times |
| Maintenance | Update one scope | Update all duplicates |
| Consistency | Guaranteed | Manual verification required |
| Bid Clarity | Clear scaling | Repetitive entries |
| Individual Tracking | ❌ Not possible | ✅ Possible |
| Phase Variations | ❌ All same | ✅ Different per scope |
Use multipliers for identical areas and duplicated scopes when individual tracking or variations are needed.
Audit Logging
Multiplier changes are logged in the audit system:
{
"action": "UPDATE",
"entityType": "Scope",
"details": {
"changes": [
{
"field": "multiplier",
"oldValue": 1.0,
"newValue": 5.0
}
]
}
}
View multiplier changes in Admin Panel → Audit Log.
Troubleshooting
Multiplier not saving
Check:
- Value is positive (> 0)
- You have edit permissions (ADMIN or ESTIMATOR role)
- Network connection (auto-save requires API call)
Try refreshing the page and re-entering the value.
Scope total not updating
The scope total should update immediately after changing the multiplier. If it doesn't:
- Refresh the page
- Check browser console for errors
- Verify scope has items with costs
Multiplier field shows 'NaN'
This indicates an invalid value was entered. The field will revert to the previous valid value on blur.
Integration with Other Features
3D Viewer
Multipliers work with quantity expansion in the 3D Viewer:
Scope Multiplier: 5
Concrete Item Quantity: 3
Result in 3D Viewer: 15 visual instances (5 × 3)
Each multiplied scope × item quantity creates separate visual instances for positioning.
Cost Rollup
Multipliers integrate seamlessly with the cost rollup system:
Items → Scope Total (with multiplier) → Bid Total
See Cost Rollup for details on how costs aggregate.
PDF Export
Multipliers are shown in PDF exports:
Scope: Driveway (Typical)
Multiplier: 5.0x
Items Total: $10,000
Scope Total: $50,000