← All industries
Contractors and trades

Construction bookkeeping for Minnesota contractors and trades.

You know which jobs felt good. The books should show which ones made money. This is how I keep books for plumbers, electricians, HVAC, remodelers and small construction companies: job costing in QuickBooks Online, retainage, Minnesota sales and use tax, subs and 1099s, and a close every month.

Contractor in a hard hat and safety vest working on scaffolding

A contractor chart of accounts for QuickBooks Online.

60 accounts set up for a small Minnesota contractor: retainage receivable and payable, customer deposits, over and under billings, Minnesota use tax payable, job materials, subcontractors, direct labor, equipment rental, bonds, trucks, equipment and the loans behind them.

  • A CSV in the columns QuickBooks asks for: account number, account name, type and detail type, plus a one-line description of what belongs in each
  • Import it under Settings, then Import data, then Chart of Accounts. Map the columns, and if a type shows red on the review screen, pick the closest match from the list
  • It leaves out the accounts QuickBooks creates for you, like accounts receivable, accounts payable and retained earnings
  • Account numbers only show in QuickBooks if account numbers are turned on in your settings
Download the CSV60 accounts. Best imported into a new or tidy company file; check with your tax preparer before merging into an old one.

Job costing in QuickBooks Online.

Without job costing, a $40,000 remodel and a $400 service call land in the same profit and loss, and the only number you get is the total. With it, every job has its own income, its own costs and its own margin. In QuickBooks Online that means projects.

  1. 01

    Get on the right plan

    Projects, the QuickBooks feature that does job costing, comes with QuickBooks Online Plus and Advanced (and Intuit Enterprise Suite). Simple Start and Essentials do not have it. Class tracking is the same: Plus and Advanced only.

  2. 02

    Turn on projects

    Settings, then Account and settings, then Advanced. In the Projects section, turn on the setting to organize all job-related activity in one place. Then create one project per job under its customer: Smith kitchen remodel, under Smith.

  3. 03

    Tag every cost to a project

    Every bill, expense, check and card charge that belongs to a job gets the project picked in the customer or project field on the line, not just the header. A Menards receipt with materials for two jobs gets two lines. If a cost should be passed on to the customer, mark it billable.

  4. 04

    Get labor onto the job

    Labor is the cost most often missing from job reports. Field hours have to be logged against the project, with each person's cost rate set, so the project carries what the crew actually cost. Subcontractor bills get tagged like materials.

  5. 05

    Invoice from the project

    Estimates, progress invoices and change orders all go on the project, so income and costs sit side by side. An invoice entered outside the project makes the job look like a loss.

  6. 06

    Read the job, not just the P&L

    Open the project and you see income, costs and profit for that job. Check it while the job is running, not after. A remodel that is 60 percent billed and 80 percent spent is a conversation to have this week.

Classes or projects?

Both are in Plus and Advanced, and they answer different questions. A project is a job: one customer, a start and an end. A class is a slice of the business that outlasts any job: a division, a crew, or a kind of work, like new construction against remodel against service.

Use projects for jobs and, if you want them, a short list of classes for the kind of work. Then a single bill can say both: this is the Smith kitchen, and it is remodel work. Class tracking can be set to one class per transaction or one per line; for a contractor, one per line is usually the right call, because a single supplier invoice often covers more than one kind of work. Turn it on under Settings, Account and settings, Advanced, Categories, and turn on the warning for transactions without a class.

What not to do: a class per job. It works for the first ten jobs and then the class list is longer than the customer list and nobody can read a report.

Retainage.

Retainage is the part of each progress payment the owner or general contractor holds back until the job is done. It is money you have earned and will be paid, just not yet.

In Minnesota, retainage on a private building and construction contract cannot exceed 5 percent. The owner has to release it no later than 60 days after substantial completion, and once you receive it you have 10 days to pay your subs their share. Withholding retainage for warranty work is not allowed. Those rules are in Minnesota Statutes section 337.10; public agency contracts are carved out of that part and follow their own.

How to book it

  • Set up a Retainage Receivable account (Other Current Assets, detail type Retainage) and a service item called Retainage that posts to it
  • Bill the full progress amount, then add a negative Retainage line. The invoice total is what the customer actually owes now
  • When the job closes out, invoice the retainage as its own positive Retainage line and the receivable clears when it is paid
  • Do the mirror image for subs: enter the full sub bill, a negative line to Retainage Payable, and pay the held amount when you release it
An example, not a client: an $80,000 contract, 5 percent retainage, first progress bill at 40 percent.
Work billed this period$32,000
Retainage held, 5 percent−$1,600
Invoice total, due now$30,400
Retainage receivable after this bill$1,600

Why it distorts cash when it is handled wrong

Left inside accounts receivable, retainage ages. After 90 days your aging report says a good customer is seriously past due, and it becomes hard to see who actually owes you money now. Left off the books entirely, it gets forgotten, and on a few jobs a year that is real money. Kept on its own account with a job-by-job list behind it, you know exactly what is coming at closeout and what you owe your subs out of it.

Work in progress: over and under billings.

A work-in-progress schedule compares what you have billed on each open job with what you have actually earned, based on how far along the job is.

The usual way to measure how far along: cost to date divided by total estimated cost. If you have billed more than you have earned, you are overbilled, and part of the cash in the bank belongs to work you still have to do. If you have billed less, you are underbilled, and you are financing the customer’s job.

An example job: a $100,000 contract with $75,000 in estimated cost.
Cost to date$30,000
Percent complete, $30,000 of $75,00040%
Earned to date, 40% of $100,000$40,000
Billed to date$50,000
Overbilled$10,000

That $10,000 is a liability, billings in excess of costs and estimated earnings. The opposite case is an asset, costs and estimated earnings in excess of billings. Both accounts are in the chart of accounts download, and both get adjusted when the schedule is updated, not on every transaction.

When you need it

A surety bonding your work or a bank lending against it may ask for one. Jobs that run across several months with progress billing. Any month you want to know whether a job’s margin is holding before it is too late to fix.

When you do not

You bill on completion, jobs last days or a few weeks, and nobody outside the business is asking. Job costing in projects already tells you what you need. Which accounting method you use for taxes on long contracts is your tax preparer’s call, not the bookkeeper’s.

Minnesota sales and use tax for contractors.

Minnesota taxes the contractor on what goes into the job, not the customer on the finished work. That one rule decides how you buy, how you invoice and what the books have to track.

Construction contracts

When you furnish materials and install them into real property, that is a construction contract. You pay sales or use tax on the materials, supplies and equipment you use to complete it. You do not charge sales tax to the customer and you do not itemize it on the invoice. The tax you paid is part of your materials cost, and you price it in.

Use tax

If a supplier does not charge Minnesota sales tax, as can happen with online orders or suppliers outside Minnesota, you owe use tax on the purchase price. The same applies when you pull an item from stock you bought tax-free and use it on a job.

Retail sales

Materials, equipment or other items sold without being incorporated into real property are taxable retail sales. Charge sales tax on the total price, including installation or delivery, and itemize it on the invoice. A free-standing refrigerator delivered and plugged in is a retail sale; a dishwasher built in under the counter is real property.

Contractor-retailers

If you do both, last calendar year's purchases decide how you buy. At least 50 percent used for construction makes you primarily a contractor, and you pay tax when you buy. At least 50 percent for retail makes you primarily a retailer, and you buy for resale on Form ST3, then report use tax on whatever goes into a construction job.

Fabrication

Minnesota treats fabrication labor, making a product or altering one into something new, as taxable, even when the customer supplies the materials. If your shop builds things that are sold as products rather than installed under a construction contract, sort out which work is which before you invoice it.

Tax-exempt customers

A school, church or city being tax-exempt does not make your materials exempt. You only buy exempt when there is a written purchasing agent agreement that meets Revenue's requirements and you give the supplier Form ST3. Without that, you pay the tax on the materials like any other job.

What it means in the books

  • Sales tax paid at the counter stays in Job Materials. It is part of the cost of the job, not a separate expense
  • Purchases with no Minnesota tax charged get flagged when they are entered, and the use tax owed posts to Minnesota Use Tax Payable, so the return is a total, not a hunt
  • Retail sales go to their own income account, with sales tax charged and itemized. Construction contract invoices never show a sales tax line
  • Local sales taxes depend on where the job is. Revenue’s rate calculator gives the rate for an address
  • Working for a city, county or school district? You and each sub file a Contractor Affidavit, Form IC134, when the work is done, and the government cannot make final payment until Revenue certifies it. A prime contractor holds a sub’s final payment until the sub’s affidavit is certified

Subcontractors, W-9s and 1099-NEC.

The 1099 problem is a January problem only if nothing happens the rest of the year. Done as you go, it is a list you already have.

$2,000
1099-NEC threshold for payments made after 2025. It was $600.
Jan 31
Due to the sub and to the IRS. In 2027 that moves to Monday, February 1.
24%
Backup withholding when a payee does not give you a correct TIN.
5%
The most retainage that can be held on a private Minnesota job.

Before the first payment

  • A Form W-9 with the sub’s legal name, tax ID and entity type. If they will not give you a correct taxpayer ID, the IRS expects you to withhold 24 percent from what you pay them
  • A current certificate of insurance showing general liability and workers’ compensation, with the dates checked. Under Minnesota Statutes section 176.215, if a sub does not carry the workers’ compensation it is required to, the contractor above them can be liable for its employees’ claims
  • The sub set up as a vendor in QuickBooks with the 1099 box ticked, so the year-end report is a filter, not a search

During the year

  • Every sub bill tagged to a project and posted to Subcontractors, so the job cost includes it
  • Retainage held from subs on its own payable account, released within 10 days of receiving yours
  • Minnesota law reads a building and construction contract as requiring you to pay subs within 10 days of being paid for their undisputed work, with 1.5 percent a month interest on late amounts

In January

  • A 1099-NEC to each sub paid $2,000 or more for services during the year, filed with the IRS and sent to the sub by January 31
  • Most corporations do not get one. Attorneys do, even when the firm is a corporation
  • Payments made by credit card or a payment app are reported by the processor on Form 1099-K, not by you
  • Any 1099 that reports Minnesota withholding also goes to Minnesota Revenue by January 31

Year-end deadlines for W-2s and the Minnesota filings are in the year-end bookkeeping checklist.

Trucks, equipment and the loans behind them.

Most of a contractor’s money is in what sits in the yard. The books have to show what you own, what you owe on it, and what it costs to run.

Recording the purchase

A financed truck goes on the books at its full cost as an asset, with the loan as a liability for the amount borrowed. The down payment comes out of checking. Nothing hits the profit and loss on the day you buy it.

Every payment, split

A loan payment is two things. The principal reduces the loan balance. The interest is an expense. Posting the whole payment to expense overstates costs and leaves a loan balance on the books that never goes down. Each month the balance should tie to the lender’s statement.

Depreciation

How fast a truck or a skid steer gets written off is a tax decision, and it belongs to your tax preparer. My job is to hand them the list: what was bought or sold, the date, the cost and how it was paid for. Their depreciation schedule then gets booked to match.

Mileage and vehicle records

The IRS business mileage rate for 2026 is 72.5 cents a mile for January 1 to June 30 and 76 cents a mile for July 1 to December 31. Two rates in one year is one more reason the log needs dates.

  • IRS Publication 463 lists what the record needs: the cost of the vehicle and the date you started using it for business, the miles for each business use, the date, the destination and the business purpose, and the total miles for the year
  • A phone app that logs trips as they happen is a record. A number estimated in March is not
  • Fuel, repairs, insurance and registration go to their own vehicle accounts, so your preparer can compare actual costs with the mileage rate
  • A truck the owner also drives on weekends needs its personal miles in the log too. Total miles are part of the record

Cash flow on a job.

A job can make money and still empty the bank account, because the crew and the supplier get paid before the customer does.

The example on the right is a $60,000 remodel that ends with $9,000 of profit. In week six the job is $22,000 underwater. Run three of those at once and that is $66,000 the business has to carry.

The levers are the deposit, the billing schedule and how fast an invoice goes out. On private building and construction contracts in Minnesota, progress payments are due monthly as the work progresses unless the contract says otherwise, so the contract is where a billing schedule gets set.

  • Size the deposit to cover the first materials order
  • Tie progress bills to milestones a customer can see: rough-in done, cabinets set
  • Send the invoice the day the milestone is hit, not at the end of the month
  • Book deposits as a liability until the work is billed, so the profit and loss is not flattered by money you have not earned
An example job, not a client: cash position by week on a $60,000 remodel with a 30 percent deposit, one progress bill and a final bill, each paid three weeks after it is sent.
  • Signing$6,00030% deposit in, materials ordered
  • Week 1$3,000Crew
  • Week 2$0Crew
  • Week 3−$9,000Crew, plumbing sub
  • Week 4−$12,000Crew. Progress invoice for $24,000 sent
  • Week 5−$19,000Crew, more materials
  • Week 6−$22,000Crew
  • Week 7−$1,000Progress payment in, crew
  • Week 8−$9,000Crew, electrical sub. Final invoice for $18,000 sent
  • Week 11$9,000Final payment in
Job is ahead on cashBusiness is carrying the job

A month-end close for a contractor.

Twelve checks. When they are done, the profit and loss is true, each job’s margin is real, and January is a report instead of a project.

  • Reconcile every bank account, credit card and line of credit to the statement
  • Make sure every bill, receipt and card charge from the month carries a project, or a reason it does not
  • Check that field hours for the month are on the right projects
  • Send every progress invoice that is due, and every change order that is signed
  • Review open customer invoices. Anything past 30 days gets a call
  • Tie retainage receivable to a job-by-job list, and retainage payable to a sub-by-sub list
  • Move customer deposits to income for the work that has been billed
  • Total materials bought without Minnesota sales tax and post the use tax owed
  • Split every truck and equipment loan payment into principal and interest, and tie the balance to the lender's statement
  • Confirm a W-9 and a current certificate of insurance on file for every sub paid this month
  • Clear the ask-my-bookkeeper account to zero
  • Review each open job's profit to date against its estimate

Which tier fits a contractor.

Three tiers, a starting price on each, QuickBooks Online included. Most contractors land on The Foundation: tax-ready books, receivables and payables managed, and 1099s handled.

The Basics

From $400/ month

For an owner who wants the books off their desk. One truck, jobs billed on completion, a few subs and no retainage. Every cost still gets tagged to a job, so the report shows which ones paid.

  • Every transaction categorized
  • Bank and credit card accounts reconciled every month
  • QuickBooks Online included, with view-only access to your bank and cards
  • Balance sheet and income statement in your inbox within 20 days of month-end
More about The Basics→

The Foundation

From $600/ month

For an owner who wants more of the accounting handled. A crew on payroll, several jobs open at once, progress billing, retainage and a list of subs to 1099. Most contractors land here.

  • Everything in The Basics
  • Statements within 15 days, plus a cash-flow statement and a monthly management report
  • Tax-ready books, and I work directly with your tax preparer
  • Accounts receivable and payable managed and reported
  • A monthly check-in on where you stand, and an annual budget
  • 1099s handled, up to 20
More about The Foundation→

The Partner

From $1,800/ month

For an owner who wants a second set of eyes on the numbers. Several crews, a surety or bank asking for reports, equipment and hiring decisions, and a financial review call twice a month.

  • Everything in The Basics and The Foundation
  • Statements within 10 days, transactions reconciled weekly
  • A financial review call twice a month
  • Quarterly budget-to-actual review, KPI and trend analysis
  • Working-capital oversight and planning for what is next
  • Workflow and automation support
More about The Partner→
Take the questionnaire

Payroll is an add-on on The Foundation and The Partner, quoted by headcount and filings. Books that are behind get a catch-up quote first.

What contractors ask about their books.

If yours is not here, the 15-minute call is where it gets answered.

  • Job costing first. Every material, labor and subcontractor cost tagged to the job it belongs to, every invoice raised on that job, and a monthly close where the bank and cards are reconciled and each open job is checked against its estimate. Add retainage, deposits and use tax tracked on their own accounts, and the books tell you which jobs made money.

  • For job costing, Plus or Advanced. Those are the plans that include projects and class tracking. Simple Start and Essentials can keep books for a contractor, but they cannot show profit by job.

  • Projects for jobs, classes for something that lasts longer than a job: a division, a crew, or a kind of work like new construction versus service. A job is a customer with a start and an end, which is exactly what a project is. Classes used as jobs pile up into a list nobody can read.

  • Not on construction contracts. When you furnish and install materials into real property, you pay sales or use tax on the materials and do not charge tax to the customer. Items sold without installation are retail sales, and you charge and itemize tax on those.

  • To each one you paid $2,000 or more for services during the year, for payments made after 2025. Payments to most corporations are excluded, and payments made by credit card or a payment app are reported on Form 1099-K by the processor. Collect a W-9 before the first payment so you have the information when January comes.

  • On a private building and construction contract, Minnesota law caps retainage at 5 percent and requires the owner to release it no later than 60 days after substantial completion. When you receive it, you have 10 days to pay your subs their share. Contracts with public agencies are outside that rule.

  • If you bill on completion and jobs last a few weeks, usually not. If a surety is bonding your work, a bank is lending against it, or you have jobs open across several months with progress billing, a WIP schedule is the report that shows whether you are ahead of or behind your own billing.

Sources

Checked October 12, 2026. Rules and published prices change; the linked page is the final word.

  1. Intuit, Create projects in QuickBooks Online. Projects are available in QuickBooks Online Plus, Advanced and Intuit Enterprise Suite, and where to turn them on
  2. Intuit, Turn on class tracking in QuickBooks Online. Classes in Plus and Advanced, one class per transaction or one per row
  3. Intuit, Import your chart of accounts to QuickBooks Online. Required columns and the import steps
  4. Minnesota Statutes, section 337.10 (building and construction contracts). Prompt payment to subcontractors, monthly progress payments, the 5 percent retainage limit and the 60-day release
  5. Minnesota Department of Revenue, General Contractors and Subcontractors. Tax on materials, use tax, how to invoice construction contracts and retail sales
  6. Minnesota Department of Revenue, Contractor-Retailer guidelines. The 50 percent test for primarily a contractor or primarily a retailer
  7. Minnesota Department of Revenue, General Definitions (contractors guide). Construction contract, contractor and fabrication labor
  8. Minnesota Department of Revenue, Contracts with Exempt Organizations. Purchasing agent agreements and Form ST3
  9. Minnesota Department of Revenue, Contractor Affidavit Requirements. Form IC134 on state and local government construction projects
  10. IRS, Instructions for Forms 1099-MISC and 1099-NEC. The $2,000 threshold for payments after 2025, the January 31 deadline and the exceptions
  11. IRS, Backup withholding. 24 percent when a payee does not provide a correct TIN
  12. Minnesota Department of Revenue, Forms W-2 and 1099. 1099s that report Minnesota withholding are due to Revenue by January 31
  13. Minnesota Statutes, section 176.215 (subcontractors and workers' compensation)
  14. IRS, Standard mileage rates. 72.5 cents a mile for January 1 to June 30, 2026, and 76 cents for July 1 to December 31, 2026
  15. IRS, Publication 463 (Travel, Gift, and Car Expenses). What a mileage record needs to show

Fifteen minutes between jobs.

The questionnaire takes about ten minutes. Tell me what kind of work you do and how you bill it, and I will bring the tier and the price to the call.