Archdesk

Beginner Guide to Breakdown Structure (WBS) in Construction

Archdesk5/15/2026 15 minutes read

Most job cost reports lie by accident, because the team built a cost code list and called it a WBS. A WBS is the scope you will hand over, a CBS is where dollars land. Keep them separate, then link them on purpose, and you can see percent complete, committed cost, and cost-to-complete in the same weekly rhythm. You’ll leave with a simple 4-level setup and a mapping method where one WBS work package can drive multiple CBS codes and billing lines without breaking your reporting.

U.S. construction spending hit $2.1T in 2023. Small control gaps repeat across a lot of work, so weak structure turns into real margin leakage.

In this article

WBS, what it is

A Work Breakdown Structure (WBS) is the scope tree for a job, broken into deliverables you can hand over. It is not a cost breakdown, and it is not a schedule. It answers one question: what does the Owner receive?

Think of a move-out checklist for an apartment. The checklist says "kitchen cleaned, drywall patched, keys returned." It's not your credit card statement showing what you spent at Home Depot, and it's not your calendar showing what you did on Tuesday. A WBS works the same way. Every box in the tree is a thing you can point at and say "done" or "not done."

Work Breakdown Structure (WBS)
A deliverable-based hierarchy that breaks total project scope into smaller and smaller pieces, organized by what you will hand over to the Owner.
Deliverable
A finished result the Owner can inspect, use, or sign off, like "slab on grade poured," "storefront installed and weathertight," or "RTU set, started, and turning over."
Level
A tier in the WBS hierarchy. Level 1 is the whole project. Each level below gets more specific until you reach control-ready chunks.
Work package
The lowest WBS level you plan and control. This is where you assign a responsible party, estimate cost and duration, and measure percent complete without a debate.

Worked example: 3,200 sq ft dental clinic fit-out, $680k

Start at the top and ask "what does the Owner get?" three times, going one level deeper each round.

Level 1 is always the project itself: Dental Clinic Fit-Out.

Level 2 lists the major deliverables the Owner will inspect at Substantial Completion. For this job, five make sense:

  1. Demolition & Site Prep
  2. Mechanical / Plumbing
  3. Electrical & Low Voltage
  4. Interior Build-Out
  5. Finishes & Closeout

Level 3 breaks each Level 2 deliverable into work packages, each small enough to assign to one sub and measure weekly. Here is the full tree for two of those deliverables:

Level 2 DeliverableLevel 3 Work PackageResponsible SubEst. Cost
Interior Build-OutMetal stud framing, 14 walls (420 LF)Drywall sub$38k
Drywall hang & finish, Level 4Drywall sub$27k
Millwork & cabinetry install, 6 operatoriesMillwork sub$62k
Electrical & Low VoltagePanel upgrade & branch circuits, 200AElectrical sub$41k
Dental chair rough-in, 6 locationsElectrical sub$18k
Data/AV cabling & terminationsLow-voltage sub$14k

Notice every work package is something a PM can walk the floor and confirm: "are those 6 chair rough-ins energized and tested, yes or no?" If the answer requires a percentage guess, the package is too big. Split it.

The three-question test for any work package

  1. Can one crew or sub own it completely? If two trades share a package, you'll argue over percent complete at every pay app.
  2. Can you measure it in a single site visit? "Drywall hang, Level 4 finish, all 14 walls" on a 3,200 sq ft job passes. On a 40,000 sq ft job, it doesn't. Break it by zone or floor.
  3. Does it map to a line on your Schedule of Values? If you can't bill against it, you'll track scope in one system and money in another. That gap is where margin disappears.

Bad WBS structure shows up as hidden scope leakage. A $2.4M, 16-week retail shell that drifts just 2% off plan burns $48k in margin, and you usually don't see it until pay apps and closeout start arguing about what was "included."

WBS vs CBS, fast

WBS is how you break down what you're building. CBS is how you catch where every dollar lands. You keep them separate by linking them, not mixing them.

Think of cooking dinner. The recipe is the WBS. The grocery receipt is the CBS. You can finish "install grid ceiling in Suite 210", but you can't finish "delivery fee" or "sales tax".

WBS (Work Breakdown Structure)
A scope tree of deliverables you can assign, schedule, and mark complete. Example: "Level 2 fit-out" → "Partitions" → "Frame and board Suite 210".
CBS (Cost Breakdown Structure)
Your cost code structure, built to sort spending into consistent buckets by trade and cost type (labor, material, equipment, subcontract, overhead) so job cost reports roll up the same way on every project.
Cost code
A single CBS line where costs post. Many contractors base trade codes on CSI MasterFormat divisions, then add a cost type suffix: concrete labor vs concrete material.
Mapping
The link between a WBS work package and one or more CBS cost codes. Progress sits in the WBS, dollars stay organized in the CBS.

One WBS activity can drive costs to multiple CBS codes, and that's the whole point. "Pour slab on grade, Building A" (WBS) will hit concrete labor, concrete material, concrete pump, rebar subcontract, and layout labor (CBS). If you force those CBS buckets into the WBS, you lose clean progress tracking and clean cost tracking at the same time.

Mixing WBS and CBS blows up reporting fastest on indirects. General liability, builder's risk, permits, payroll taxes, site office rental, and dumpsters support the job but don't have measurable physical completion. They belong in CBS overhead codes. Posting them into "Framing" or "Drywall" makes the work look over budget when the trade is fine.

Classify these 10 items: WBS or CBS?

Run each item through the test above. Write your answer, then check against the key below.

  1. Frame and board partitions, Suite 310
  2. Drywall material
  3. Install VAV boxes, Level 4 mechanical room
  4. Builder's risk insurance
  5. Electrical labor
  6. Rough-in plumbing, Building B restrooms
  7. Dumpster rental
  8. Set structural steel, Bay 3
  9. Crane mobilization
  10. Commission fire alarm system, Building A
Answer key (click to reveal)
#ItemClassificationWhy
1Frame and board partitions, Suite 310WBSLocation-specific deliverable. You can walk the Owner to Suite 310 and show finished walls.
2Drywall materialCBSCost type bucket. It tells you what you spent on, not what you built.
3Install VAV boxes, Level 4 mechanical roomWBSA specific scope package tied to a location and a trade. You can inspect and mark it complete.
4Builder's risk insuranceCBSProject-wide indirect cost. No physical deliverable to hand over.
5Electrical laborCBSA cost type within a trade division. It tracks dollars, not completion of a deliverable.
6Rough-in plumbing, Building B restroomsWBSDefined scope at a defined location. Inspectable, schedulable, completable.
7Dumpster rentalCBSJobsite overhead. It supports the project but produces nothing you can hand over.
8Set structural steel, Bay 3WBSPhysical deliverable at a named location. The ironworkers finish it, the inspector signs off.
9Crane mobilizationCBSEquipment cost that serves multiple WBS activities. No standalone deliverable.
10Commission fire alarm system, Building AWBSA defined milestone deliverable. You test it, document it, and close it out.

Scoring: 9-10 correct, you've got it. 7-8, revisit the indirects (items 4, 7, 9), those trip up most teams. Below 7, re-read the glossary above and run the "walk the Owner to it" test again on each item you missed.

On a $2.4M, 20-week tenant fit-out, misposting $120k of insurance, permits, and jobsite overhead into interior build-out work packages can create a phantom "10% overrun" by week 6, even when labor productivity is on plan. The PM then pressures subs, delays approvals, and reworks the schedule, burning about two weeks of momentum fixing a coding problem, not a field problem. Getting the WBS-to-CBS mapping right at project setup prevents that entirely.

US cost flow basics

Every dollar on a US construction project follows the same path: bid, budget, commitments, actuals, progress measurement, pay app, retainage, cash receipt. Miss a step and money leaks. The trick is knowing exactly where WBS and CBS plug into that chain.

The eight-step money flow, start to finish

Here is the path a dollar takes on a $6.2M school addition GC'd under an AIA A101 contract, from bid day to bank deposit.

  1. Bid. You price the job at $6.2M. Your estimate is built from quantity takeoffs, sub quotes, material pricing, labor production rates, and your markup. At this stage the numbers live in an estimating format, not yet organized for job cost tracking.
  2. Budget. You win the job and convert the estimate into a job cost budget. Every budget line gets a CBS code. Example: CBS 03-300-L (concrete placing labor) gets a budget of $184,000. CBS 03-300-M (concrete material) gets $227,000. The full budget equals the contract value minus your fee, plus allocated indirect costs.
  3. Commitments. You buy out the job. You execute a $411,000 subcontract for structural concrete and issue a $38,000 PO for rebar. Each commitment posts against a CBS code. Now CBS 03-300-S (concrete subcontract) shows $411,000 committed, $0 actual. Your total committed cost across all codes tells you the gap between buyout and budget, your buy-out gain or loss.
  4. Actuals. Invoices arrive, timesheets post, equipment charges hit. The concrete sub submits a $97,000 application for their first month. Once approved, that $97,000 moves from committed-only to actual cost under CBS 03-300-S.
  5. Progress measurement. Your PM and superintendent assess percent complete against the WBS. WBS element "Slab-on-grade, Building A" is 40% complete. That single WBS element touches CBS codes 03-300-L, 03-300-M, 03-300-S, and 03-300-E (equipment/pump). Forty percent earned on one deliverable explains movement across four cost codes at once.
  6. Pay app. You prepare your AIA G702/G703. The SOV line "Cast-in-place concrete" carries a scheduled value of $620,000. You bill 40% of it: $248,000. That SOV line was built from three WBS elements (slab-on-grade, grade beams, foundation walls), so the 40% reflects a weighted roll-up of their individual percent-complete figures.
  7. Retainage. The owner withholds 10%. Of your $248,000 billed, $24,800 stays in retainage. You receive a payment certificate for $223,200. That retainage sits on your balance sheet as an asset you can't touch until Substantial Completion and closeout, sometimes 6 to 14 months later.
  8. Cash receipt. The owner pays within the contract's payment terms, typically 30 days from pay app submission under AIA A201. Your $223,200 lands in the bank roughly 45 days after the work was done. Meanwhile, you paid your concrete sub 7 days after their invoice. That gap is your cash float risk.

How WBS maps to CBS maps to SOV: a concrete example

WBS elementCBS codes it touchesSOV line it bills through
Slab-on-grade, Bldg A03-300-L ($184k labor), 03-300-M ($227k material), 03-300-S ($411k sub), 03-300-E ($18k pump)Line 6: Cast-in-place concrete, $620,000
Grade beams03-300-L, 03-300-M, 03-300-S
Foundation walls03-300-L, 03-300-M, 03-300-S

WBS tells you what you built. CBS tells you what it cost. SOV tells you what you billed. Three views of the same dollar. Progress lives on the WBS side. Cost lives on the CBS side. Billing lives on the SOV side. The mapping between them is what lets you answer, in the same meeting, "are we earning enough to cover what we're spending?"

WBS (Work Breakdown Structure)
Your deliverable breakdown of the work, organized the way the job gets built. "Concrete" then "Slab-on-grade, Bldg A."
CBS (Cost Breakdown Structure)
Your cost code structure where every dollar posts, typically by trade and cost type. Example: 03-300-L = concrete placing labor.
Schedule of Values (SOV)
The owner-facing billing line list used on AIA G702/G703 pay apps. It must total the contract value.
Committed cost
Money you've legally agreed to spend, like executed subcontracts and issued purchase orders, before invoices hit.

Build a 4-level WBS

A GC has a 10,000 sq ft single-story retail shell in suburban Texas. The stipulated-sum contract is $1,847,600 under AIA A101, with an 18-week schedule to Substantial Completion. The owner wants a warm shell with MEP rough-in complete, ready for a tenant fit-out.

Build the 4 levels, from “season” to “drills”

Level 1 is the whole job. Level 2 is major deliverables you can hand to a superintendent. Level 3 is systems you can schedule and inspect. Level 4 is the work package a foreman can own, measure, and sign off.

WBS code Level Name How you measure it on site
1.01Retail shell, 10,000 sq ftSubstantial Completion milestone
1.12SiteworkArea and inspections passed
1.1.13EarthworkPad grade and compaction tests
1.1.1.14Strip, grade, and compact building padCompaction report and as-built grades
1.1.23UtilitiesPressure tests and backfill complete
1.1.2.14Install underground storm and sanitaryTest reports and trench backfill signed off
1.22Foundations and slabPour sequence complete
1.2.13FootingsLF poured, inspections passed
1.2.1.14Excavate and pour strip footingsConcrete tickets and inspection card
1.2.23Slab on gradeCY placed and test breaks logged
1.2.2.14Form, reinforce, and place 6-inch slabConcrete tickets, cylinders, and pour log
1.32Shell (structure and envelope)Dried-in milestone
1.3.13Steel frameTons erected, bolt/torque log
1.3.1.14Erect structural steel columns and joistsErection release and bolt log
1.3.23EnvelopeWeather-tight inspections
1.3.2.14Install wall panels and storefront glazingWater test and punch walk
1.42MEP rough-inRough inspections passed
1.4.13ElectricalRough-in inspection and energization plan
1.4.1.14Run conduit, pull wire, and set panelsInspection sign-off and panel schedules
1.4.23Mechanical and plumbingStartup checklist ready
1.4.2.14Set RTUs and install primary ductworkRigging plan complete and duct inspection
1.52Finishes and exteriorArea-based completion
1.5.13RoofingDried-in and warranty submittals
1.5.1.14Install TPO membrane and flashingsManufacturer inspection and photo log
1.5.23PavingSquare yards placed and striping complete
1.5.2.14Pave parking and stripe accessible stallsAs-built layout and inspection sign-off
1.62CloseoutTurnover accepted
1.6.13Punch ListOpen items count trending to zero
1.6.1.14Walk, document, and close Punch List items0 open life-safety items
1.6.23TurnoverOwner acceptance of O&M package
1.6.2.14Submit O&M manuals, warranties, and as-builtsTurnover checklist signed

Walkthrough, put real numbers against one Level 4 work package

Work package 1.2.2.1 is “Form, reinforce, and place 6-inch slab”. A 10,000 sq ft slab at 6 inches is about 186 CY of concrete. Rebar is roughly 60,000 lb, about 30 short tons.

  1. Define the measurable quantities. Concrete is 186 CY. Poly is 10,500 sq ft (includes 5% waste). Edge forms are 400 LF. Rebar is 60,000 lb.
  2. Price each input like a foreman will buy it. Poly and forms come to $4,260. Rebar supply is $38,460, tying labor is $7,580. Concrete placement is 186 CY at $269.90/CY, which is $50,201. Cure, saw-cuts, and protection is $3,145.
  3. Total the work package budget. $4,260 + $38,460 + $7,580 + $50,201 + $3,145 = $103,646. That becomes your planned value for 1.2.2.1 on your Schedule of Values (SOV).
  4. Split the cost into CBS codes without splitting the WBS. The same 1.2.2.1 progress update can drive multiple cost buckets: concrete material $41,870, pump and placing equipment $8,331, rebar material $38,460, rebar labor $7,580, formwork and sundries $7,405.
  5. Make percent complete earned, not guessed. If 124 CY is placed and finished, you earn 124/186 = 66.7% of $103,646, which is $69,097. If the cost report shows $78,540 spent to date on those CBS codes, you’ve burned $9,443 more than you earned, and you see it mid-pour, not at the end of the month.

Takeaway

A 4-level WBS stays clean because it tracks scope, not accounting. The non-obvious win is one-to-many control: one work package like “place the slab” can earn $69,097 of value while costs hit five different CBS codes, so progress and cost stay tied together even when invoices and timecards come in messy.

CBS code starter kit

A CBS code is the label you put on every dollar so budget, committed cost, and actual cost land in the same buckets every time.

Think of a library call number. The book title is your WBS activity, like “Pour slab on grade.” The call number is your CBS code, so every library shelves and totals the same book the same way.

CBS (Cost Breakdown Structure)
Your company’s standard list of cost buckets used for budget, commitments (POs and subcontracts), and actual job cost.
WBS (Work Breakdown Structure)
Your scope breakdown, used by operations to plan and track what gets built, like “Level 2 drywall” or “Main electrical rough-in.”
Cost type segment
The part of the CBS code that tells you what kind of spend it is. A simple set is L (labor), M (material), E (equipment), S (subcontract), O (overhead).
Trade segment (CSI MasterFormat)
The CSI number that anchors the code to a trade category, like 03 30 00 for cast-in-place concrete.

This matters because one WBS activity drives multiple CBS codes, and that’s how you find the real leak. On a $1.2M retail shell, a “Slab on grade” WBS package might total $95k, but splitting it into 03 30 00-L ($38k), 03 30 00-M ($49k), and 03 30 00-E ($8k) tells you whether the overrun came from crew hours, ready-mix, or the pump truck.

A CBS code format your field and accounting will both stick to

Use two segments by default, then add location only if the field will code it right. More segments buys you more miscoding, which kills job cost trust.

  • Segment 1, trade spine: CSI MasterFormat six-digit codes, like 03 30 00.
  • Segment 2, cost type: L, M, E, S, O.
  • Segment 3, location (optional): AREA1, FL02, BLDG-A.

Example format: 03 30 00-L-AREA1, cast-in-place concrete labor in Area 1.

10 sample CBS codes you can adopt as a company standard

CBS code What it captures
01 50 00-OTemporary facilities and controls overhead, trailers, toilets, temp power.
02 41 00-SSelect demolition subcontract.
03 20 00-MReinforcing steel material, rebar, chairs, tie wire.
03 20 00-SRebar install subcontract (if bought out).
03 30 00-MConcrete material, ready-mix and admixtures.
03 30 00-LConcrete labor, placing, finishing, curing.
03 30 00-EConcrete equipment, pump truck and small plant rentals.
05 12 00-SStructural steel subcontract, fabricate and erect package.
09 29 00-LDrywall labor, hang, tape, finish.
23 00 00-SHVAC subcontract (single mechanical buyout).

One WBS, many CBS

You’re the GC on a $2.4M single-story retail shell, 10,000 sq ft, 22-week schedule under AIA A201. Your WBS has one Level 4 deliverable, “4.3.1 Install HVAC System”, and you’re updating the Schedule of Values (SOV) in week 6. That one WBS line drives four separate CBS cost codes in job cost.

Build the one-to-many map

WBS tells you what you’re delivering. CBS tells you where the dollars land, split by cost type. The control move is tagging every cost line to both.

WBS work package (deliverable) CBS code Posting document Budget
4.3.1 Install HVAC System 23 30 00-M (material) Purchase orders $62,800
4.3.1 Install HVAC System 23 30 00-L (labor) Timecards $71,200
4.3.1 Install HVAC System 23 30 00-E (equipment) Equipment invoices $4,900
4.3.1 Install HVAC System 23 30 00-S (subcontract) Sub pay apps $48,500
WBS 4.3.1 total Roll-up of all CBS above $187,400

Walk the numbers through, step by step

  1. Post each cost to the WBS and the CBS. A $38,650 ductwork PO posts to WBS 4.3.1 and CBS 23 30 00-M. A $11,640 weekly timecard batch posts to WBS 4.3.1 and CBS 23 30 00-L. Same deliverable, different buckets.
  2. Update the forecast by CBS, not by gut feel. Ductwork supplier requotes after buyout and your material forecast moves from $62,800 to $69,700, a -$6,900 variance on 23 30 00-M.
  3. Keep labor honest by isolating it. Sheet metal and pipefitting labor finishes on the original plan at $71,200. That’s $0 variance on 23 30 00-L, so you stop blaming field productivity for a material problem.
  4. Let small wins show up. The scissor lift is needed for 2.5 weeks, not 3, so equipment lands at $4,100 against a $4,900 budget. That’s +$800 on 23 30 00-E.
  5. Separate a scope change from performance. The controls subcontractor submits a $5,200 Change Order for added thermostats and wiring, so 23 30 00-S moves from $48,500 to $53,700. That $5,200 is an owner-billable change discussion, not a “fix the crew” discussion.
CBS code Budget Forecast final Variance
23 30 00-M (material) $62,800 $69,700 -$6,900
23 30 00-L (labor) $71,200 $71,200 $0
23 30 00-E (equipment) $4,900 $4,100 +$800
23 30 00-S (subcontract) $48,500 $53,700 -$5,200
WBS 4.3.1 total $187,400 $198,700 -$11,300

Takeaway

The non-obvious win is actionability. The WBS roll-up tells you “HVAC is $11,300 over”, but the one-to-many CBS split tells you which $11,300 you fight (the $5,200 Change Order) and which $11,300 you fix in procurement and estimating (the $6,900 material move). In Archdesk, this works cleanly because each PO, invoice, timecard, and sub pay app is coded to both the WBS work package and the CBS cost code, so the roll-up and the why update the same week the money hits.

Link WBS to SOV

This worksheet forces a clean link between your WBS work packages and the owner-facing Schedule of Values (SOV). You will fill the blanks, calculate retainage held, then flag two billing risks that cause pay apps to get cut or held on AIA jobs.

Rules that keep you out of billing arguments

  • SOV lines must add up to the exact contract value. No rounding, no "misc." plug.
  • Every SOV line must tie to at least one WBS deliverable you can see on site.
  • Every SOV line needs a measurement rule that an architect can certify without a debate. Good rules name a unit (square feet, cubic yards, zones, linear feet) and a verification method (inspection report, delivery ticket, photo log).
  • One WBS package can feed multiple SOV lines, but you need a stop rule that prevents overbilling partial scope.
  • Don't relabel SOV lines mid-job to hide a scope shift. If scope changes, route a Change Order under AIA A201-2017.
  • Retainage comes off every line you bill, typically 5% to 10%. A "fully complete" line still pays short until final payment. To calculate retainage held on any line: multiply the line value by the retainage percentage. Example: 10% retainage on a $260,000 line = $260,000 × 0.10 = $26,000. That $26,000 stays in the owner's hands until Substantial Completion and final closeout conditions are met.

How to write a measurement rule that survives an architect's red pen

A measurement rule answers three questions: (1) what unit are you counting, (2) what document proves the count, and (3) when is the line 100% complete? If your rule misses any of the three, the architect will pencil-whip your percentage complete down to whatever feels safe, usually 10-15 points below what you billed.

Take SOV-02, Sitework. The scope is strip topsoil, rough grade to subgrade elevation, and trench for utilities. A weak rule says "percent complete per PM estimate." A strong rule says: "Progress measured by completed area in square feet against the grading plan. Surveyor's cut/fill report confirms subgrade elevation. Line is 100% when final grade survey is accepted and utility trenches pass inspection." That rule gives the architect a document to check, not an opinion to argue.

SOV-06, Roofing and Waterproofing, is the same idea. The scope is membrane, flashing, and penetration sealing on roughly 10,000 sq ft of roof deck. A strong rule: "Progress measured by installed square feet of roof membrane against the roof plan. Manufacturer's warranty inspection confirms proper lap widths and flashing details. Line is 100% when the roof passes a 48-hour flood test or electronic leak detection and the warranty letter is issued."

Worksheet: Map 8 WBS work packages to 10 SOV lines (Retail shell, 10,000 sq ft, $2,400,000)

Restaurant bill test: the items add up, and everyone agrees what each line covers before anyone pays.

SOV line Owner billing description Line value WBS work package(s) How progress will be measured (observable) Ret. % Retainage held
SOV-01 General Conditions $180,000 WP-1 Mobilize and set up site logistics (temp fence, trailer, dumpsters) Monthly pro-rata over the approved schedule, backed by daily reports and staffing plan 5% $180,000 × 0.05 = $9,000
SOV-02 Sitework $220,000 WP-2 Sitework complete (strip, rough grade, trenching) [Fill in. Use the pattern: unit counted + verification document + 100%-complete trigger. Example answer: "Completed area in sq ft against grading plan. Surveyor's cut/fill report confirms subgrade elevation. 100% when final grade survey accepted and utility trenches pass inspection."] 10% $220,000 × 0.10 = $22,000
SOV-03 Concrete Foundations $260,000 WP-3 Foundations complete (footings, stem walls) Inspections passed, concrete tickets match placed quantities 10% $260,000 × 0.10 = $26,000
SOV-04 Slab on Grade $310,000 WP-4 Slab on grade placed and cured (6-inch slab) Installed cubic yards placed (186 CY target) and test breaks logged 5% $310,000 × 0.05 = $15,500
SOV-05 Structural Steel $280,000 WP-5 Building shell dried-in (steel, roof, exterior skin) Tons erected and bolt-up complete, with inspection sign-off 10% $280,000 × 0.10 = $28,000
SOV-06 Roofing and Waterproofing $190,000 WP-5 Building shell dried-in (steel, roof, exterior skin) [Fill in. Use the pattern: unit counted + verification document + 100%-complete trigger. Example answer: "Installed sq ft of roof membrane against roof plan. Manufacturer's warranty inspector confirms lap widths and flashing. 100% when 48-hour flood test passes and warranty letter is issued."] 10% $190,000 × 0.10 = $19,000
SOV-07 Exterior Walls and Openings $260,000 WP-5 Building shell dried-in (steel, roof, exterior skin) Linear feet and openings installed against approved submittals 10% $260,000 × 0.10 = $26,000
SOV-08 MEP Rough-In $360,000 WP-6 MEP rough-in complete (in-wall and above-ceiling) Zones released for close-in with rough inspections passed 10% $360,000 × 0.10 = $36,000
SOV-09 Interior Finishes $250,000 WP-7 Interior build-out complete (framing, drywall, ceilings, paint) Area-by-area turnover, tied to room/area sign-off and punch list counts trending down 10% $250,000 × 0.10 = $25,000
SOV-10 Closeout and Commissioning $90,000 WP-8 Closeout complete (testing, O&M manuals, as-builts) Owner training done, O&M manuals submitted, Substantial Completion achieved 5% $90,000 × 0.05 = $4,500

Total retainage held across all 10 lines: $211,000. That is 8.8% of the $2,400,000 contract value. On a 16-week schedule, that cash sits with the owner for four to six months after Substantial Completion on a typical AIA G702/G703 pay app structure. If your company is carrying $211k in retainage on one job while running three others, your working capital model needs to account for roughly $600k-$800k in retainage float across the portfolio.

Flag two billing risks hiding in your mapping

  • Risk 1: front-loaded General Conditions. SOV-01 is $180,000 on a 16-week job, so the pro-rata billing is $11,250/week. If you bill $45,000 in Month 1 (four weeks), that is 25% of the line while physical progress across the other nine lines might only be 8-10%. The architect sees a gap between dollars billed and work in place, and the pay app gets cut. Fix: tie General Conditions billing strictly to the approved schedule duration. If the schedule says 16 weeks, bill 1/16th per week, no acceleration.
  • Risk 2: one WBS package drives three SOV lines. WP-5 feeds SOV-05, SOV-06, and SOV-07, totaling $730,000. If steel is up (SOV-05 at 100%) but the roof is not watertight (SOV-06 at 40%), the shell is not "dried-in." Without a stop rule, project teams bill SOV-05 at 100% and push SOV-06 and SOV-07 aggressively. Then the architect's site walk shows water still getting in, and they slash all three lines in the same pay app. Fix: define explicit milestones for each of the three lines so they bill independently. Steel erection is steel erection. Roof is roof. Never let "dried-in" be the single trigger for $730,000 across three lines.

Reading the result: You're ready to submit an SOV when (1) the 10 line values total $2,400,000, (2) every line has a three-part measurement rule (unit, verification document, completion trigger), (3) you can explain how WP-5 progress splits across SOV-05/06/07 without billing dried-in early, and (4) you know your total retainage exposure is $211,000 and have planned the cash float. In Archdesk, each SOV line links directly to committed costs from subcontractor valuations and PO spend, so your cost-value reconciliation updates in real time as you process pay apps. That means the gap between billed revenue and actual cost-to-complete on lines like SOV-05/06/07 shows up the week it opens, not when the architect rejects the application.

Mapping challenge dataset

Try this: You are the GC on a 10,000 sq ft single-story retail shell. You bill the Owner using an AIA Schedule of Values (SOV). Build one mapping table that ties each WBS work package (what you build) to (1) the right SOV billing line (how you get paid) and (2) at least two CBS codes from the list below (where costs land). Split at least labor plus material where the work has both. One CBS code in the available list is wrong on purpose. Find it and fix it. Then flag which SOV lines sit outside the WBS scope entirely.

WBS work packages (Level 4) SOV billing lines (8) CBS codes available (12)
  1. WP-1 Slab on grade (6-inch, 10,000 sq ft)
  2. WP-2 Structural steel frame
  3. WP-3 Exterior wall framing and sheathing
  4. WP-4 Roofing and waterproofing
  5. WP-5 Electrical rough-in
  6. WP-6 Storefront glazing
  1. SOV-A Concrete foundations and slab, $184,000
  2. SOV-B Structural steel, $210,000
  3. SOV-C Exterior envelope, framing, $97,000
  4. SOV-D Roofing, $68,000
  5. SOV-E Electrical, $115,000
  6. SOV-F Storefront and glazing, $86,000
  7. SOV-G General conditions, $72,000
  8. SOV-H Final clean and punch list, $18,000
  • 03 30 00-M Concrete material
  • 03 20 00-M Rebar material
  • 03 30 00-L Concrete placing labor
  • 03 30 00-E Concrete pump rental (equipment)
  • 05 12 00-S Structural steel subcontract
  • 05 12 00-L Steel erection inspection labor
  • 06 10 00-M Framing lumber and sheathing material
  • 06 10 00-L Framing labor
  • 07 50 00-S Roofing subcontract
  • 07 50 00-L Roofing inspection and prep labor
  • 08 44 00-S Storefront glazing subcontract
  • 08 44 00-L Storefront layout and prep labor
  • 16 05 00-L Electrical rough-in labor
  • 16 05 00-M Electrical wire and devices material
  • 02 41 13-L Demo labor

Use the rule: WBS is deliverables and work packages. CBS is where dollars land by trade and cost type. SOV is how you bill the Owner. Expect a one-to-many mapping from one WBS work package to multiple CBS codes, especially on self-performed work like the slab.

Keep your first four WBS levels consistent across retail shells so you can compare production and cost. Only the lower detail changes job to job.

Show the worked solution

Step 1: Set the control rule. Keep WBS Levels 1 to 4 consistent across projects. Example: L1 Project, L2 Site and structure / Envelope / MEP / Closeout, L3 Systems, L4 Work packages (the six rows here). This lets you compare "slab $/sq ft" across three stores without arguing about structure.

Step 2: Map WBS to SOV (billing). Each WBS work package maps to one SOV line in this dataset. That is normal when the Owner's SOV is broad.

  • WP-1 Slab on grade → SOV-A Concrete foundations and slab, $184,000
  • WP-2 Structural steel frame → SOV-B Structural steel, $210,000
  • WP-3 Exterior wall framing and sheathing → SOV-C Exterior envelope, framing, $97,000
  • WP-4 Roofing and waterproofing → SOV-D Roofing, $68,000
  • WP-5 Electrical rough-in → SOV-E Electrical, $115,000
  • WP-6 Storefront glazing → SOV-F Storefront and glazing, $86,000

Step 3: Map WBS to CBS (cost), minimum two CBS codes per WBS row. Self-performed work splits across labor, material, and equipment. Bought-out work pairs a subcontract code with the GC's own inspection, layout, or prep labor code that supports the sub's scope.

WBS work package SOV line CBS codes (2+)
WP-1 Slab on grade SOV-A 03 30 00-M, 03 20 00-M, 03 30 00-L, 03 30 00-E
WP-2 Structural steel frame SOV-B 05 12 00-S, 05 12 00-L
WP-3 Exterior wall framing and sheathing SOV-C 06 10 00-M, 06 10 00-L
WP-4 Roofing and waterproofing SOV-D 07 50 00-S, 07 50 00-L
WP-5 Electrical rough-in SOV-E 16 05 00-L, 16 05 00-M
WP-6 Storefront glazing SOV-F 08 44 00-S, 08 44 00-L

Why subcontracted work still gets two codes. Most people drop a sub's scope into one lump-sum CBS line and call it done. That hides the GC's own cost to support that sub. Steel erection inspection labor (05 12 00-L), roofing prep labor (07 50 00-L), and storefront layout labor (08 44 00-L) are real GC hours. On a $210k steel package, your superintendent might burn $6k-$8k just coordinating crane picks and inspecting connections. If that labor hides inside general conditions, your next bid underprices the steel scope by the same amount.

Step 4: Flag the lines outside WBS scope. SOV-G General conditions ($72,000) and SOV-H Final clean and punch list ($18,000) don't map to any of the six WBS work packages. They are overhead and closeout. Keep them in their own SOV billing lines and their own CBS overhead codes, but don't stuff them into a scope work package. Mixing them in destroys your unit-rate benchmarks. If you roll PM time into the slab package, your "slab $/sq ft" is inflated, and your next bid overprices the concrete and underprices the prelims.

Step 5: Find and fix the planted wrong code. 02 41 13-L Demo labor does not belong on this new-build shell. There is no demolition in the scope. Remove it from the job cost list. If any posted hours were miscoded there (common when crews re-use cost codes from a previous job), reclass them to the correct code the same week they hit. Slab prep labor, for example, belongs in 03 30 00-L.

What most people get wrong: they force a one-to-one match. The slab is one WBS work package, but it drives four CBS codes: concrete material, rebar material, placing labor, and pump rental. Blend those into one bucket and you can't explain why WP-1 is over budget until the job is already bleeding. On the other side, they give subcontracted scopes only one CBS code and lose visibility of their own support hours, which run 3%-5% of the sub's package value on a typical retail shell.

Build your starter pack

Your WBS only controls profit when each work package maps cleanly to the Schedule of Values (SOV) you bill and the CBS cost codes you book actuals to. This section gives you three things you can copy straight into your next kickoff: a starter 4-level WBS, a CBS code list, and a filled mapping table linking WBS to SOV to CBS.

Starter 4-level WBS: 14 packages

This example is a $6.8M ground-up commercial office, two stories, structural steel, slab on grade. Adjust for your scope, but keep the four levels: project, phase, discipline, and work package.

Level 1Level 2Level 3Level 4 – Work PackageWBS Code
Office Bldg ASiteworkEarthworkMass grading & cut/fill1.1.1.1
UtilitiesUnderground storm & sanitary1.1.2.1
PavingAsphalt lot & curb1.1.3.1
StructureFoundationsSpread footings & grade beams1.2.1.1
ConcreteSlab on grade, Bldg A1.2.2.1
Structural steelErect steel frame & deck1.2.3.1
ConcreteElevated slab, 2nd floor1.2.4.1
EnvelopeExt. wallsMetal panel cladding1.3.1.1
GlazingCurtain wall & storefronts1.3.2.1
RoofingTPO roof system1.3.3.1
InteriorFramingMetal stud & drywall1.4.1.1
FinishesFlooring, paint, ACT ceilings1.4.2.1
SpecialtiesToilet accessories & signage1.4.3.1
MEPMechanicalHVAC rough-in & trim1.5.1.1

CBS code list

Two segments: MasterFormat division (trade) plus cost type. Five cost types cover everything: L (labor), M (material), E (equipment), S (subcontract), O (overhead/general conditions).

CBS CodeDescription
01 50 00-EGeneral conditions – equipment (pumps, hoists, temp power)
01 50 00-OGeneral conditions – overhead (insurance, supervision, dumpsters)
02 20 00-SEarthwork – subcontract
03 20 00-MRebar – material
03 30 00-LCast-in-place concrete – labor
03 30 00-MReady-mix concrete – material
05 12 00-SStructural steel – subcontract
07 54 00-STPO roofing – subcontract
08 44 00-SCurtain wall – subcontract
09 29 00-SDrywall – subcontract
09 65 00-MFlooring – material
09 91 00-LPainting – labor
23 00 00-SHVAC – subcontract

WBS-to-SOV-to-CBS mapping table

Each row links one work package to the owner-facing SOV line and every CBS code where cost lands. The slab-on-grade row maps to four CBS codes, proving the "one WBS, many CBS" pattern works.

WBS CodeWork PackageSOV LineSOV ValueCBS Codes (linked)
1.1.1.1Mass grading & cut/fillLine 2 – Sitework$310k02 20 00-S
1.2.1.1Spread footings & grade beamsLine 3 – Foundations$420k03 30 00-L, 03 30 00-M, 03 20 00-M
1.2.2.1Slab on grade, Bldg ALine 4 – Concrete (SOG)$385k03 30 00-L, 03 30 00-M, 03 20 00-M, 01 50 00-E
1.2.3.1Erect steel frame & deckLine 5 – Structural steel$1,180k05 12 00-S
1.3.1.1Metal panel claddingLine 7 – Exterior walls$540k07 42 00-S
1.3.2.1Curtain wall & storefrontsLine 8 – Glazing$620k08 44 00-S
1.4.1.1Metal stud & drywallLine 10 – Drywall$290k09 29 00-S
1.5.1.1HVAC rough-in & trimLine 12 – Mechanical$780k23 00 00-S, 01 50 00-E

Notice that SOV lines are often coarser than WBS packages. That's fine. Two WBS packages can feed one SOV line. Just never let one WBS package split across two SOV lines, or you'll double-count earned value.

Kickoff checklist

  • Confirm every WBS work package has exactly one owner (superintendent or foreman), not shared.
  • Lock your overhead rule on day one: insurance, taxes, supervision, temp power, and dumpsters stay in CBS overhead codes (01 50 00-O), never buried inside scope packages where they get "earned" by accident.
  • Set a weekly update rhythm: every Tuesday by 2pm, collect three numbers per work package: percent complete, committed cost (subcontracts and POs), and cost-to-date (invoices and sub pay apps).
  • Route every Change Order through the structure before it hits job cost. Name the WBS package, update the SOV line, add or revise CBS codes. A $45k MEP change that skips this step pollutes your original-scope cost history permanently.
  • Attach one proof document to each work package for progress discipline: daily report, inspection sign-off, delivery ticket, or punch list closeout.

What to learn next

  • Cost-to-complete (ETC) forecasting, weekly ETC built from committed cost and cost-to-date shows a blown buyout early enough to fix it with scope, sequence, or procurement decisions.
  • Earned Value Management (EVM) basics, once WBS percent complete is clean, you read cost and schedule performance together instead of arguing about "how far along" a trade is.
  • AIA pay apps and SOV governance, the SOV drives cash and retainage timing. A messy SOV forces bad workarounds in cost coding for the rest of the job.

Clean structure beats heroics. It keeps field, PMs, and accounting talking about the same work in the same week. In Archdesk, the CVR view ties cost-to-date, committed cost, and forecast final account back to this same WBS-and-CBS mapping as POs and subcontractor pay apps land, so a $120k gap between earned value and actual cost shows up while you can still negotiate a backcharge, rebid a package, or cut scope rather than eat it at closeout.

Frequently Asked Questions

What is a Work Breakdown Structure (WBS) in construction and how is it different from a schedule?

A WBS is a scope tree that breaks a project into deliverables the owner can physically receive or inspect. It answers "what gets built," not "when it gets built" or "what it costs." A 4-level WBS on a $1.8M retail shell might have 14 work packages, each one a handoff-ready piece of work like "pour slab on grade" or "install HVAC system." The schedule sequences those packages in time, but the WBS defines them.

What is the difference between WBS and CBS on a construction project?

WBS breaks down what you're building. CBS (Cost Breakdown Structure) breaks down where every dollar lands. Think of a recipe versus a grocery receipt. You keep them separate but linked so one WBS activity like "install grid ceiling in Suite 210" can drive costs across multiple CBS codes such as labor, materials, and equipment rental.

How does one WBS activity connect to multiple CBS cost codes?

A single WBS work package like "Install HVAC System" on a $2.4M retail shell can drive four or more CBS codes: mechanical labor, ductwork materials, equipment rental, and subcontract costs. You build a mapping table that ties each WBS line to every CBS code where dollars will land. This one-to-many link is what lets you track real cost against earned scope, not just against a budget line.

How do I link my WBS to the AIA Schedule of Values for billing?

Each WBS work package maps to one SOV billing line, and your SOV lines must add up to the exact contract value with no rounding or miscellaneous plugs. On an AIA A101 contract, every SOV line needs a matching WBS deliverable the owner can verify on site. If an SOV line doesn't tie to a WBS package, your pay app is likely to get cut or held.

How many levels should a construction WBS have?

Four levels work well for most GC-led projects up to about $5M. Level 1 is the whole job. Level 2 is major deliverables like "Structure" or "Building Envelope." Level 3 is work areas or systems. Level 4 is the work package you actually assign, cost, and bill against. Going beyond four levels on a straightforward project adds admin without improving cost control.

What is the most common mistake contractors make when setting up a WBS?

Mixing scope with cost categories. If your WBS includes lines like "delivery fees" or "general conditions overhead," you've turned it into a cost breakdown and lost the ability to measure physical progress. Every WBS line should be something an owner or superintendent can walk the site and verify, like "install storefront glazing," not something that only shows up on an invoice.

How does the WBS-to-CBS mapping affect my job cost reporting?

A clean mapping lets you compare earned value on a deliverable against actual costs across all related CBS codes every week. On an 18-week retail shell, tracking cost-to-complete at the work package level catches overruns 3 to 5 weeks earlier than tracking against lump-sum budget lines. Without the mapping, your job cost report tells you what you spent but not whether the spending matches real progress.

Do I need separate WBS and CBS structures if I'm a specialty subcontractor?

Yes. Your WBS covers the deliverables in your subcontract scope, like "rough-in mechanical for zones 1 through 4." Your CBS tracks where dollars land: trade labor, fittings, sheet metal, equipment. Keeping them separate lets you split labor plus material on any work package. That split is what tells you whether a CBS code is bleeding margin or whether the whole deliverable is the problem.

Trusted by construction companies small and large around the globe

Ready to Get Started?

You are one easy step away from the future of construction management. It's really that simple.

Get Started
Software Advice logo
Capterra logo
GetApp logo