TrueBankFlowTrueBankFlow home

Construction Contractor Income on Bank Statements

By TrueBankFlowPublished October 17, 2026

Construction contractor income on bank statements arrives as large, uneven deposits: customer deposits, progress payments and final payments, often months apart. Lenders read twelve or twenty-four months, take out transfers and refunds, then subtract the money that went straight to materials and subcontractors. What is left, averaged across busy and quiet months, is the contractor's income.

What do construction contractor deposits tell a lender?

Construction contractor deposits tell a lender how much money the business collects, not how much the owner earns. A remodeler who banks $40,000 for a kitchen may pass $28,000 of it to a cabinet supplier, an electrician and a plumber. The lender's job is to estimate the share that stays with the contractor, then check that it repeats.

Three things separate a contractor file from a salaried one:

  • Size. Single deposits are large compared with monthly living costs, so one missing job moves the average a lot.
  • Timing. Payments follow the job schedule, not the calendar. A month with three final payments sits next to a month with none.
  • Pass-through money. A large part of each payment is spent on the job within days.

Other self-employed borrowers share some of these traits. Marketplace sellers pass money through to suppliers and platforms, as set out in online seller income verification from marketplace payouts, and creators see lumpy brand payments, covered in content creator income verification for lenders. Contractors combine all three traits at once, which is why their statements need the longest look.

Draws and progress payments in construction contractor deposits

A progress payment is money a customer pays as a job reaches agreed stages, such as framing, rough-in or final inspection. A draw is the same idea when a construction lender releases the money. On a contractor's statement, both show up as several deposits per job, each tied to a stage, rather than one payment at the end.

Reading the stages

A typical residential job might pay in three or four parts: a deposit at signing, one or two progress payments, and a final payment after a walk-through. Each part tends to be a round share of the contract price. When the deposits on a statement fall into those shapes, the lender can group them by job and see whether each job was paid out in full.

Draws from a construction lender often arrive by wire from a title company or a bank's loan department, with a reference that names the property. Homeowner payments arrive by check, card or transfer and name the customer. Both are revenue.

Why grouping by job helps

Grouping by job answers two questions a monthly total cannot. Did the contractor get paid for the work, or are final payments missing because of a dispute? And how long does a typical job take from first to last payment? A contractor whose jobs run eight weeks and pay in full is a steadier file than one whose final payments keep slipping.

Separating materials and subcontractor costs from contractor profit

Materials and subcontractor costs are the money a contractor spends to build the job, and they are not the contractor's income. On a bank statement they appear as payments to lumber yards, supply houses, equipment rental firms and individual trades. A lender subtracts them, either line by line or with an expense factor, to reach an income estimate.

Two ways to subtract

  1. An expense factor. Many bank statement programs apply a fixed percentage of deposits as expenses for the business type. It is quick, but a construction business with heavy materials may have real costs well above the default.
  2. A profit and loss statement. A P&L prepared by the borrower or a tax preparer lists actual costs. The lender then checks that the statement debits support it.

Costs that hide in other places

  • Supplier card payments. A contractor who buys materials on a business card shows one large card payment instead of many supplier debits. The card payment is still a materials cost.
  • Cash paid to day labor. Large ATM withdrawals near job dates are often wages paid in cash.
  • Equipment loans. Monthly payments to an equipment finance company are a cost of the business and a debt in the file.
  • Subcontractors paid by app. Peer-to-peer transfers to the same names every week usually mean trades, not personal spending.

Missing these makes the income look larger than it is. A lender that sees heavy deposits and few costs should ask where the materials were bought, before assuming the margin is unusually high.

How do gaps between construction jobs affect qualifying income?

Gaps between construction jobs lower the monthly average but do not, by themselves, sink a file. Lenders expect contractors to have slow months, especially in winter in cold climates. What matters is whether the gaps follow a repeating pattern across years, and whether the yearly total is stable or falling. A twelve-month or twenty-four-month average absorbs normal gaps.

Normal gaps and worrying gaps

  • Normal. Two quiet months every winter, with busy springs, repeated in both years of statements.
  • Normal. A one-month gap between two large jobs, with the next contract already signed.
  • Worrying. A gap that grows each quarter, with smaller jobs on either side.
  • Worrying. Three months without deposits and no signed work to follow.

Using a longer lookback

When a contractor's year contains a long slow season, a twenty-four-month lookback often gives a fairer figure than twelve months, because it includes two full cycles. Lenders that offer both may let the file use whichever better reflects the business, though some require the lower of the two.

A contractor's household may also hold other income that is steadier than the business, such as benefits a spouse receives. Lenders must treat some of those sources under specific fair lending rules, covered in Regulation B rules on public assistance income.

Customer deposits and retainage on a contractor's statements

A customer deposit is money paid before work starts, often to buy materials. Retainage is a share of each payment the customer or general contractor holds back until the job is finished, common on commercial work. Both shift when money reaches the statement, so a lender needs to know which deposits are prepayments and which payments are still owed.

Customer deposits

A large deposit at signing can make a month look strong when no work has been done. If the job is cancelled, part of that money may be refunded. Look for refunds in later months, and treat a deposit followed by a matching outgoing payment as no revenue at all.

Retainage

A subcontractor on a commercial job may be paid 90 or 95 percent of each invoice, with the rest held until completion. The held money arrives later as a lump sum, sometimes months after the work ended. On a statement, that lump sum looks like an unusual deposit with no new job behind it. A copy of the contract or a pay application explains it, and the lender can then spread it across the period it was earned.

A twelve month construction contractor deposit review

A full review takes twelve months of statements, groups deposits by job, removes transfers and refunds, subtracts job costs, and averages the remainder. The worked example below follows those steps for an example remodeling contractor. The numbers are illustrative, chosen to show how a slow winter and one large job affect the result.

Worked example

Period Gross deposits Transfers and refunds removed Materials and subcontractors Net after job costs
Jan to Mar $38,000 $4,000 $21,500 $12,500
Apr to Jun $96,000 $2,500 $58,000 $35,500
Jul to Sep $112,000 $6,000 $66,000 $40,000
Oct to Dec $54,000 $1,500 $31,000 $21,500
Twelve months $300,000 $14,000 $176,500 $109,500

The twelve-month net of $109,500 still has to cover overhead like insurance, vehicle costs and software, which a lender may handle with its expense factor or the P&L. If the program then applies a further 20 percent for overhead, the example yields about $87,600 a year, or $7,300 a month.

Step list

  1. Collect twelve months of statements for every business account, and personal accounts if business money lands there.
  2. Mark transfers between the borrower's accounts and remove them.
  3. Remove refunds and returned deposits.
  4. Group the remaining deposits by job where the payer names allow it.
  5. Total job costs: suppliers, trades, equipment rental and card payments for materials.
  6. Subtract job costs from deposits, by quarter, to see the seasonal shape.
  7. Apply the program's expense method for overhead.
  8. Compare the result with the P&L or tax returns, and explain any large gap.

When contractor deposits overstate what the builder earns

Contractor deposits overstate what the builder earns when pass-through money is counted as income, when one large job dominates the year, or when loan proceeds land in the operating account. Each makes the average look higher than the business can repeat. The check is to ask whether next year could produce the same deposits without the unusual items.

Patterns that inflate the figure

  • One outsized job. A single commercial contract worth half the year's deposits will not necessarily come again.
  • Materials bought by the customer through the contractor. High-end fixtures paid for by the homeowner and passed straight to a supplier inflate deposits with no margin.
  • Business loan proceeds. A line of credit draw or an equipment loan landing in the account is borrowed money, not revenue.
  • Insurance claim payments. Restoration contractors may receive insurer checks that are mostly passed to trades.
  • Joint venture money. Payments split with a partner contractor show the full amount coming in, though only part belongs to the borrower.

TrueBankFlow flags large or out-of-pattern deposits with the date and statement line and lets you exclude a deposit with the averages recalculated at once, so one outsized job or a loan draw can be set aside with a note in the report. See how the analysis works.

All posts in Income sources on statements