
The email is four sentences. "Per Section 12 of the subcontract, we are exercising our right to audit. Please provide backup for all time-and-material invoices on the east wing, March forward, within fifteen days."
That is an electrical contractor T&M invoice audit by the owner, and it is a different animal from a customer calling to argue about one bill. It is retroactive, it is job-wide, and it is run against documents — not against your memory of the job.
Nothing in that email says you did anything wrong. An audit-rights clause is a contract term the owner paid for, and on a long T&M job somebody in their office eventually uses it.
What decides the outcome is not how well you argue. It is whether the hours you already billed are tied to a record written on the day the work happened.
This page is that record set: what gets requested, what each test is looking for, what you hand over, what stays in your file, and how to answer an exception schedule line by line. You don't need to buy anything to do any of it.
Three different audits — know which one you're in
An owner's T&M audit reviews work you already performed and already billed, under the audit clause in your contract. It is not your insurance premium audit, and it is not an informal invoice dispute.
| Which audit | Who runs it | What they test | What's at stake |
|---|
| Insurance premium audit | Your carrier's auditor | Payroll by class code, sub certificates | Next year's premium |
| Informal invoice challenge | The customer or PM who got the bill | One invoice, usually one or two lines | Payment of that invoice |
| Owner or GC T&M audit | Owner's project accountant, CM, or an outside construction-audit firm | Hours, classifications, rate application, and markup across a whole period | Money already earned on invoices already submitted |
If you're in the third row, keep reading. If you're in the second — one bill, one phone call — the backup you need is smaller and faster, and it's covered here: what to send when a customer challenges one invoice.
If your contract is cost-plus or open book, the disclosure rules are different and the record set is wider: the cost-plus record set.
Where the audit right comes from, and what it lets them ask for
The owner can ask for what the clause says they can ask for — usually the books and records supporting the amounts invoiced, on reasonable notice, for a stated retention period. The clause governs. Custom does not.
Pull the subcontract before you pull a single timesheet. Read the audit and records section, the retention period, the notice requirement, and the payment-during-dispute language.
Write down three things from that reading.
Scope. "Records supporting amounts invoiced" is much narrower than "books and records of the Subcontractor." That difference decides half the fights that follow. Period. Standard construction forms commonly require records be kept and available for three years after final payment. Yours may say longer. Cost shifting. Some clauses make you pay for the audit if it turns up an overbilling above a stated threshold. Find your number, or confirm there isn't one, before you start.Separately, federal wage-hour rules set their own floors: payroll records kept three years, the underlying time cards two years (29 CFR 516.5 and 516.6). On Davis-Bacon work, certified payrolls are kept three years after job completion (29 CFR 5.5(a)(3)).
The nine documents an auditor asks for first
Almost every T&M audit opens with the same request list. The first eight are the same in any trade. The ninth is the one that decides whether an electrical file holds up, and it's the one most subs never think to pull.
| # | Document | What the auditor tests with it | Where it usually lives |
|---|
| 1 | The T&M invoices in scope, with labor and material detail | The starting balance for everything else | Accounting |
| 2 | Signed daily T&M tickets and field reports | That the hours happened, that someone on the owner's side saw them, and what phase they belonged to | Ticket book, foreman's truck, phone |
| 3 | Timesheets or punch records, by worker by day | That invoiced hours tie to what the worker actually recorded | Time system |
| 4 | Payroll register for the period | That the person invoiced was on payroll those days for those hours | Accounting |
| 5 | The rate sheet and the executed T&M work authorization | That the rate charged is the rate agreed, for that classification | Contract file |
| 6 | Change orders and the change-order log | That T&M hours aren't also sitting inside a lump-sum change order | PM file |
| 7 | Material invoices, delivery tickets, packing slips | Quantities, dates on site, and the base that markup was figured on | Supply house, AP |
| 8 | Certified payroll (WH-347) on prevailing-wage jobs | Classification and wage compliance | Already submitted weekly |
| 9 | Dated electrical records: as-built panel schedules, rough-in and final inspection sign-offs by area, megger and torque test logs | That the phase you billed actually happened, in that area, on the dates you billed it | PM file, inspector's portal, test forms in the foreman's binder |
Row 9 is the one worth pulling early. An inspection sign-off is a third party writing down that the rough-in in a given area was complete on a given date, and a megger or torque log is dated proof that terminations were made and tested. Neither was created by you for this argument, which is exactly why it carries weight on a day when the ticket is missing.
Produce what the clause covers and nothing beyond it. Exporting the whole general ledger because it was the easier button is how a T&M audit turns into a cost audit.
The five tests run on your hours
An auditor isn't reading your invoice for tone. They are running five mechanical tests, and every exception they write comes out of one of them.
1. The three-way tie. Invoice line, signed ticket, payroll register — same worker, same date, same hours. Two out of three is an exception. 2. Classification against rate. Each worker's classification on the ticket, checked against the rate charged for that worker that day. An apprentice billed at the journeyman rate is the fastest deduction on the schedule, and so is a foreman billed hourly when the contract puts supervision in your overhead. Your rate sheet has to name every classification you intend to bill — apprentice by period or year, journeyman wireman, foreman, general foreman — each with its own rate. A classification that isn't listed doesn't get the benefit of the doubt; it gets priced at the lowest rate that is listed. 3. Duplicate billing. The same hours appearing on base scope and again on a change order. Auditors look for this specifically after any change order is executed mid-period. 4. Corroboration of presence. Dates checked against permits, inspection records, delivery tickets, gate logs, and the GC's own daily reports. 5. Description against scope. Does the work described belong to T&M, or was it base contract scope you were already being paid for?Test 5 is the only one of the five an auditor can finish without your help. A line that says hours and nothing else gives them nothing to compare against scope, so it goes on the exception schedule without anyone ever picking up the phone.
What you produce, and what stays in your file
On a rate-based T&M contract, the owner is entitled to prove the hours happened and that the agreed rate was applied to them. They generally did not buy the right to see what you pay your electricians.
| Generally produce | Generally stays in your file |
|---|
| Signed daily T&M tickets and field reports for the audited period | What you actually pay each electrician — base wage, paystubs |
| Hours by worker, by day, by classification | Your labor burden buildup: fringe, FICA, comp, GL, unemployment |
| The contract rate sheet and proof the right rate was applied | Overhead, G&A, and margin on the job |
| Inspection sign-offs, as-built panel schedules, and megger or torque results tied to the dates you billed | Your estimating labor units and per-unit install pricing |
| Change orders, T&M authorizations, change-order log | Rates and pricing on your other jobs and other customers |
| Material invoices and delivery tickets where markup is charged | Supplier agreements and rebates outside the audited purchases |
| Certified payroll, where the job is prevailing wage | Personnel files, discipline records, medical |
Read your own clause before relying on that split — a broadly worded owner rider can reach further, and cost-plus or open-book work already gave away the cost side by design.
There's a practical reason this matters beyond principle. If the report you hand over prints a cost-rate column and a total labor cost, you have just given the owner your margin in the middle of a negotiation over your invoice.
Customer-facing paperwork should resolve to the bill rate and stop there. Internal job costing is a separate document with a separate audience — keep them separate on paper, not just in intent.
The electrical line items that draw exceptions
Auditors on electrical T&M work write the same exceptions over and over. Each one has a document that answers it.
| Line item | What the exception usually says | What answers it |
|---|
| Classification billed vs. classification worked | "Billed two journeymen; one was an apprentice" | Daily ticket naming worker and classification, matched to payroll register or certified payroll |
| Apprentice supervision ratio | "More apprentices on site that day than your license or agreement allows for the journeymen present" | Daily ticket naming every worker and classification on site that day, matched against the ratio your state license or CBA actually requires |
| Foreman / GF hours | "Supervision is in your overhead, not billable hourly" | The rate sheet line listing foreman as a billable classification, agreed before the work |
| Standby and waiting time | "We're not paying for a crew to stand around" | Ticket naming what they were waiting on, who directed them to wait, and how long |
| Drive time and mobilization | "Travel isn't work" | The contract term allowing it, plus tickets separating travel from wrench time |
| Remobilization trips | "Why four trips for one scope?" | The written direction that sent you back, per trip |
| Warranty and callback hours | "This is rework on your own installation" | Ticket describing cause; if it was your defect, pull it yourself before they find it |
| Small tools and consumables | "Not itemized, not agreed" | The contract percentage, or an itemized list with receipts |
| Material markup | "Over the contract cap" | Supplier invoice showing actual cost, times the contract percentage |
| Per diem, parking, dump fees | "Not a labor cost" | The reimbursable clause and the receipt |
The first two rows look alike and aren't. The first is a rate question: you billed a classification the worker didn't hold, and the fix is money. The second is a compliance question: the crew mix on site that day exceeded the journeyman-to-apprentice ratio your license or agreement allows, and no rate sheet cures it. Both are answered by the same habit — name every worker and their classification on the ticket, every day.
Pull your own exceptions first. Conceding two lines you genuinely can't support buys credibility for the forty you can.
Worked example: one week, before and after
Every number below is an example with its inputs shown. Substitute your own contract rates and run it on a week of your own.
How the week usually goes out. One line on the invoice: Field labor, 78.54 hrs — $6,283.20.That line is arithmetically correct and functionally unsupportable. There is nothing in it to tie to a ticket, a classification, or a scope.
The same week, documented. One journeyman, example bill rate $98.00/hr:| Date | Worker | In / out | Hours | Work performed | Bill rate | Amount |
|---|
| Mon 8/3 | J. Reyes (JW) | 6:58a–3:28p, 0.5 lunch | 8.00 | Set panel 2B, second-floor east wing; landed feeders | $98.00 | $784.00 |
| Tue 8/4 | J. Reyes (JW) | 7:01a–4:01p, 0.5 lunch | 8.50 | Pulled homeruns, circuits 12–15, panel 2B to east corridor | $98.00 | $833.00 |
| Wed 8/5 | J. Reyes (JW) | 6:59a–3:29p, 0.5 lunch | 8.00 | Terminated circuits 12–15 at panel 2B; devices rooms 214–219 | $98.00 | $784.00 |
| Thu 8/6 | J. Reyes (JW) | 7:02a–3:48p, no lunch taken | 8.77 | Pulled and terminated circuits 16–18, second-floor east wing | $98.00 | $859.46 |
| Fri 8/7 | J. Reyes (JW) | 7:00a–1:30p, 0.5 lunch | 6.00 | Trim-out rooms 220–224: 22 receptacles, 6 three-way switches | $98.00 | $588.00 |
| Journeyman total | 39.27 | $3,848.46 | ||||
The apprentice worked the same five days on the same in/out times at an example bill rate of $62.00/hr: 39.27 hrs × $62.00 = $2,434.74.
Week total: $3,848.46 + $2,434.74 = $6,283.20 on 78.54 hours. Same money as the one-line version, now readable by someone who was never on site.
Run Test 3 on it yourself, since you just learned it. Circuits 12–15 are pulled once, on Tuesday, and terminated once, on Wednesday. Circuits 16–18 are pulled and terminated once, on Thursday. Nothing is billed twice, and the auditor can confirm that in about thirty seconds without calling you.
What a gap costs on the exception schedule. Say Monday and Tuesday carry no description because nobody wrote one.Using the same example rates: 16.50 hrs × $98.00 = $1,617.00 for the journeyman, and 16.50 hrs × $62.00 = $1,023.00 for the apprentice. That's $2,640.00 of a $6,283.20 example week sitting on the exception schedule until you can support it.
The charge was fair in both versions. The second one explains itself; the first asks the owner to take your word for it. If you want to price out what those arguments run across a year of invoices with your own inputs, the invoice-dispute calculator is free and ungated.
What has to be on the ticket for a non-electrician to follow it
The auditor is an accountant, not an electrician. A description survives if a person who has never been inside the building can tell what was installed, where, and why it plausibly took that long.
Write in the nouns and numbers the drawings use: circuits, panels, homeruns, feeders, devices, fixtures, room numbers. Not "electrical work."
Name the phase — rough-in, trim, terminations, troubleshooting, testing. Phase is what tells a reader whether the hours are reasonable for the scope, and it's what lets the day be tied to an inspection sign-off later.
Four before-and-after pairs, all from the same kind of day:
- "Worked on second floor" → "Pulled homeruns for circuits 12–15, panel 2B to east corridor"
- "Troubleshooting" → "Traced open neutral, circuit 9, rooms 214–219; found damaged conductor above ceiling grid, replaced 40 ft"
- "Misc. labor" → "Installed 22 receptacles and 6 three-way switches, rooms 220–224"
- "Service call" → "Reset tripped 100A breaker at MDP-1; megged feeder, 200 MΩ, documented for GC"
A signature doesn't always mean the owner agreed to pay — plenty of ticket forms say it acknowledges hours only. It still ends most hour disputes, because somebody on their side was standing there.
When the record doesn't exist
Reconstruct honestly, label it as a reconstruction, and never backdate anything. A note that looks like it was written on the day and wasn't is the one mistake that turns a billing disagreement into a credibility problem.
Most of these records exist even when the tickets don't:
- Payroll register and raw punch records
- Material invoices and delivery tickets — dates, quantities, ship-to address
- Permit dates and rough-in or final inspection sign-offs by area
- Megger and torque test logs, which date the terminations they cover
- Photos, with their file dates intact
- Emails and texts directing the work; "can you get someone out there Thursday" is direction
- Gate logs, sign-in sheets, or badge records held by the GC
- Punch-location stamps from a time app, if it captures one at clock-in and one at clock-out — that's corroboration of presence, nothing more
A labeled reconstruction is worth exactly what the sources you named are worth, and it can be weighed on those terms. A document that appears contemporaneous and isn't works differently: once it's caught, every other document in your production is back in question — including all the ones that were real.
Answering the exception schedule, line by line
Respond per item, in their numbering, with the document attached. Never answer an exception schedule with one letter arguing the invoice as a whole.
First, the acknowledgment. Send it within a few days of the notice — copy this and fill in the brackets:
We received your audit notice dated [date] covering time-and-material invoices [numbers] on [project]. We are assembling supporting records for [start date] through [end date] per Section [X] of the subcontract. Please confirm: (1) the invoices in scope, (2) the format and delivery method you want, (3) whether the review is on site or by transmittal, and (4) when you expect to issue findings. Undisputed amounts remain payable on the existing schedule per Section [Y] while the review is open.
Then one block per exception, in their order:
Item 7 — 8.50 hrs, 8/4/26, J. Reyes (JW), $833.00. Exception: no description of work performed.>
Response: disputed. Attached — daily field report dated 8/4, initialed by [owner's rep]; delivery ticket #4471, three 500 ft spools of #12 THHN in black, white, and green, received on site 8/4 at 6:52a; photo of homerun pull at panel 2B dated 8/4. Work performed: pulled homeruns for circuits 12–15, panel 2B to east corridor. Hours supported: 8.50. Requested action: reinstate in full.
Three rules for the whole response.
Answer in their order and their numbering — an exception answered in its own numbering can be closed against the schedule as it stands, while one answered out of order has to be matched up before it can be closed at all. Concede what you can't support, in writing, early, and stop there. And keep every answer tied to a document; "we've always done it that way" is not one.
The first 48 hours: a checklist
- Read the audit clause. Write down scope, period, notice requirement, and any cost-shifting threshold.
- Acknowledge in writing and confirm scope. Narrow it if the request is broader than the clause.
- Freeze the record. Tell payroll and AP to alter nothing and delete nothing for that job.
- Export the invoices in scope with labor detail broken out by day and worker.
- Pull every ticket and field report for the period, sort by date, and list the missing days.
- Pull the payroll register for the same weeks and run the three-way tie yourself.
- Check every rate charged against the rate sheet and each worker's actual classification, then check the daily crew mix against your supervision ratio.
- Pull change orders and flag any hours that could appear in two places.
- Gather corroboration for the missing days — delivery tickets, inspection sign-offs, test logs, photos, emails.
- Build your own exception list before theirs arrives, and decide now which lines you'll concede.
Making the next audit boring
An audit is only frightening when the answer has to be assembled after the fact.
The whole thing turns on one habit: the person who did the work writes one line about what they did, on the day they did it, before they go home.
That's it. Not a report, not a form. One line, in the language of the drawings.
Ask the crew for it the way it actually works on a jobsite — this is what keeps the customer from chiseling us on work you already performed. It puts the field on the same side of the table as the office, because the note is what protects the hours they already worked.
"8.77 hrs" loses. "Thu 7:02a–3:48p — pulled and terminated circuits 16–18, second-floor east wing" ends it before anyone opens a spreadsheet.
The tool matters less than the habit: a carbon-copy ticket book, a shared spreadsheet on the foreman's phone, or a time app like FieldTimesheet that asks "what did you work on?" at clock-out. What matters is that the note is written the day of the work, by the person who performed it, and that it reaches the customer-facing document unchanged.
If you want the paperwork already laid out — labor backup sheet, daily field report, T&M work authorization, change-order log — the T&M Billing Backup Kit is free and ungated. To see the finished, customer-safe version with descriptions in place, there's an annotated sample billing packet, and what a defensible T&M invoice contains covers the invoice side.
FAQ
Can an owner audit my payroll on a time and materials contract?
Usually not your payroll cost, but often your payroll records. On a rate-based T&M contract the owner is proving the hours happened and that the agreed classification and rate were applied — not what you pay the electrician. If your clause says "books and records" with no limitation, negotiate scope in writing before you produce anything.
How far back can an owner audit T&M invoices?
As far back as the retention period in your contract, which commonly runs three years after final payment. Some owner riders reach further. Wage-hour rules set separate floors of their own — three years for payroll records, two for time cards (29 CFR 516.5 and 516.6).
Can the owner withhold payment while the audit is open?
Only to the extent your contract allows, and typically only the amounts actually in dispute. Undisputed invoices normally stay on the payment schedule. Say so in your first written response and cite the section.
Is a signed T&M ticket enough backup by itself?
It's the strongest single document, but it isn't the whole file. The ticket proves someone on the owner's side saw the hours, the payroll register proves the worker was on the clock, and the description proves the hours belong to T&M scope rather than base contract work. Auditors test all three.
What happens to hours the auditor says we can't support?
They go on an exception schedule and come off the invoice unless you answer them with a document. Answer per item, in their numbering, with the attachment named — an exception in that form can be closed against the schedule on its own. A letter arguing the invoice as a whole can't be matched to any single item on that schedule, so there's nothing for the auditor to close.
Does the journeyman-to-apprentice ratio come up in an audit?
It can, and it's a different exception from a rate error. A rate error means you billed a classification the worker didn't hold. A ratio exception means the crew mix on site that day exceeded the supervision ratio your state license or collective agreement allows — and no rate sheet cures that one. A daily ticket naming every worker and classification on site is what answers both.
Do I have to show what I pay my electricians?
On a rate-based T&M contract, generally no — the agreed bill rate is the contract term, not your cost. Cost-plus and open-book contracts are the opposite; you agreed to show cost when you signed. On prevailing-wage jobs, certified payroll already discloses wage rates by classification.
Can I write timesheets now for work we did in March?
You can reconstruct, and you should — but label it a reconstruction and name the sources it came from. Never produce a document that appears contemporaneous and isn't. A labeled reconstruction is worth what its named sources are worth, and it can be weighed on those terms. An unlabeled one, once caught, puts every other document in your production back in question.
How is this different from my insurance premium audit?
Different auditor, different question, different money. Your carrier's auditor verifies payroll by class code to set next year's premium. The owner's auditor verifies hours and rates on work you already performed and already billed.