Key takeaways
- A bookkeeping system for a building company has to do two jobs at once: satisfy the record keeping obligations that sit behind your BAS and income tax position, and produce job costing that tells you whether each project made or lost money while you can still act.
- The chart of accounts is the load-bearing element; if cost of sales is not separated from overheads and each job is not a tracking category, no report you run afterwards will be reliable.
- Retention, progress claims and work in progress have to be represented in the accounts as they arise, because a profit-and-loss statement built on cash movements alone will misstate the position of every job that straddles a reporting period.
- Record keeping duties attach to the business, not to the software, and records have to be kept in a form the ATO will accept and for the period the law requires, so back-ups, access and retention are part of the system design.
- The financial and personal information you hold about clients, employees and subbies is a privacy and cyber risk as well as an accounting one, so access control, payment verification and a documented process for handling a breach belong in the same setup conversation.
Most builders who ask about bookkeeping systems are really asking about job costing. The accounts are usually in reasonable order — the bank reconciles, the BAS gets lodged, the accountant is not complaining — but the numbers do not answer the only question that matters mid-project: is this job making money, and if not, where is it going.
The reason is structural. A bookkeeping file set up for a trade or a retail business records income and expenses in the period they occur. A building company needs the same file to record costs against a job, and to hold the parts of a job that are not yet income or expense — retention held, progress claims raised but not yet earned, work in progress at the end of a reporting period. Get the structure right at the start and the tax reports fall out of it. Get it wrong and no amount of reporting later will fix it.
This article deals with the framework: the chart of accounts, the job costing structure, the month-end routine, and the record keeping and privacy duties that sit around the file. It does not cover the tax treatment of any particular item, which is a conversation with your accountant, or the forward-looking cash position, which is covered in our article on supplier accounts and credit terms.
Two jobs, one file
Every bookkeeping decision you make has to satisfy two audiences. The first is the Australian Taxation Office, which requires records that explain your transactions, are kept in a form that can be produced if asked, and support the figures in your BAS and income tax return. The second is you, standing on site on a Tuesday, wanting to know whether the framing package on lot 14 has blown its allowance.
These two audiences are not in conflict, but they do drive different design choices. The tax audience wants completeness and a clean audit trail. The job costing audience wants granularity and speed — costs coded to the right job the day the invoice arrives, not at the end of the quarter when the memory of why a delivery was short has faded.
Where builders come unstuck is treating the tax obligation as the whole job. A file that only satisfies the ATO will produce a profit figure for the business that is accurate in aggregate and useless in detail. You will know the company made a margin last year. You will not know which of the eleven jobs produced it.
Lead in. The mistake that costs the most is running job costing on a cash basis and only closing it out at practical completion. By the time the true cost of a job is visible, the contract is signed, the subbies are paid and there is nothing left to recover — the loss is already banked, and it shows up as a bad year rather than a bad job you could have arrested in week three.
Build the chart of accounts around the job, not around the tax return
The chart of accounts is the load-bearing element of the whole system. It is also the part most builders inherit from whoever set the file up, which usually means it was built to make the accountant’s year-end work easy rather than to make a job readable in progress.
The single most important split is between cost of sales and operating expenses. Cost of sales is everything that is consumed by a specific job: materials, subcontractor claims, labour you charge to the job, plant hire, waste removal, hire of equipment, and the like. Operating expenses are the costs of having a business at all: insurance, registrations, the ute, the office, software, accounting fees. If these two are mixed, your gross margin is a fiction and every pricing decision you make off it is built on sand.
Within cost of sales, the categories should mirror how you actually buy. If you let a single framing subcontract that includes labour and materials, you do not need separate framing labour and framing materials accounts — you need a framing subcontract account. Categories that do not match the way you purchase create work at data entry time and produce reports nobody reads.
Two further splits earn their keep. The first is variations: variation income and variation cost should be separated from the original contract, because a job that held its contract margin and gave away the variations is a different problem from a job that lost money on the base scope. The second is retention, which needs its own balance sheet accounts on both sides — retention you are holding from subbies and retention being held from you by the client.
Chart of accounts checks before you enter a single transaction
- Cost of sales is a separate top-level group from operating expenses, not mixed into one expense pile.
- Every direct cost category you actually buy is represented: materials, labour, subcontractors, plant hire, waste, hire of equipment.
- Variation income and variation cost are separated from original contract income and cost, so you can see whether variations are priced to make money.
- Retention receivable and retention payable exist as balance sheet accounts, not as a note in a spreadsheet.
- Work in progress has a home on the balance sheet so jobs spanning a reporting period are not silently misstated.
- GST collected and GST paid are tracked to their own accounts so the BAS reconciliation has somewhere to land.
- Every job is set up as a tracking category, class or project, and the same job code is used by everyone who touches a bill or invoice.
If you are pricing work at the moment, the chart of accounts is also what feeds your estimating feedback loop. The article on pricing and margin for residential builders deals with how to use that cost history when you set a price; the point here is that the history only exists if the accounts capture it at the right level of detail.
Job costing: tracking categories, job codes and the discipline that holds them together
Most accounting platforms let you tag a transaction to a job through a tracking category, class, project or location field. The mechanism matters less than the rule: every transaction that belongs to a job gets tagged to that job, at the moment it is entered, by the person who enters it.
The failure mode is familiar. The accounts person codes an invoice to “materials” because they do not know which job it belongs to, intending to sort it out later. Later never comes, or comes three months on when the invoice has been filed and the delivery docket thrown out. The job costing report then shows the job with a materials cost that is too low, the business with an overhead figure that is too high, and both numbers wrong in a way that looks plausible.
Fix this with process rather than exhortation. Require a job code on every supplier invoice and subcontractor claim before it is entered, and give the accounts person a way to get one — a job list with addresses, a site contact, a shared inbox where the supervisor forwards dockets. A purchase order system, even a simple one, solves most of it, because the PO carries the job code from the moment the order is placed.
Set up job codes so they survive the whole life of the job and can be matched to the contract. A code that includes the client surname and the year is easy to read; a code that includes the estimator’s initials is not. Once a job reaches practical completion, close the tracking category to new transactions and keep it open for reporting, so post-completion costs — defects, retention releases, final subcontractor claims — have somewhere to go that is not the current job.
Retention, progress claims and the accounts they belong in
Residential building work is paid in progress claims, and each claim represents work done but not necessarily yet entitled to be recognised as income. This is where a bookkeeping file that only records bank movements starts to mislead.
When you raise a progress claim, you are creating a receivable. When the client pays it, the receivable clears. If you have spent money on the job before the claim is raised, you have costs in the accounts with no matching income — that is work in progress, and it belongs on the balance sheet, not buried in the profit and loss as a loss-making month.
Retention compounds this. Retention you hold from a subcontractor is not your money until the defects liability period ends and you release it; it is a liability sitting on your balance sheet. Retention held from you by the client is an asset, even though the cash is not in your account. A file that treats retention as a cash timing issue will overstate profit in the year the job completes and understate it in the year the retention is released, in both cases for no reason other than the accounting.
The practical setup is straightforward: a retention receivable account, a retention payable account, a work in progress account, and a month-end adjustment that brings each to its correct balance. Your accountant will tell you the method they want used for measuring work in progress; your job is to make sure the data feeding it — costs to date, claims raised, retention held — is captured consistently on every job.
The month-end routine that keeps the numbers honest
Job costing decays. Every week that passes without coding invoices to jobs makes the report slightly less true, and the point at which it becomes actively misleading arrives quietly. A monthly close, performed on the same days every month, is what stops the decay.
The close is not primarily an accounting exercise. Its purpose is to produce a cost-to-date-against-budget report for each active job while there is still time to do something about the variance. That report is only as good as the data entry behind it, so the sequence matters: capture, reconcile, review, adjust, report.
Two things go wrong most often. The first is unreconciled accounts — a credit card used for fuel and small purchases that has not been reconciled for two months, with a growing balance in a suspense account that nobody can explain. The second is unclaimed costs: a subcontractor who has done the work but not yet sent the claim, so the job looks better than it is until the claim arrives and lands in the following period. If you know a cost has been incurred, accrue it, even roughly, so the job report is not lying to you.
A monthly close that actually closes
- 1Capture everythingEnter or import supplier bills, subcontractor claims, wages and plant costs against the correct job code before the month is reviewed, not after.
- 2Reconcile the bank and the cardsReconcile every account to the statement, including the credit card you use for fuel and small purchases, so nothing sits in a suspense account.
- 3Review the job costing reportRun cost-to-date against budget for each active job and read the variances; a variance you cannot explain is usually a coding error or an unclaimed bill.
- 4Post the period adjustmentsBring retention, work in progress and any accrued costs to account so the month reflects what has actually happened on site.
- 5Report and actGive the figures to whoever prices and runs the jobs, and change something before the next progress claim rather than after practical completion.
Who does the close matters less than that it is done by the same person, on the same timetable, and that the report goes to someone who can act on it. In a small company that is often the same person who prices the work, which is fine — the value is in the regularity, not the separation of duties.
Worked example: a builder in western Sydney who could not see the loss
Consider an unnamed builder in western Sydney running four to six new homes a year, with an accounts person working two days a week and the director running the sites. The file had been set up years earlier by a bookkeeper who coded everything to a broad “materials” and “subcontractors” account, with no job tracking. The profit and loss statement was prepared annually by the accountant, and it showed a reasonable margin each year.
What it did not show was that two of the six jobs in the previous year had made a loss while the other four carried the business. The director only discovered this when the accountant prepared the year-end figures, by which time both jobs were at practical completion and the losses were irreversible. The cause was not dramatic: variations on both jobs had been priced at cost with no margin, and the framing subcontract on one had been re-let after a delay, at a higher figure, with the additional cost never separated from the original subcontract.
The fix was not a new accounting platform. It was a restructure of the existing file: cost of sales separated from overheads, job tracking categories created for every job, variation income and variation cost split out from the base contract, and a monthly close that produced a one-page cost-to-date report per job. Within two months the director could see that a current job was running over on its wet area waterproofing allowance while there was still time to have the conversation with the tiler and the client about the scope. The same job would previously have been discovered as a loss eight months later.
The cost of the restructure was a few days of the accounts person’s time and a session with the accountant on the work in progress method. The cost of not doing it was already in the previous year’s figures.
Record keeping duties you cannot delegate away from the business
The ATO’s record keeping guidance for business is clear that records must be kept that explain your transactions and support the figures you report, and that they must be kept for the period the law requires. That obligation sits with the company, not with the bookkeeper, the accountant or the software provider.
In practice this means a few things for a building company. Supplier invoices, subcontractor claims, progress claims you issue, bank statements, wage records and contracts all form part of the record set, and they need to be stored somewhere that survives a laptop dying and a bookkeeper leaving. If you are using accounting software with document attachment, use it consistently — an invoice attached to the transaction it belongs to is far more useful in an audit or a dispute than a PDF in an email folder.
It also means you need to be able to produce records in a form the ATO will accept, which for most builders means electronic records with a clear audit trail. If you are moving from a paper system, do not destroy the paper until you have confirmed the electronic copy is complete and legible, and check the current retention requirement rather than relying on what someone told you years ago.
Where a requirement matters to a specific decision — how long to keep a particular class of record, what form an electronic record must take — check the current requirement on the ATO’s record keeping guidance rather than working from memory.
Privacy, access and cyber security as bookkeeping design decisions
A bookkeeping file for a building company holds personal information: client names and addresses, employee details, subcontractor ABNs and bank accounts, sometimes copies of identification. The Office of the Australian Information Commissioner publishes privacy guidance for small business, and the obligations it describes apply to you whether or not you think of yourself as holding personal information.
The practical implications for system setup are modest but real. Access to the accounting file should be limited to the people who need it, with individual logins rather than a shared password, and revoked promptly when someone leaves. Subcontractor bank account details should be verified by a callback to a known number before any change is actioned, because payment redirection fraud targets exactly this information. Back-ups should be automatic and tested, not assumed.
The Australian Signals Directorate’s small business cyber security guidance is written for businesses without an IT department and covers the basics that matter here: multi-factor authentication on your accounting software and email, patching, and a plan for what you would do if you lost access to the file or found it had been accessed by someone who should not have it. A bookkeeping system that is easy to access from a phone on site is also a system that needs those controls in place.
If you hold client information and something goes wrong, there may be obligations to notify. Know in advance who in the business makes that call and how you would contact affected clients, rather than working it out during the event.
Choosing and setting up the platform
Most residential builders are well served by one of the mainstream cloud accounting platforms, provided it supports job tracking, document attachment and multiple user logins with individual permissions. The differentiator is rarely the software; it is whether the structure inside it matches how you run jobs.
When you set up or rebuild the file, work in this order. Define the job coding convention and write it down. Restructure the chart of accounts so cost of sales is separate from overheads, with categories that match how you buy. Create the retention, work in progress and GST accounts. Turn on job tracking and set up a tracking category for every current job. Connect the bank feeds and reconcile every account to a zero suspense balance. Then run one full monthly close and produce one cost-to-date report per job, and read it.
If you are doing this alongside your CPD obligations, the record keeping and business management side of the PointCPD course catalogue covers the same ground from the compliance angle, and the guide to how NSW builder CPD works explains how those hours fit the annual requirement. If you have not yet registered, start at the PointCPD home page for NSW builder CPD courses.
The test of whether the setup has worked is not whether the year-end accounts are correct. It is whether, on any given week, you can open a report and see which jobs are tracking to their allowances and which are not, with enough time left to do something about it. Everything else in the bookkeeping system exists to serve that.
Questions builders ask
Do I need a separate accounting platform from my trade software for job costing?
Not necessarily. What matters is that every direct cost is tagged to a job at the point of entry and that cost of sales is separated from overheads. Some builders run job costing inside their construction management software and only push summary figures to the accounting file, which works provided the detail stays available and reconciles to the accounts. Others run everything in the accounting platform. The structure matters more than which tool holds it.
How should I handle retention in my bookkeeping?
Retention needs its own accounts on both sides of the ledger: retention you hold from subcontractors is a liability, and retention held from you by a client is an asset. Treating retention as a cash timing issue overstates profit in the year a job completes and understates it in the year the retention is released. Set up the accounts, post the movements as they arise, and let your accountant confirm the measurement method.
What is work in progress and why does it matter for a builder?
Work in progress is the cost you have incurred on a job that has not yet been matched to income, typically because the work is done but the progress claim has not been raised or earned. It sits on the balance sheet rather than in the profit and loss. Without it, a job that is halfway through will show as a loss-making month followed by an unusually profitable one, and neither figure reflects what actually happened.
How long do I have to keep business records?
The ATO sets a retention period for business records, and it varies with the type of record and the circumstances, so check the current requirement on the ATO record keeping guidance rather than relying on what you were told when you started. The practical point for system design is that your storage has to survive well beyond the life of the job, including the defects liability period and any later review.
Can my bookkeeper code invoices without knowing which job they belong to?
They can, but the job costing report will be wrong and it will look plausible. Require a job code on every supplier invoice and subcontractor claim before entry, and give whoever does the coding a reliable way to get one, such as a job list with site addresses or a purchase order that carries the code from the start. Unallocated costs tend to end up in overheads, which hides job losses and inflates your apparent margin.
What privacy and security controls belong in a bookkeeping setup?
Individual logins rather than a shared password, access limited to people who need it and revoked when they leave, multi-factor authentication on the accounting software and email, verified bank details for subcontractors before any payment change, and automatic back-ups that you have tested. The OAIC publishes privacy guidance for small business and the Australian Signals Directorate publishes small business cyber security guidance, both of which are worth reading before you finalise the setup.
Sources
- Budget 2026–27: Tax reform · Australian Government · 2026-05-12
- Record keeping for business · Australian Taxation Office
- Small business cyber security · Australian Signals Directorate
- Privacy for small business · Office of the Australian Information Commissioner
Published 27 July 2026. General information for builders, not legal, financial or engineering advice for a specific job. Check current requirements with the relevant regulator or standard before relying on them.
