Estimating Cost Book Import
Import your estimating database including components, assemblies, and pricing to build estimates quickly.
Overview
The estimating cost book is your library of components and assemblies used to build estimates. Importing your cost book saves significant setup time and ensures consistent pricing across estimates.
What Gets Imported
Components
- Component Details - Name, description, SKU
- Pricing - Material cost, labor cost, labor hours
- Units - Unit of measure and default quantities
- Cost Codes - Associated cost codes
- Manufacturers - Product manufacturer links
Assemblies
- Assembly Details - Name, description
- Components - Component list with quantities
- Pricing - Calculated from components or override
- Categories - Organization groupings
Template Download
Download the Estimating Cost Book Import Template:
- Go to Admin → Estimating Database
- Click Import → Cost Book
- Download the template file
Component Template Fields
Required Fields
| Field | Description | Example |
|---|---|---|
name | Component name | 2x4x8 Stud |
type | COMPONENT or ASSEMBLY | COMPONENT |
Pricing Fields
| Field | Description | Example |
|---|---|---|
material_cost | Material unit cost | 3.50 |
labor_cost | Labor unit cost | 2.00 |
labor_hours | Hours per unit | 0.05 |
unit_price | Combined unit price | 5.50 |
subcontract_cost | Subcontract unit cost | 0.00 |
Descriptive Fields
| Field | Description | Example |
|---|---|---|
sku | Unique identifier | LBR-2x4-8 |
description | Detailed description | Kiln dried SPF 2x4x8 stud |
unit | Unit of measure | EA |
default_qty | Default quantity | 1 |
category | Component category | Lumber |
cost_code | Associated cost code | 06-100 |
manufacturer | Product manufacturer | ABC Lumber |
notes | Internal notes | Standard framing lumber |
active | Status (TRUE/FALSE) | TRUE |
Assembly Template Fields
Required Fields
| Field | Description | Example |
|---|---|---|
name | Assembly name | Exterior Wall 8' |
type | COMPONENT or ASSEMBLY | ASSEMBLY |
Assembly-Specific Fields
| Field | Description | Example |
|---|---|---|
assembly_components | Component list (see format below) | See example |
override_price | Fixed price (optional) | 450.00 |
category | Assembly category | Framing |
description | Assembly description | 8' exterior wall section |
Assembly Components Format
List components with quantities, separated by semicolons:
component_sku:quantity;component_sku:quantity
Example:
LBR-2x4-8:3;LBR-2x6-8:2;HW-NAILS-16D:0.5
Preparing Your Data
Component Example
type,name,sku,description,material_cost,labor_cost,labor_hours,unit,category,cost_code,active
COMPONENT,2x4x8 Stud,LBR-2x4-8,Kiln dried SPF stud,3.50,2.00,0.05,EA,Lumber,06-100,TRUE
COMPONENT,2x6x8 Plate,LBR-2x6-8,Kiln dried SPF plate,5.25,2.00,0.05,EA,Lumber,06-100,TRUE
COMPONENT,16d Nails,HW-NAILS-16D,Framing nails,45.00,0.00,0.00,LB,Hardware,06-100,TRUE
COMPONENT,1/2 Drywall 4x8,DW-12-4x8,Standard drywall sheet,12.50,8.00,0.25,SHT,Drywall,09-100,TRUE
COMPONENT,Drywall Tape,DW-TAPE,Paper joint tape,8.00,0.00,0.00,RL,Drywall,09-100,TRUE
Assembly Example
type,name,sku,description,category,assembly_components,active
ASSEMBLY,Exterior Wall 8',ASM-EXT-WALL-8,8ft exterior wall section,Framing,LBR-2x4-8:3;LBR-2x6-8:2;HW-NAILS-16D:0.5,TRUE
ASSEMBLY,Interior Wall 8',ASM-INT-WALL-8,8ft interior wall section,Framing,LBR-2x4-8:2.5;HW-NAILS-16D:0.3,TRUE
ASSEMBLY,Drywall Both Sides,ASM-DW-BOTH,Drywall finish both sides per SF,Drywall,DW-12-4x8:0.03125;DW-TAPE:0.01,TRUE
Combined File
Components and assemblies can be in the same file:
- Import components first (assemblies reference them)
- Or import in two passes
Units of Measure
Common units:
| Unit | Description | Use For |
|---|---|---|
| EA | Each | Individual items |
| LF | Linear Foot | Linear materials |
| SF | Square Foot | Area-based materials |
| SY | Square Yard | Flooring, carpet |
| CY | Cubic Yard | Concrete, fill |
| BF | Board Foot | Lumber |
| SHT | Sheet | Sheet goods |
| LB | Pound | Fasteners, bulk |
| HR | Hour | Labor |
| LS | Lump Sum | Fixed price items |
Import Steps
-
Prepare Components
- Fill in component details
- Set pricing and units
- Assign cost codes
- Save as CSV
-
Import Components First
- Go to Admin → Estimating Database
- Click Import → Cost Book
- Select components file
- Import and verify
-
Prepare Assemblies
- Reference component SKUs
- Set quantities
- Save as CSV
-
Import Assemblies
- Import assemblies file
- Verify component references
- Check calculated pricing
Pricing Calculations
Component Pricing
Total unit price calculated as:
unit_price = material_cost + labor_cost + subcontract_cost
Or set unit_price to override calculation.
Assembly Pricing
Assembly price calculated from components:
assembly_price = Σ(component_price × quantity)
Or use override_price for fixed pricing.
Labor Hours
For assemblies, labor hours are summed:
assembly_hours = Σ(component_hours × quantity)
Handling Updates
New Items
Items with new SKUs are created.
Existing Items
Matching SKUs update:
- Pricing updates
- Description updates
- Component references update
Removing Items
To deactivate:
- Set
activeto FALSE - Or remove manually after import
- Historical references preserved
Common Issues
Missing Components
Assemblies require components to exist:
- Import components first
- Check SKU spelling
- Verify component is active
Invalid Cost Codes
Cost codes must exist:
- Import cost codes first
- Check code format
- Create missing codes
Pricing Errors
- Numbers only (no $ symbols)
- Use decimal point
- Positive values only
Unit Mismatch
Ensure units are consistent:
- Same unit for same material type
- Valid unit abbreviations
- Match existing units
After Import
Verify Data
- Review component list
- Check pricing accuracy
- Verify assembly calculations
Organize
- Set categories
- Arrange display order
- Mark frequently used items
Test in Estimate
- Create test estimate
- Add components and assemblies
- Verify totals
Category Organization
Organize by trade or CSI division:
By Trade:
- Framing
- Electrical
- Plumbing
- HVAC
- Drywall
- Painting
- Flooring
By Division:
- 03 - Concrete
- 06 - Wood & Plastics
- 09 - Finishes
- 15 - Mechanical
- 16 - Electrical
Best Practices
Data Quality
- Verify pricing is current
- Use consistent naming
- Complete all fields
SKU System
- Create logical SKU format
- Include category prefix
- Keep SKUs short but meaningful
Pricing Maintenance
- Update costs regularly
- Track price changes
- Version pricing if needed
Organization
- Use meaningful categories
- Group related items
- Build assemblies from components