AutoBankConvertAutoBankConvert home

Bookkeeping for Contractors: Jobs, Draws and Materials

By AutoBankConvertPublished August 26, 2026Updated August 26, 2026

Bookkeeping for contractors means coding every bank statement line to an account and to the job it belongs to. Draw deposits are recorded against the contract, with retainage tracked as a receivable. Supplier and subcontractor payments are split by job, so each project shows its true margin instead of one blended number for the whole year.

What does bookkeeping for contractors track that other client books skip?

Contractor books track a second dimension that most small business books never need: the job. A plumber, roofer or general contractor can be profitable overall while losing money on one kitchen remodel, and only job-level coding shows it. Everything else in this post follows from that.

A typical retail or service client has income that arrives roughly when the work is done and costs that belong to the month they were paid. A contractor breaks both patterns. Money comes in as deposits before work starts, as draws partway through and as a final payment weeks after the last day on site. Costs pile up early, when lumber, fixtures and rented equipment are bought for a project that will not bill in full for months.

That gap between spending and billing is why contractor clients so often feel broke in a good year. The bank balance swings with the job cycle, not with profit. A bookkeeper who codes only to accounts, with no job attached, hands the owner a profit and loss report that is technically correct and practically useless for pricing the next bid.

Three things set contractor books apart in practice:

  • A job on every cost line. Materials, subcontractors, permits and equipment rental each carry the project name.
  • Contract income in stages. Deposits, progress draws and retainage are separate events, each with its own entry.
  • A few large suppliers. Most material spending flows through two or three supplier accounts, often on credit terms, which makes those statements as important as the bank's.

Other industry clients have their own second dimension. A real estate agent tracks deals rather than jobs, and the post on real estate agent bookkeeping for commissions and splits shows how that plays out with brokerage payouts.

Tagging deposits and supplier charges to contractor jobs

A job tag is the project name or number attached to a transaction alongside its account. Most accounting systems give you a field for it, called a class, project or tracking category depending on the software. The bank statement never prints the job, so the bookkeeper has to supply it from invoices, purchase orders or the client's own notes.

The practical question is where the job information comes from for each kind of line:

  • Customer deposits and draws usually match an invoice, and the invoice names the job. Match the deposit amount to the open invoice first.
  • Supplier charges need the supplier's invoice or receipt, which often carries a job name or purchase order typed by the counter clerk. Ask the client to give each job a short code and use it at the counter.
  • Fuel, small tools and phone bills rarely belong to one job. Leave them as overhead rather than guessing a split.
  • Subcontractor payments should match a sub's invoice that names the project.

Account coding and job tagging are two separate decisions, and it helps to make them in that order. Statement conversion handles the first well: AutoBankConvert applies your rules and each client's past coding to put supplier and customer lines into accounts, and lines it is unsure about go to a review queue. The job tag then comes from the documents, which is where your review time belongs.

Set a rule for the client on what happens when a job cannot be identified. "Unassigned job" is a better holding place than a guessed project, because a guess hides in the report while an unassigned total stays visible until someone answers.

How should progress draws and retainage be recorded?

A progress draw is a payment for a stage of the work, billed against the contract as each stage is reached. Record each draw as income against the job when it is invoiced, not when the money arrives. Retainage, the share a customer holds back until the work is accepted, belongs in a separate receivable account until it is paid.

Here is an example with illustrative numbers. A contractor signs a 60,000 remodel with 10 percent retainage. At the first stage they invoice 20,000. The customer pays 18,000 and holds back 2,000.

  1. The invoice records 20,000 of income for the job.
  2. The 18,000 deposit on the statement clears 18,000 of the invoice.
  3. The remaining 2,000 moves to a retainage receivable account, tagged to the same job.
  4. When the job is accepted and the customer releases retainage, the final deposit clears that receivable.

The mistake to avoid is coding the 18,000 deposit straight to income with no invoice behind it. The job then shows 18,000 of revenue, the 2,000 vanishes, and nobody chases it at the end of the project. Retainage is often the contractor's whole margin on a job, so losing track of it hurts.

Upfront deposits before work starts need their own treatment too. Money received for work not yet done is a liability, usually called customer deposits or unearned revenue, until the work it pays for is performed. Whether the client reports on that basis is a question for their tax preparer, but the books should at least keep deposits visible rather than mixed into sales.

Supplier accounts and materials on a contractor's statements

Materials blur job margins when supplier payments are coded as one lump. A contractor who pays the lumber yard 14,000 at month end has usually paid for parts of four jobs at once. The bank statement shows one line; the supplier's monthly statement shows the invoices behind it, and those invoices carry the job detail.

Handle supplier accounts the way you would handle a credit card:

  • Record each supplier invoice as a bill, tagged to its job, when it is issued.
  • Record the bank payment as a payment against those bills, not as a new expense.
  • Reconcile the supplier's own statement each month so the open balance in the books matches theirs.

Returns are where material costs go wrong most often. A contractor returns unused tile and gets a credit memo, and that credit needs to go back to the job that bought the tile. If it lands on the job that happens to be open when the credit posts, one project looks cheaper and another looks worse than it was.

Materials bought for stock, such as a pallet of fittings kept in the van, are a judgment call. If the client carries a meaningful amount, a small inventory or shop supplies account keeps those purchases out of any single job until they are used.

Subcontractor payments and the year-end 1099 trail

Subcontractor payments need a clean record of who was paid, how much and for which job, because that record feeds year-end reporting as well as job costs. The IRS uses Form 1099-NEC to report nonemployee compensation, and many contractor clients pay several subs each year.

From the bank statement side, the risk is payment methods that hide the payee. A check prints only a number. A transfer through a payment app might print the app's name with a short reference. Keep the sub's name in the payee field of the books, not just in the memo, so a year-end report by vendor finds every payment.

A short routine helps:

  1. Collect a W-9 from each sub before the first payment, so the name and tax ID are on file.
  2. Code each sub payment to a subcontractor cost account and tag the job.
  3. For checks, match the check number on the statement to the client's check register or the sub's invoice.
  4. At year end, run payments by vendor and compare totals with what the subs invoiced.

Whether a particular sub needs a form, and which one, is the tax preparer's decision. Your job is to make the totals easy to trust.

A contractor's month of statement lines, coded by job

A finished contractor month has an account and a job on every line that belongs to a job, and a clear overhead label on the rest. The table below is an example built from made-up figures for a small remodeling business, to show the shape of the result.

Date Statement description Amount Account Job Note
03-02 MOBILE DEPOSIT +18,000.00 Accounts receivable Ortiz kitchen Draw 1 paid, 2,000 retainage held
03-05 CITY PERMIT OFFICE -385.00 Permits and fees Ortiz kitchen Building permit
03-09 CHECK 2214 -4,200.00 Subcontractors Ortiz kitchen Electrical rough-in, sub invoice on file
03-12 ACH HARBOR LUMBER -9,640.00 Accounts payable Split by bill Pays three February bills
03-16 EQUIP RENTAL CO -610.00 Equipment rental Lee deck Auger rental, two days
03-20 FUEL STATION 448 -92.40 Vehicle fuel Overhead Not job-specific
03-24 TRANSFER FROM 7731 +5,000.00 Transfer None Owner moved money from savings
03-28 ACH PAYMENT RECEIVED +6,500.00 Customer deposits (liability) Lee deck Paid before work starts

Read the table by column. The account column is what a converter's rules can fill reliably month after month. The job column comes from invoices and the client's answers. The note column is what lets anyone, including you next year, see why a line was coded that way.

The lumber payment is the line that most needs attention. It pays three bills for three jobs, so the job detail sits on the bills, and the bank line only clears them.

When the contractor's truck, home and jobs share one card

Many small contractors run one card for everything: fuel for a truck that is also the family car, materials for a client's deck and materials for their own garage. Mixed spending is the most common reason contractor job costs are wrong, because personal purchases at a building supplier look identical to job purchases.

Start by agreeing on a rule with the client: any purchase they cannot tie to a job or to overhead is treated as personal and recorded as an owner draw. That puts the burden of proof in the right place. The guide to sorting commingled personal and business transactions covers the entries and the conversation with the client in more detail.

Watch for these patterns on a contractor's statement:

  • Weekend purchases at a building supplier with no job reference.
  • Large home-improvement orders shipped to the owner's address.
  • A vehicle used for both work and personal driving, with no mileage log.

The longer-term fix is a separate business card and account, used only for jobs and overhead. Contractors who also own the buildings they renovate face a related split between their construction business and their property holdings, which the post on rental property bookkeeping from bank statements addresses from the landlord's side.

If you keep books for several contractors, each month brings a stack of bank, card and supplier statements. AutoBankConvert converts them as a batch per client and checks each statement's balances, leaving you the job tagging, which is the part only a bookkeeper can do.

All posts in Industry bookkeeping