Who We Help · Fence & Deck Builders · Bookkeeping
Fence and deck bookkeeping: deposits are not revenue and lumber is not yet a cost
A fence or deck business collects money before it earns it and buys material before it bills it. Both timing gaps make the bank balance lie, most of all in May when deposits pile up and in October when the last invoices land. We keep the books by job, hold deposits as liabilities until the crew finishes, and cost lumber to the job it built, so your statements show margin instead of cash.
By the AnalytIQ Accounting team · Last reviewed: August 12, 2026
The job is the unit of account, not the month
A fence or deck company does not have a monthly income; it has a run of jobs, each with its own quote, deposit, material list, permit, and final invoice. Books that only sort transactions by month tell you May was good and November was quiet, which you already knew. Books that sort them by job tell you which decks made money, which fence lines lost it to a bad lumber price, and which crew burns more hours per foot than the others.
We run QuickBooks Online with a project per job and connect it to whatever runs the front of the business — Jobber, Housecall Pro, or a spreadsheet and e-transfers. Every quote, deposit, and invoice arrives tagged to its job. Every lumber-yard invoice, auger rental, and subcontractor bill gets the same tag when we code it. At the end of each job you get one number: the gross margin on that build, next to the margin you quoted.
Deposits: a liability, a schedule, and an HST timing question
The deposit you take at signing belongs to the customer until the fence is in the ground. In the books it sits in a customer deposits liability account, one balance per job, and it moves to revenue only when the job is done and the final invoice issues. A business with a strong spring of signings can show a large bank balance and a small profit at the same time; the deposit ledger is what reconciles the two, and it doubles as a backlog report you can read in dollars.
HST on deposits follows a specific rule. A true deposit is not consideration for HST purposes until you apply it against the invoice, so tax is not payable when it lands. The moment you issue an invoice for the deposit, though, the amount becomes due and the HST on it is payable in that reporting period. We set your process one way or the other and keep it consistent, because a builder who invoices deposits in April and remits in July has an HST problem that has nothing to do with profit. Card fees on deposits taken through Square or Stripe are coded to the job, not to a general bank-charges line.
Lumber: bought by the lift, used by the board
Pressure-treated lumber and cedar are rarely bought one job at a time. You buy a lift, the yard delivers, and three jobs draw from it. If the whole invoice is expensed to the first job, that job looks terrible and the next two look brilliant. We split supplier invoices across jobs from the material lists, and treat what is left in the yard as material on hand rather than a cost of anything yet. Composite decking, aluminum railing, and hardware are usually special-ordered per job and post cleanly; they are also the items most often bought from US manufacturers, which is why we keep USD supplier invoices in Canadian books at the rate on the invoice date.
| Transaction | How we record it | Why it matters |
|---|---|---|
| Deposit at signing | Customer deposits liability, by job | Backlog in dollars; HST timing stays correct |
| Lift of PT lumber from the yard | Split to jobs by material list; balance to material on hand | Margin per job is real, not an accident of delivery timing |
| Special-order composite or railing | Direct cost of that job | Shows the true margin gap between wood and composite builds |
| Auger or skid-steer rental | Direct cost of that job | Rentals are a job cost, not overhead, until you own the machine |
| Permit fee paid for the customer | Pass-through billed on the final invoice | Keeps revenue clean and permits visible |
| Subcontractor invoice | Direct labour cost of that job; flagged for the T5018 | Feeds the year-end slip without a search through the bank feed |
| Final invoice | Revenue; deposit applied; HST on the full price | The job closes and the margin report fills in |
A lumber return credit goes back against the job that bought the boards, and a price change between quote and purchase shows up as a material variance on that job. Over a season those variances tell you whether your quotes are keeping pace with the market.
Builder work: holdbacks, T5018s, and slower money
Fencing new subdivisions for home builders is steady work with different paper. Builders pay on terms, and under Ontario's Construction Act they may retain a 10 percent holdback until the lien period runs. We record the holdback as a separate receivable so it is not chased as overdue and not forgotten when the release date comes. Builders will also ask for a WSIB clearance certificate before paying, and because your business is construction, the payments you make to your own subcontractors are reported on T5018 slips rather than T4As. Coding subs correctly through the season means the slips take an hour in the spring, not a weekend.
The close: monthly in season, honest in winter
Receipts go through Dext from the truck, which matters because fuel, fasteners, and blade purchases happen at the counter and vanish otherwise. We reconcile the bank, the card accounts, and the supplier statements every month, including July when nobody wants to look at paperwork. Year-end adds two jobs specific to your trade: valuing the lumber still in the yard, and listing jobs that are partly built at the year-end date so revenue and cost land in the right year. That is also why we keep a fence business on accrual books rather than cash books: cash books cannot tell a deposit from a sale.
The quiet months are when we clean up equipment records, review the chart of accounts, and set the job templates for spring. If you buy composite from US suppliers or ship product south, our cross-border guide for fence and deck builders covers what the ledger needs to capture, and our bookkeeping services page explains the monthly close we run for every client.
Common questions.
Should I record a deposit as income when I receive it?
No. It is a liability until the job is complete and invoiced. Recording deposits as income overstates spring profit, understates fall profit, and confuses the HST timing.
How do you split one lumber invoice across several jobs?
From your material or cut lists. Each job takes its share at cost, and what remains in the yard stays on the balance sheet as material on hand until a job uses it.
Do I file T4As or T5018s for my subcontractors?
If construction is more than half of your business income, payments of $500 or more to subcontractors for construction services go on T5018 slips, due within six months of your fiscal year-end.
Related reading
Books that follow the crew, job by job.
Book a consultation and get a plain answer on exactly what applies to you.