Your $18,000 fence job can lose $2,000 before you ever dig the first post hole. You bid it in March at March lumber prices, the homeowner took six weeks to sign, your supplier repriced twice, and by the time your crew mobilizes, the materials cost 15% more than your estimate assumed. The labor went fine. The crew went fine. The math quietly failed — and no one noticed until the job P&L came out the other side.
Fence and deck contractors live in the gap between bid day and build day. This guide shows how to price by the linear foot and square foot without fooling yourself, how to handle lumber volatility in your quotes and your books, why customer deposits are liabilities instead of revenue, how to run a work-in-progress schedule on short-cycle jobs, and where sales tax, licensing, and workers' comp classification trap outdoor builders.
Price by the Unit — Then Price Everything the Unit Hides
Fences sell by the linear foot and decks sell by the square foot, and those units are the right starting point. In 2026, installed fence pricing runs roughly $8–$25 per linear foot for chain link, $15–$45 for wood privacy, $20–$55 for vinyl, and $25–$75 for aluminum or ornamental metal, with most residential jobs landing in the $25–$35 range. Decks run roughly $15–$30 per square foot installed for pressure-treated wood and $35–$60 for composite, with a typical 300-square-foot deck totaling $4,500–$22,500 depending on material and complexity.
But a unit price is a container, not a cost. The contractors who lose money on "standard" jobs are the ones whose per-foot number silently absorbs everything below. Break every bid into line items your bookkeeping can later reconcile against actuals:
- Materials at current supplier pricing, with the quote date stamped on the bid. Lumber yards reprice frequently; a per-foot rate built on last month's picket price is already stale.
- Gates, hardware, and caps as separate lines. A double-drive gate with steel framing can cost more than 30 feet of fence run, yet it routinely gets folded into a blended rate.
- Removal and disposal of the old fence or deck, including dump fees. Tear-out labor and disposal often add 10–15% to a replacement job.
- Terrain and access adjustments: rocky soil that needs an auger or jackhammer, slopes that require stepping or racking, narrow gates that force hand-carry instead of machine work.
- Footings, stairs, and railings on decks, priced separately from decking surface. Code-required railings and multi-level stairs are where square-foot pricing breaks down fastest.
- Permits, surveys, and utility locates. Many municipalities require a permit for fences over a height threshold and for virtually all attached decks. Private locates for irrigation and landscape lighting are on you, not the 811 ticket.
Build a bid template your books can read
Use the same cost codes on the estimate and in the accounting system: materials, direct labor, labor burden, equipment, subcontractors, permits and fees, and disposal. When the job closes, compare estimated versus actual by code, not just by total. If materials run 8% over on three consecutive jobs while labor hits exactly, you have a purchasing problem, not a crew problem — and only code-level job costing tells you that.
Lumber Volatility Is a Contract Problem Before It Is a Bookkeeping Problem
Framing lumber futures traded near $560 per thousand board feet in September 2026, down from an eight-month high above $630 in June — and that whiplash happened inside a single building season. Canadian softwood, roughly a quarter of US supply, carries a combined duty burden in the 35–45% range after successive rounds of countervailing duties, antidumping duties, and Section 232 tariffs. Mill curtailments and wildfire disruptions add supply shocks on top of the tariff floor. For a fence or deck contractor, lumber is not a stable input with occasional noise. It is a volatile commodity that happens to be your largest job cost.
Protect the bid first:
- Put an expiration date on every quote. Seven to fourteen days is standard in volatile markets. A 30-day quote on a lumber-heavy job is a free option you are giving the homeowner.
- Write a material-escalation clause into the contract. A simple version: if specified lumber items increase more than 5% between contract signing and material purchase, the contract price adjusts by the documented difference. Customers accept this far more readily than contractors expect, especially when you show the supplier quote alongside the bid.
- Buy ahead on signed jobs. Once the contract is signed, lock pricing with your supplier or take delivery to your yard the same week. The gap between signature and procurement is where margin evaporates.
- Treat composite and vinyl as volatility hedges, not just upsells. Manufactured materials reprice less often than dimensional lumber. When lumber spikes, your composite deck margin holds while competitors' wood bids go underwater — a genuine selling point, not just a nicer product.
Then reflect reality in the books. Record materials at actual cost against the job, and track a simple variance — estimated materials versus actual materials — on every closed job. If your estimator consistently prices lumber 5% under purchase cost, raise the estimating factor; do not just hope the next quarter is calmer. Some contractors keep a standing "lumber contingency" line of 3–5% on wood-heavy bids during volatile periods and release it to margin when prices hold. That is honest estimating, and it beats explaining a loss.
Customer Deposits Are Liabilities, Not Revenue
The $6,000 deposit check for the Johnson deck is not income. It is a liability — money you owe in the form of future work — and booking it as revenue is the single most common bookkeeping error in small contracting shops. It overstates income, understates obligations, and makes a busy bidding season look profitable months before the work proves it.
The correct treatment is simple: deposits hit the balance sheet as customer deposits or unearned revenue, a current liability. As you perform the work and bill progress, you move amounts from the liability account to revenue. If the job cancels before you start, the liability tells you exactly what you owe back.
Deposits are also capped by law in several states, and the caps are lower than most contractors assume. California limits home-improvement down payments to $1,000 or 10% of the contract price, whichever is less — on a $30,000 deck, the legal maximum deposit is $1,000, not $3,000. Other states cap deposits or require them to be held in trust, and progress payments generally must track the percentage of work completed. Structure your payment schedule around milestones — deposit, materials delivered, framing complete, final walkthrough — and keep each invoice tied to observable progress. California also capped retention at 5% on private projects starting in 2026, so check your state's current retention rules before withholding more.
Run a WIP Schedule Even on Two-Week Jobs
A work-in-progress schedule sounds like heavy-civil accounting, but any contractor with more than one open job needs one. The WIP schedule lists every open job with contract value, costs incurred to date, billings to date, estimated total cost, and percent complete. Its two headline numbers are overbilling (you have billed more than you have earned — a liability) and underbilling (you have earned more than you have billed — an asset, and a cash-flow warning).
Fence and deck jobs are short — often a few days to a few weeks — so contractors assume WIP does not apply to them. It applies at every month-end when jobs straddle the close, and it applies to backlog management: a contractor with $200,000 in signed backlog and $40,000 in the bank needs to know which jobs are front-loaded on billing and which will consume cash before the next milestone invoice. Update the schedule monthly at minimum, job by job, from actual costs — not from the owner's gut feel of "about 60% done."
For taxes, most fence and deck shops qualify for the small-contractor exception to the percentage-of-completion rules: contracts expected to finish within two years, with average gross receipts under the inflation-adjusted threshold ($32 million for 2026), can generally use the completed-contract method or other permissible methods instead of percentage-of-completion. Short-cycle residential work rarely triggers the long-term contract rules at all when jobs start and finish in the same tax year. But "completed contract for taxes" does not mean "no WIP schedule for management." The tax method decides when you recognize income; the WIP schedule decides whether you understand your business. Keep both, and do not confuse them.
Sales Tax: Improvements Versus Repairs Changes Everything
In many states, the sales tax treatment of a fence or deck job turns on whether the work is a capital improvement or a repair — and the two are taxed in opposite directions. New York is the classic example: when a contractor performs a capital improvement to real property and collects a signed Certificate of Capital Improvement (Form ST-124) from the customer, no sales tax is charged on the invoice at all, but the contractor must pay sales tax when purchasing the materials. The contractor is the end consumer of those materials. On a repair or maintenance job, the treatment flips: the contractor charges sales tax on the full invoice, materials and labor alike, and can generally buy the materials for resale.
For fence and deck contractors, the trap is the mixed job. Building a brand-new deck is squarely a capital improvement; replacing six rotted deck boards and re-screwing a railing is a repair. Replacing an entire failed fence with a new one usually qualifies as an improvement, while resetting leaning posts after a storm looks like a repair. The classification follows the nature of the work, not the size of the invoice, and state guidance runs to dozens of pages of examples.
Three habits keep you clean:
- Get the exemption paperwork before you invoice, not after. A missing ST-124 (or your state's equivalent) turns a tax-free improvement invoice into an uncollected-tax liability in an audit.
- Never use an improvement certificate to buy materials tax-free. The certificate exempts your charge to the customer; you still owe tax at the supplier. Auditors check both sides.
- Split mixed jobs on the invoice. If one visit includes both improvement work and repair work, separately state the charges so each line gets the correct treatment.
Rules vary enormously by state — some states exempt separately stated installation labor, others tax the full contract price, and a few treat contractors as retailers on every job. Look up your state's contractor guidance once, write the rule down in your estimating notes, and revisit it when you take work across a state line.
License, Insurance, and the Two Comp Codes That Price Your Payroll
Outdoor contracting has low barriers to entry and high compliance variance. California requires a contractor license for any job of $1,000 or more in combined labor and materials, with a dedicated C-13 fencing classification and deck work generally falling under a general building or carpentry classification. Other states range from no license at all for fences to full general-contractor requirements above thresholds like North Carolina's $40,000 mark under N.C.G.S. § 87-1. Verify the threshold in every jurisdiction you work — city rules can be stricter than state rules — and never split one project into smaller invoices to duck under a limit. Regulators explicitly prohibit that.
On insurance, the expensive mistake is workers' comp misclassification. Fence installation has its own NCCI class code — 6400, covering metal, vinyl, wood, and prefabricated fence installed by hand — while deck carpentry typically falls under carpentry classifications such as 5651 for dwellings three stories or less. The rates differ, and auditors reclassify payroll that cannot prove which hours belonged to which trade. If your crews do both, track hours by job type on timesheets so the premium audit allocates payroll correctly instead of defaulting everything to the higher-rated code. Collect certificates of insurance from every subcontractor before they set foot on site, and diarize renewals — an expired sub certificate at audit time becomes your payroll at your rate.
The Five Numbers That Run a Fence and Deck Shop
Monthly financials tell you what happened. These five metrics tell you what is happening — and they are exactly the kind of per-job trends that are easier to spot on a visual dashboard like Fava than in a spreadsheet:
- Gross margin per job and per unit. Know your margin per linear foot by fence type and per square foot by deck material. If vinyl fence holds 42% and wood privacy holds 28%, your marketing should know that before your estimator does.
- Labor cost as a percentage of revenue, fully burdened with taxes, workers' comp, and benefits. A crew that looks efficient at $25 an hour costs over $33 loaded — bid the loaded number.
- Estimate-to-actual variance by cost code, as described above. Persistent misses in one code are a process failure with a known address.
- Overbilling and underbilling from the WIP schedule. Chronic underbilling means your payment milestones lag your costs; persistent overbilling across the backlog can mask jobs that are quietly going over budget.
- Callback and warranty rate. Track rework hours per job. A deck crew with a 6% callback rate is not 6% worse than a 1% crew — callbacks consume your best people during peak season, when their hours are worth the most.
Review these in a standing monthly session with whoever estimates and whoever runs the crews. The estimator who never sees actuals keeps bidding fantasy numbers; the foreman who never sees margins cannot know which shortcuts cost money and which save it.
Keep Your Outdoor Builds Profitable From Bid to Final Walkthrough
Every section above is the same lesson in different clothes: fence and deck profit is made in the estimating spreadsheet and verified in the job-cost ledger, and contractors who merge the two — same cost codes on the bid and in the books, deposits as liabilities, a monthly WIP even on short jobs — catch problems while there is still time to fix them. Sloppy books do not just risk an audit or a tax surprise; they let you repeat the same underpriced bid all season because nothing told you it lost money.
Beancount.io gives you plain-text accounting with complete transparency into every job — version-controlled records you own, structured data your estimator and your accountant can both read, and AI-ready ledgers that make variance analysis a query instead of a weekend project. Get started for free and build the next fence season on numbers you trust.





