General Liability Audit for Contractors: What the Auditor Asks For

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for General Liability Audit for Contractors: What the Auditor Asks For.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for General Liability Audit for Contractors: What the Auditor Asks For.

A general liability premium audit asks a contractor to show that the figure used to price the policy matched real activity: usually gross receipts or sales, sometimes subcontract cost, plus proof that subcontractors carried their own insurance. Answer it by supplying your books, subcontractor invoices and in-date certificates of insurance for every sub paid in the policy period.

The step that costs contractors money is rarely the receipts. It is the subcontractor paperwork. Where an auditor cannot see valid cover for a subcontractor, that subcontractor's charges can be treated as your own exposure and priced accordingly, often producing an additional premium bill after the policy has ended. The fix is a file built before the audit letter arrives, with AI doing the sorting and chasing while you stay in charge of every figure.

Follow me on Instagram@sagnikteaches

What the audit is testing

When you bought the policy, the carrier priced it on an estimate: expected gross receipts for the year, perhaps split by work type, and sometimes an estimate of subcontract cost. After the term ends, the carrier checks the estimate against what actually happened. If you earned more than you estimated, the premium rises. If you earned less, it may fall. Nothing here is a penalty. The audit is a true-up.

Connect on LinkedInSagnik Bhattacharya

The trouble starts in three places. The receipts figure may not match the books because of how revenue is defined. Subcontracted work may be counted differently from your own labour. And the classification of the work, which sets the rate, may not match what you actually do. Those three areas drive nearly every disputed audit.

Subscribe on YouTube@sagnikteaches

The documents an auditor typically asks for

Carriers phrase their requests differently, and your policy governs, but insurers' own preparation guides repeatedly list the same items. Treat the table as a starting list and compare it with the audit letter you receive.

DocumentWhat the auditor uses it forCommon trap
Income statement or sales ledger for the policy periodGross receipts as the exposure basePeriod dates not matching the policy dates.
Year-end tax or financial return pages for the periodCross-check of the receipts figureFigures reported on a different basis from the ledger.
Subcontractor list with amounts paidTotal subcontract costMissing a sub paid once.
Subcontractor invoices, with labour and materials shown separatelySplitting cost that may be rated differentlyOne lump-sum invoice.
Certificates of insurance for each sub, dates covering the work periodProof the sub was insuredCertificate expired before the job ended.
Year-end payment returns filed for contractors you paidConfirms who you paid and how muchTotals not matching your list.
Written subcontract agreements, with any indemnity or insurance clauseShows the relationship and risk transferVerbal agreements.
Job list with type of work and location typeClassification of the operationsWork types not matching the policy's classes.

If the audit letter asks for something not on this list, supply it. If it does not ask for something listed here, do not volunteer a pile of extra material without checking with your broker or accountant first; send what is requested, complete and organised.

The Complete Excel Course with AI Integration thumbnail

The Complete Excel Course with AI Integration

From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.

By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner

Buy now

The uninsured subcontractor problem

Certificates matter because a subcontractor with their own valid cover is, to the carrier, someone else's exposure. A subcontractor with no cover, or with a certificate that does not span the work dates, can be treated as if they were part of your operation. Insurers' own audit pages spell this out. One says that if you cannot provide a current general liability certificate for a subcontractor, that sub's payroll is included in your audit; it still makes a small charge for insured subs, much lower than for uninsured ones, and it treats a certificate whose limits fall below its stated minimum (or below your own policy's limits) as inadequate. Another says that where no evidence of insurance exists, the sub's payroll may be added to your premium base, and asks for subcontract costs split between labour and materials or equipment. How exactly this works differs by carrier, jurisdiction and policy form, and it can differ between general liability and workers' comp, so read your own policy and ask your broker before assuming a figure.

A quick sum shows the stakes. Say a contractor paid $180,000 to subcontractors in the year. With valid certificates for all of them, that cost may carry a modest rate or be excluded from the exposure base. Suppose $60,000 of it went to two subs with no certificates on file. If the carrier rates that $60,000 at, for illustration, $20 per $1,000, the additional premium is $1,200 (60 x $20). A different rate could make it twice that or half. The point: the bill comes from missing paper, not from missing insurance, because those subs may well have been insured all along. This is where a certificate request in March is cheaper than a scramble in the audit window.

A kitchen fitter's audit file, built in a week

Take a kitchen fitting business with five employees and four regular subcontractors: an electrician, a plumber, a plasterer and a tiler. The policy year ran from 1 April to 31 March. The audit letter arrives in May requesting receipts, subcontract costs and certificates. The owner has 30 days.

The owner works in order. First she exports the sales ledger for the exact policy dates and gets $612,400. She notes that $24,000 of that is a deposit received in March for a job that started in April, and asks her accountant how the books treated it, because the auditor will compare the ledger with the return. Second, she lists every payee from the bills ledger under "subcontract" and finds six, not four: two one-off labourers. Third, she checks certificates: the electrician's and plumber's are current, the plasterer's expired in November with no renewal on file, and the tiler's shows a start date in June though he worked from April. One-off labourers have nothing.

That gives her a gap list to close in a week: ask the plasterer for the renewed certificate and a letter from his insurer or broker confirming cover on the work dates, ask the tiler for the earlier policy period, and decide what to say about the two labourers, perhaps that they were paid by the day through payroll, which her accountant must confirm before she states it. She does not guess. Each answer goes into the file with the document that backs it.

How AI helps you build the file

AI is useful for the organising and the chasing, not for the figures. Three concrete uses follow, each with the human check beside it.

Turning a ledger export into a subcontractor schedule

Paste a copy of your bills ledger (with account numbers stripped) into an AI assistant or a spreadsheet tool with AI support and ask it to group payees and total them. A prompt:

Below is a list of bill payments from 1 April to 31 March. Produce a table of payees with total paid, number of payments, and the date of first and last payment.
Do not drop any rows. Flag payees paid only once. List any rows you could not parse.
[paste rows]

Check: the table total must equal the total of your ledger rows. Add up the amounts yourself or with a spreadsheet formula. If AI-produced totals differ by even a cent from your books, find the cause before using any of it. For a spreadsheet route, cleaning messy data with AI covers the checking habits.

Drafting the certificate request

This is the best saving. A short, polite message to each sub, sent early, reduces the scramble:

Subject: Insurance certificate for our records, [subcontractor business name]
Hi [first name], our insurer audits our policy each year and asks for a current certificate of general liability insurance for everyone we pay. Could you send the current certificate, and the one that covered [start month] to [end month] if it has been renewed since? A PDF is fine. Thank you, [your name]

Ask AI to produce a version for each tone: friendly for a regular, firmer for a sub who has ignored two requests. Then track replies in a simple list. The routine in AI for building contractors: chasing subcontractors and progress updates shows how to automate the reminders.

Spotting gaps in the file

Once your table of subs and certificate dates exists, ask AI to compare them:

Subcontractor, first payment, last payment, certificate start, certificate end:
[table]
List every subcontractor whose certificate does not cover the whole period from first to last payment, and show the uncovered dates.

A sample output (illustrative): "Tiler: first payment 12 April, certificate starts 1 June, uncovered 12 April to 31 May. Plasterer: last payment 20 December, certificate ended 14 November, uncovered 15 November to 20 December." Check each against the original certificate yourself. Date arithmetic is where chat tools slip.

Answering the questions: rules of thumb

Auditors ask questions as well as requesting paper. These habits keep answers accurate.

  • Answer what was asked, with a document. "Our subcontract cost was $212,600, listed on schedule 2" beats a verbal estimate.
  • Say you will confirm, rather than guess. "I'll check the ledger and send that today" is a perfectly good answer.
  • Explain unusual items in one sentence. A large pass-through such as materials bought for a client, or a refunded deposit, should be flagged with its reason.
  • Keep work types straight. If the auditor asks what share of work was residential versus commercial, use job records, not memory.
  • Do not backdate. A certificate obtained now is fine as a current document, but never present it as one held at the time.

If you are unsure how receipts should be defined for the exposure base, ask your broker or the auditor which definition the policy uses. Definitions can exclude certain items or include others, and the policy wording decides, not a general guide.

Desk audit, phone audit or site visit

Carriers run audits in different ways, and the audit letter says which applies to you. A mail or desk audit asks you to complete a worksheet and send documents. A telephone audit walks through the same questions with an auditor, who may ask you to email files as you talk. A physical audit means someone visits your office to look at the books. Some carriers also run a hybrid: you send the records first, then the auditor works through them with you by phone. The preparation is the same for all three, but the pressure differs. On a call you cannot easily look things up, so have the schedule in front of you, sorted, with totals at the top. Keep a short list of the three numbers you will be asked for first: gross receipts for the period, total subcontract cost, and total payroll if the audit touches it. Say them from the page, not from memory.

When the work type is the question

Classification sets the rate, so an auditor may ask what you actually do day to day. A contractor who described the business as "interior finishing" when buying the policy but spends a third of the year on structural alterations may find the classification changing at audit. The answer is not to describe your work in the most flattering terms; it is to describe it accurately and early. Keep a job list with a one-line description of each job and its value. If you add a new type of work during the year, tell your broker when you start it, not when the audit arrives.

A short illustration. A small roofing and guttering firm wins a large conservatory contract in the autumn. The policy was written for roofing and guttering only. At audit, $85,000 of receipts relate to conservatory work. The auditor may ask for that to be rated under a different classification, which can raise the premium and in some cases exposes a gap in what the policy covers. A call to the broker in September would have settled both questions. AI can help you keep the job list tidy, but it cannot tell you which class applies. That is a broker's and carrier's call.

Pass-through items and what counts as receipts

The wording of the policy defines the exposure base. Some policies count total gross receipts; others exclude items such as sales taxes collected, or certain reimbursed costs. Because definitions vary, a contractor who bought materials for a client and invoiced them at cost needs to check how those lines are treated. Before the auditor arrives, mark on your ledger any line that is a pass-through, a refund, a deposit held for a later period or a transfer between your own accounts. Put a one-line note next to each. When the auditor reaches those lines you can explain them in a sentence with the paper to hand, and the figure is settled on the facts rather than on the auditor's first reading.

A quick before and after. Before: "Revenue per ledger $612,400". After: "Revenue per ledger $612,400, including $24,000 deposit for a job starting in April, and $9,300 of materials re-invoiced at cost (invoices attached)". The second line anticipates the questions, and shows you know your own books.

Audit-file errors that raise the bill

The wrong period. A contractor sends calendar-year figures for a policy running April to March. His export covers a quiet January to March from the previous policy year and misses the busy January to March that falls inside this one, so the auditor's figure comes out higher than his and the gap looks like under-reporting. The fix is to export by policy dates, and to say the dates on the schedule.

The lump-sum sub invoice. A plumber invoices "kitchen job, $4,800" with no split. The auditor cannot tell labour from materials and may treat the whole amount as labour. Ask subs, from now on, to itemise.

The renewed policy, old certificate. A sub renewed in October. The contractor holds the earlier certificate, which ended in September. Work done in November looks uninsured. Ask for each new certificate as it renews, and file it with the sub's record.

The AI-written total. A tool summarised a ledger and quietly dropped a page of rows. The schedule under-reported subcontract cost by $18,000 and the mismatch with the return drew questions. Always reconcile the total to the books.

Building a year-round routine

An audit is far easier when the file builds itself. A light routine for a small contractor:

  1. On engaging a sub: collect a certificate, a signed agreement and a business details form before the first payment.
  2. Monthly: export the subcontractor payments, update a certificate-expiry sheet, send renewal requests 30 days before expiry.
  3. Quarterly: compare year-to-date receipts with the estimate on your policy. If you are running well above, tell your broker; a mid-term adjustment is usually less painful than a large audit bill.
  4. At year end: export receipts and sub payments for the exact policy dates and run the gap check above.

The quarterly comparison is the habit most contractors skip. If the policy estimate was $500,000 and by month nine you have invoiced $540,000, you already know the audit will show an increase and can budget for it. The same figures help at renewal; see the contractor insurance renewal figures checklist. The payroll counterpart is covered in getting payroll and subcontractor records ready for a workers' comp audit, which is a separate audit with a different base and should not be mixed up with this one.

What stays out of the chatbot: bank and payroll details

Keep bank details, employee personal data and full tax returns out of general chatbots. For the audit file you need amounts, dates and payee business names, not account numbers or identity details. Strip the rest before pasting, or do the sorting in a spreadsheet you control. Check your AI vendor's data terms for the plan you use. And never ask a chatbot to decide your classification or to tell you what the policy "really" covers; that answer lives in the wording and in your broker's advice.

If the audit result looks wrong

Read the audit statement line by line. Identify which figure changed the premium: receipts, subcontract cost or classification. Compare it with your file. If you find an error, write to the auditor or carrier with the document that corrects it and ask for a revised statement. If the dispute is about classification, ask your broker to join, as wording matters. Keep copies of everything and note dates. The goal is a figure both sides can trace to paper, which is exactly what the file you built is for.

If you would like help setting up a records routine so the next audit is a one-hour job, that is the kind of thing my AI implementation consultation covers; start from the contact page. For how AI use in your business interacts with insurance more broadly, see whether your business insurance covers AI mistakes.

Common questions before a general liability audit

Is a general liability audit the same as a workers' comp audit?

No. Both are checks that the premium matched your real activity, but a general liability audit usually tests the exposure base on your policy, often gross receipts or subcontract cost, while a workers' comp audit tests payroll by class code. Some carriers run them together, so read your policy to see which applies.

What if my subcontractor's certificate has expired?

Get a current certificate and, if the work was done earlier, ask for proof that cover was in force on the dates the sub worked for you. An auditor looks at whether the policy covered the work period, not whether you filed a certificate recently. Missing proof may let the carrier treat that cost as uninsured.

Can I dispute the audit result?

Yes. Ask the auditor which figure or classification drove the change, send documents that correct it, and use the carrier's review or dispute process, which your policy or audit letter describes. Do it in writing and promptly, because disputes usually have time limits.

Can AI prepare my audit documents?

It can help organise a spreadsheet, draft emails asking subs for certificates and spot gaps in a list. It should not decide your classifications or finalise figures. You confirm every number against your books and send only what your accountant or broker agrees is accurate.

Further reads

Sources: premium audit pages from several general liability insurers (audit types, records requested, treatment of subcontractors without certificates, disputes), read 1 November 2026. Policy wording and carrier procedures differ; check your own policy and ask your broker.

Want audit records built as you go?

On a 1:1 call we'll look at how you record receipts, subcontract payments and certificates today, and which parts a simple AI-assisted routine could keep audit-ready all year.

Book a 1:1 call with me