Construction accounting
Construction accounting and bookkeeping services
Construction accounting is not general bookkeeping with different account names. Revenue arrives in draws, costs land 30 to 60 days after the work, retainage sits on both sides of the ledger, and a job that penciled at bid can quietly lose money before close-out. We run the books so you know the margin on every job while you can still do something about it.
Built for general contractors, subcontractors, remodelers, home builders, and specialty trades running $500K to $25M in annual volume.
Why construction accounting is its own discipline
Most bookkeepers close a month by reconciling the bank and calling it done. In construction that produces a P&L that is confidently wrong. The revenue you billed this month was earned across three prior months, the supplier invoice for last month's framing package has not arrived yet, and the deposit sitting in your operating account is not income at all.
Construction accounting fixes the timing. Costs get matched to the job and the period they belong to, revenue gets recognized as work is actually completed, and the balance sheet carries the things a bank and a bonding agent look for first: retainage, over/under billings, and customer deposits.
- Costs accrued to the correct job and period, not the month the invoice showed up
- Revenue recognized on percentage-of-completion, not on billing
- Deposits and retainage on the balance sheet where they belong
- A margin number you can act on mid-job instead of learning at close-out
Job costing that actually holds up
Job costing fails for boring reasons. Cost codes get invented on the fly, payroll goes in as one lump, equipment time never gets allocated, and within two quarters nobody trusts the job reports enough to open them.
We build a cost code structure once — labor, material, subcontractor, equipment, and other, applied consistently across every job — and then enforce it at entry. Every bill, every payroll run, every credit card charge gets coded to a job and a cost code before it hits the ledger.
- Standard five-bucket cost code structure applied across all jobs
- Payroll allocated to jobs with burden loaded, not raw wages
- Committed costs from open POs and subcontracts shown against budget
- Change orders tracked against original contract value
- Estimate versus actual by cost code, refreshed at every close
WIP schedules and percentage-of-completion
A work-in-progress schedule is the single report that tells you whether your P&L is real. It compares what you have earned against what you have billed, and the difference — over/under billings — is the adjustment that makes your income statement honest.
Underbilling means you have done work you have not invoiced; it is unrecorded revenue and a cash-flow problem. Overbilling means you have collected ahead of the work; it is a liability, not profit, and it is the number one reason a contractor feels rich in June and broke in October.
Retainage on both sides of the ledger
Retainage held on your receivables and retainage you hold back from subs are two separate balances, and QuickBooks Online tracks neither by default. Most contractor files we inherit have retainage buried inside regular AR and AP, which overstates what is collectible in 30 days and understates what you owe at close-out.
We split retainage into its own receivable and payable accounts so your aging reports reflect real, near-term cash and your sub payouts at completion are never a surprise.
Labor burden — the margin killer nobody codes
A $40/hour carpenter does not cost $40. Payroll taxes, L&I or workers' comp, unemployment, benefits, and paid time off routinely add 25 to 35 percent on top of the wage. If you cost jobs at raw wage, every labor-heavy job looks better than it is and you keep bidding the ones that lose money.
We load burden into the job cost so gross margin by job is honest, and we recalculate the burden rate annually as your L&I class rates and benefit costs change.
Sales tax and state compliance — where contractors get burned
Almost every state treats construction differently depending on what you are and what you are building. Prime contractors on private work often collect sales tax on the full contract including labor. Subcontractors to a prime generally do not, provided the resale or exemption certificate is on file. Spec building is frequently a use tax situation. Public work can sit under its own classification entirely.
The details change state to state — Washington's combined excise return works differently from a destination-based sales tax state — but the trap is the same: miscoding across these categories is the most common finding in a state revenue audit, and it compounds quietly for years. We set the tax coding correctly at the item and customer level for the states you work in, reconcile every filing to the general ledger, and keep exemption certificates documented.
- Correct sales tax treatment for prime, sub, spec, and public work
- State-by-state classification by activity, not one blanket rule
- Resale and exemption certificate collection and expiry tracking
- Every state filing reconciled to the GL each period
Subcontractor compliance and 1099s
January is only painful if you started collecting W-9s in January. We collect the W-9 and the certificate of insurance at vendor onboarding, before the first payment goes out, and hold the payment if they are missing.
An uninsured sub is not just a 1099 problem — if they get hurt on your job, their exposure can become your L&I exposure. Tracking the COI expiry alongside the vendor record is cheap insurance.
Your software stack, and where it breaks
We work in QuickBooks Online alongside Buildertrend, Jobtread, Jobber, Knowify, and Hubdoc. Each integration has known failure points, and knowing them in advance is most of the job.
Buildertrend's QBO sync, for example, does not carry sales tax correctly on invoices, which quietly understates what you owe the state. We reconcile the two systems monthly rather than trusting the sync.
- QuickBooks Online set up for job costing from the chart of accounts up
- Buildertrend, Jobtread, Jobber, and Knowify reconciled to QBO monthly
- QuickBooks Desktop to Online migration on a fixed fee, history preserved
- Receipt capture and AP approval workflow so coding happens once
What a WIP schedule actually shows
A simplified two-job example. Job A is underbilled — real revenue you have not invoiced yet. Job B is overbilled — cash you are holding that is not profit.
| Job A | Job B | |
|---|---|---|
| Contract value (incl. change orders) | $480,000 | $310,000 |
| Estimated total cost | $400,000 | $250,000 |
| Cost incurred to date | $300,000 | $100,000 |
| Percent complete (cost-to-cost) | 75% | 40% |
| Revenue earned to date | $360,000 | $124,000 |
| Billed to date | $320,000 | $180,000 |
| Underbilling (asset) | $40,000 | — |
| Overbilling (liability) | — | $56,000 |
Without this schedule, Job B looks like $80,000 of profit that does not exist. Bonding agents and construction lenders ask for it first.
How we work with you
- Outsourced accountantMonthly close, job costing, sales tax, and 1099s from $750/mo.
- Outsourced controllerWIP, lender packages, and controller-level oversight.
- Cleanup & catch-upMonths or years of messy books rebuilt and reconciled.
- QuickBooks Desktop to OnlineFixed-fee migration with job costing and history preserved.
Go deeper
- How to job cost in QuickBooks OnlineStep-by-step setup with cost codes and payroll allocation.
- Sales tax for contractors in QuickBooks OnlinePrime vs. sub vs. spec, and how to code each.
- Buildertrend + QBO sales tax problemWhy the sync understates what you owe the state.
- Washington payroll setup in QuickBooks OnlineL&I, PFML, and new-employer registrations.
Local pages across the Puget Sound
We work remotely nationwide, with the deepest coverage — and Washington State compliance detail — across Seattle, Tacoma, and the surrounding cities.
Construction companies
- Construction companies in Seattle
- Construction companies in Tacoma
- Construction companies in Bellevue
- Construction companies in Kirkland
- Construction companies in Redmond
- Construction companies in Bothell
- Construction companies in Kent
- Construction companies in Federal Way
- Construction companies in Puyallup
- Construction companies in Auburn
- Construction companies in Renton
- Construction companies in Lakewood
- Construction companies in Gig Harbor
- Construction companies in Everett
- Construction companies in Olympia
General contractors
- General contractors in Seattle
- General contractors in Tacoma
- General contractors in Bellevue
- General contractors in Kirkland
- General contractors in Redmond
- General contractors in Bothell
- General contractors in Kent
- General contractors in Federal Way
- General contractors in Puyallup
- General contractors in Auburn
- General contractors in Renton
- General contractors in Lakewood
- General contractors in Gig Harbor
- General contractors in Everett
- General contractors in Olympia
Home remodelers
- Home remodelers in Seattle
- Home remodelers in Tacoma
- Home remodelers in Bellevue
- Home remodelers in Kirkland
- Home remodelers in Redmond
- Home remodelers in Bothell
- Home remodelers in Kent
- Home remodelers in Federal Way
- Home remodelers in Puyallup
- Home remodelers in Auburn
- Home remodelers in Renton
- Home remodelers in Lakewood
- Home remodelers in Gig Harbor
- Home remodelers in Everett
- Home remodelers in Olympia
Frequently asked questions
- What is construction accounting?
- Construction accounting is project-based accounting: costs and revenue are tracked per job rather than only company-wide, revenue is recognized as work is completed rather than when invoiced, and the balance sheet carries construction-specific items like retainage, customer deposits, and over/under billings. It exists because a construction company is effectively running a portfolio of separate small businesses at once.
- How is construction bookkeeping different from regular bookkeeping?
- Regular bookkeeping answers how the company did last month. Construction bookkeeping also has to answer how each job is doing right now, which requires job-level cost coding, committed-cost tracking, burdened labor, and a WIP schedule. The monthly close is roughly twice the work.
- Do you handle percentage-of-completion accounting?
- Yes. We maintain WIP schedules with earned revenue, over/under billings, and cost-to-complete, and post the resulting adjustment each month so your financials satisfy bonding agents and construction lenders.
- What does construction accounting cost?
- Our monthly plans start at $750 and scale with transaction volume, number of active jobs, entities, and payroll complexity. Cleanup or catch-up work is quoted separately as a fixed-scope project before monthly service begins.
- Do you file our business tax return?
- No. We do not file federal income tax returns. We deliver tax-ready books and a clean trial balance to your CPA or EA, and we handle state and local sales tax filings and 1099s in the states where you operate.
- Our books are two years behind. Can you still help?
- Yes, and it is common. Cleanup runs as a separate fixed-scope project — rebuilding job cost history, reconciling accounts, and correcting sales tax treatment — and then you move onto a monthly plan once the books are current.
- Do you work with contractors outside Washington State?
- Yes. We are remote-first and work with construction clients nationally — job costing, WIP, retainage, and 1099 processes work the same everywhere. We handle state sales tax setup and filings in the states where you operate, and our deepest state-level expertise is Washington.
Want to know what your jobs actually made?
Tell us what you build, how many jobs are open, and what software you use. We'll tell you exactly what monthly accounting would cover and what it costs.
Book a consultation
Book a call with Ruvim
Tell us a little about your business and we'll follow up to schedule a call — usually same day.
Prefer to reach out directly? We answer most inquiries within a few hours during business days.
Email us
Info@readyaccounting.coCall us
(253) 367-3672