Skip to main content

Cost Codes & Schedule of Values

Cost codes and the Schedule of Values (SOV) are the foundation of Appello's job costing system. Cost codes define what categories of work are being performed (e.g., pipe insulation, duct wrap, cladding), while the SOV defines the contract value for each line item. Together, they enable real-time tracking of earned value vs. actual cost on every job.

Understanding Cost Codes

What Are Cost Codes?

Cost codes are standardized categories that classify the type of work being performed. When a worker's timesheet is approved, the hours and associated labour cost are allocated to a cost code — enabling per-activity cost tracking.

Typical Cost Code Structure

An insulation contractor's cost codes follow a hierarchical pattern:

CodeDescriptionCategory
01-100Pipe Insulation — HotMechanical Insulation
01-200Pipe Insulation — ColdMechanical Insulation
01-300Equipment / Vessel InsulationMechanical Insulation
01-400Duct Wrap / Duct BoardMechanical Insulation
02-100Metal Jacketing — PipeSheet Metal / Cladding
02-200Metal Jacketing — FlatSheet Metal / Cladding
02-300Architectural CladdingSheet Metal / Cladding
03-100FirestoppingFireproofing
03-200Passive Fire ProtectionFireproofing
04-100Scaffold ErectionScaffolding
04-200Scaffold DismantleScaffolding
05-100Removable Covers — FabricationRemovable Covers
05-200Removable Covers — InstallationRemovable Covers
90-100SupervisionOverhead
90-200SafetyOverhead
90-300Site MobilizationOverhead

Managing Cost Codes

Cost codes are configured at the job level:

  1. Open a job's detail page.
  2. Navigate to the Cost Codes tab.
  3. Add cost codes that apply to this job.
  4. Set budget amounts per cost code (from the estimate or contract).

Schedule of Values (SOV)

What Is an SOV?

The Schedule of Values breaks down a contract into billing line items — each with a dollar value. It's the basis for progress billing: as work is completed on each line item, you bill the customer for that percentage of the line item's value.

SOV Structure

LineDescriptionContract ValuePreviously BilledCurrent %Current Billing
1Pipe Insulation — Hot$125,000.00$50,000.0015%$18,750.00
2Pipe Insulation — Cold$45,000.00$20,000.0010%$4,500.00
3Equipment Insulation$80,000.00$0.005%$4,000.00
4Metal Jacketing$60,000.00$30,000.0020%$12,000.00
5Firestopping$35,000.00$0.000%$0.00
Total$345,000.00$100,000.00$39,250.00

SOV Templates

Reusable templates speed up SOV creation for similar jobs:

  1. Navigate to Settings → SOV Templates.
  2. Create a template with standard line items.
  3. When creating a new job SOV, select a template as the starting point.
  4. Adjust line item values to match the specific contract.

Earned vs. Burned

The Core Question

For every job, contractors need to answer: "Am I making money or losing money on this work?"

MetricDefinitionSource
Earned ValueWhat the work is worth per the contractSOV % complete × line item value
Actual CostWhat the work actually cost in labour, materials, etc.Timesheets + material costs + expenses
VarianceEarned minus Actual — positive = profitableCalculated

Example

Cost CodeEarned (from SOV)Actual (from timesheets)Variance
Pipe Insulation — Hot$68,750.00$55,000.00+$13,750.00 ✅
Metal Jacketing$42,000.00$48,000.00-$6,000.00 ❌
Firestopping$0.00$2,500.00-$2,500.00 ❌

This tells the PM that pipe insulation is ahead of budget, but metal jacketing is over — requiring investigation.

How Cost Codes & SOV Connect to Other Features

FeatureIntegration
TimesheetsWorkers select a cost code when entering time — labour costs allocate to the right category
Bulk Timesheet EntryForemen assign cost codes per crew member per shift
Progress ReportsSOV drives progress billing calculations
InvoicingInvoices pull from SOV progress for line-item billing
Job Financial SummaryRolled-up earned vs. burned at the job level
Employment AgreementsBurdened labour rates used for actual cost calculation