In order to understand true profitability, it’s important to look at earned revenue instead of cash received. For example, if you require a 20% deposit at contract signing, and the job is sold at $100,000 the $20,000 check you receive really shouldn’t be classified as earned income because you don’t have any costs to record against it.

There are several ways that you can end up with the desired result, which is to see only earned income on your P&L. Be aware that if the method used ends up with your having dollars of payments in a liability account, in terms of tax reporting, “cash is cash” and if you file your taxes on a cash basis (check with your accountant on this), any dollars – earned or unearned – that you receive from customers must be reported as income. This is typically handled at year end by the tax preparer making a journal entry to temporarily classify these dollars as income on the last day of the tax year (December 31 for calendar year filers), and then reversing the entry on the first day of the following year (January 1 for calendar year filers). Doing so properly adds the received dollars to the P&L where they can be included as taxable income, but the reversal keeps things accurate for the following year.


1. Display earned income on the P&L.

2. Be able to determine whether you are using the customer’s money to pay for the project (this involves knowing whether you have invoiced each job sufficiently to cover costs plus the job’s “fair share” of overhead and the job’s “appropriate contribution” to target profit)

3. Identify achieved gross profit overall and for each in-progress job with reasonable accuracy.

Method 1: T&M Invoicing

In this method, the job is sold with the understanding that actual costs (burdened labor plus actual material and subcontractor costs) will be reported, an agreed-upon markup applied, and the customer will pay as the project progresses.

1. For contractors who have limited confidence in their estimating abilities, this can be a safe option.

2. It can also be useful when costs fluctuate wildly due to supply issues.

3. If payments are scheduled on a regular basis (say, every Tuesday following submission of the invoice on Monday, when all costs from the prior week have been assembled), the customer will be dealing with bite-sized outlays of money and the weekly payment will be expected and hopefully planned for.

1. For the customer, there is no way to really have a budgeted cost up front. If things crop up, too bad; they still have to pay.

2. Because invoices are generated as the job progresses, it’s impossible for the contractor to avoid shelling out money before it is reimbursed by the customer. This breaks the rule: “Always pay for the project using the customer’s money.” For example, with a contract price, an invoice typically accompanies the signing of the contract. These bucks are designed to cover the startup costs (and accompanying overhead) that inevitably occur prior to what the customer would call “the start of the job.” With T&M invoicing, if state law permits, it’s best to request a “deposit” amount beforehand. This can be sold as a way to “hold your slot in our schedule” or anything else that sounds reasonable. These dollars can then be credited back to the customer on each invoice. The customer will end up paying the same amount, but the contractor won’t have to carry the job between signing the contract and creating that initial invoice that follows the first visible work on the project.

3. The contractor may feel compelled (by a desire for total transparency or in response to customer demand) to provide detailed information regarding time spent and actual costs incurred. This can be time-consuming, although with the proper preparation, reports can be memorized and easily run for each billing period. Under no circumstances should the contractor feel compelled to provide paper copies of everything.

4. T&M jobs have a tendency to go on and on. While there should be an agreed-upon scope of work, T&M projects seem to expand more easily than contract price jobs. One reason may be that with a contract price job, changes are recorded as change orders which must be reviewed, agreed upon, and paid for by the customer. But with T&M jobs, the creation of change orders may not occur. Such changes may simply be viewed (sometimes by both parties) as an expansion of the existing job rather than as reason to commit to a separate agreement.

5. Because the customer will see actual costs (the level of detail provided will probably vary from company to company) the harsh fact of the markup amount will be in the customer’s face with every invoice. With contract pricing, the markup is embedded, as it is with virtually any other product we buy, from groceries to tools.

Method 2: Percent of Completion Invoicing

On the surface this may seem identical to T&M Invoicing. However, the difference is that there is a set budget (the sale price) to which all parties have agreed. The scope of the job is understood, and the payment schedule may be time-based (invoice every week or two) or milestone-based (payments tied to milestones within the project). Just avoid creating milestones based on “completion of” since supply delays, inclement weather, crew injuries or any number of delaying events can happen. Instead, tie to “start of” or “ready for” milestones that provided more flexibility.

1. Because in theory invoiced are based on actual costs incurred to date, this method conforms to the Matching Principle which states that revenue is earned at the same proportion as costs are incurred. In other words, if the project budget is $100,000 and it was sold at a 50% markup for $150,000, then if you have spent $35,000 in costs (and remain on budget), the project is considered 35% complete, and you have earned 35% of the job sale price ($52,500).

2. Everybody knows ahead of time what the job will cost (excluding any change work).

1. Success is completely dependent upon accurate job costing. Errors such as not using fully burdened labor costs when calculating how much the company has spent on labor can cause huge problems if the cost of the job was estimated using burdened labor costs. For example, if you estimate that burdened labor costs the company $43.72/hour but your accounting software only shows $38.91/hour, then when you attempt to calculate percentage completion, you will be shorting yourself by $4.81/hr. In other words, if your crew put in 200 hours during the first week on Job X and the labor budget was $100,000, your software might show labor costs as $7,782.00 (or 7.78% complete) when in fact your labor costs were actually $8,744.00 (or 8.74% complete).

2. Cost overruns must be tracked carefully. If the budget for materials was $100,000 but somebody cut the Parallam five inches too short, the additional cost of replacing it (or even the time required to figure out and execute an acceptable workaround!) can’t contribute to the original budget as doing so would artificially decrease the percentage of completion. Deviations from the budget must be tracked carefully and a predictable method for reviewing, adjusting, and then calculating percentage of completion must be established (and followed!).

3. A reasonable method of tracking and invoicing change work must be established, incorporated into the contract, and explained to the customer. Some contractors prefer to invoice 100% of the change order, treating it more or less like a small separate job. Others prefer to add the estimated cost of the change order(s) to the original contract and then calculate percentage of completion based on the revised budget. Whatever you do, just be sure it’s consistent.

Method 3: Fixed Price with Payment Schedule – No WIP

The job is estimated, markup applied, and the price is set. The contractor sets up a schedule of payments that will provide positive cash flow. A method for handling change work is incorporated into the contract.

1. All parties agree to the price and the payment schedule before the job starts. The customer knows up front what the payments will be, so can make whatever preparations are required to cover the costs as they arrive.

2. The contractor can front-load to cover startup costs. Typically, the first invoice is “at signing,” and these funds will cover any costs incurred (including a portion of the job’s “fair share” of overhead). No, No, No, this payment should NOT be used to make up for the last job’s profit shortfall!

3. While accurate job costing is always important (so you can spot discrepancies in expected costs and take action as the job progresses), invoicing is not dependent on it.

4. Customers typically review, approve, and then pay for change work as it occurs.

1. Your financials will show income based on the scheduled payments, not on earned income. So let’s say you have three jobs with contracts that got signed in April. They won’t start until May or June. You record the “at signing” payments as income, but none of the jobs have identifiable costs associated with them. So April’s income and gross profit look fantastic, but wrong.

NOTE: Some companies try to avoid this by simply recording a credit to Accounts Receivable instead of creating an income-based invoice. The problem with this is that your overall Accounts Receivable will be inaccurate as they will contain a bunch of negative figures. This also affects your Current Ratio which provides a measure of positive cash flow.

Method 4: Fixed Price with Payment Schedule – with WIP

This method is exactly the same as Method 3 above, but on a regular periodic basis (typically monthly), a WIP (Work In Progress) calculation is made and financials are adjusted based on the results.

WIP is based on the Matching Principal (defined in Method 2 above). Re-visiting the example used in Method 2, if the project budget is $100,000 and it was sold at a 50% markup for $150,000, then if you have spent $35,000 in costs (and remain on budget), the project is considered 35% complete, and you have earned 35% of the job sale price ($52,500). But if you have front-loaded your payment schedule (which is advisable in terms of cash flow) and you have actually invoiced $60,000 instead of the earned $52,500, then you have overstated your income for that period and must make a correction. This is called the WIP adjustment. In this example, if you look at the P&L for that job for that period, you will see $60,000 in income. But you should only see $52,500. Therefore, you will need to subtract $7,500 from that job’s income. It is best to create a new income account called WIP Adjustment and make the adjustment there. The result might look something like this:

WIP Adjustment Account on P&L
WIP Adjustment Account on P&L

Depending on where each project is (start, middle, end), how the payment schedule has been set up, and the nature and extent of cost deviations from budgets, the WIP adjustments might be either positive or negative.

WIP Adjustments for multiple projects
WIP Adjustments for multiple projects

1. If the contractor is already doing Fixed Price with Payment Schedule, this method only requires him/her to add the WIP adjustment step to increase the accuracy of the financials.

1. Everything said in the above methods with regards to the importance of accurate job costing (especially cost over-runs) applies here. If you don’t have a really good handle on job costing, don’t even try this as the results will create more problems. It’s one thing to have numbers that you know are accurate (the number of dollars invoiced in a given period) but misleading (they aren’t all earned) and it’s quite another to “improve” things by making adjustments that are wrong!
2. Because WIP adjustments are reversed each month, income on financial reports will be correct only 12 days out of the year. Here’s why: because the adjustment is made on the last day of the reporting period (let’s assume monthly) and reversed on the following day, then using the numbers below, the net of the two WIP adjustments for January ($2,379) will only show up on January 31. On the first day of the month (unless there are additional invoices that day), income will show <$35,768> and that figure will contribute to all income for each day in January until the 31st, when the net figure will be added to the invoiced amount for that month. To further compound the situation, most companies wait until 10-15 days into the next month for all their costs to come in. That means that the WIP adjustment for January 31 may not be calculated until mid-February!

Monthly net WIP adjustments
Monthly net WIP adjustments

3. Unless you keep a separate spreadsheet for tracking which customers are over-billed (you have invoiced more than what the job has earned) or under-billed (you haven’t invoiced enough to cover the costs that have been incurred, which really means you’re financing the customer’s job!), it can be challenging to know where each customer stands. WIP adjustments are traditionally made to two separate accounts on the Balance Sheet:

a. An Other Current Asset type account called Costs in Excess of Billings. Entries to this account reflect the company’s “investment” in the project. In other words, you are using company dollars rather than customer dollars to finance the project.

b. An Other Current Liability type account called Billings in Excess of Costs Entries to this account reflect the excess above the amount the customer should be invoiced in order to cover the job’s costs, associated overhead, and proportion of profit. These dollars are unearned. They are considered liabilites because, in some circumstances, were the job to suddenly stop, the company might actually decide to return these dollars to the customer. Anything that you may have to “pay back” is considered a liability.

On the P&L, you will see the net result.

WIP Adjustment on P&amp;L
WIP Adjustment on P&L

But on the Balance Sheet, since these are separate accounts, it is not so easy to see where you stand.

WIP Adjustment on Balance Sheet
WIP Adjustment on Balance Sheet

Remember that any positive balance in Costs in Excess of Billings means you are “carrying” the job.

On the other hand, any positive balance in Billings in Excess of Costs reflects cash you have taken in but not earned.

4. It will be important to track actual costs vs. the budget, including projections for revised costs. For example, if your budget for framing was $42,000 and your PM estimates that the framing is half done but you have spent $25,000, then your projected costs for framing will be $50,000 which is $8,000 above the original budget. This means that your percentage of completion is only ($25,000 / $50,000) 50% complete rather than ($25,000 / $42,000) 59.5% complete.

Here is what happens if/when cost overruns aren’t included in the calculation for percent complete. For the sake of simplicity, assume this job had no change orders. Notice that the Estimated Cost for this job are $150,000 but at the end of the job the total actual costs were $159,085. In other words, there was a bit more than a 6% cost overrun. That doesn’t sound like much, but the results can be dramatic.

Let’s say the contractor just keeps on calculating percentage of completion based on actual costs, assuming the original estimated cost amount doesn’t change. But without incorporating allowance for deviations between estimated and actual costs, he risks a sudden change in achieved gross margin at the end of the job. For the first five months, the job appears to have a perfect 33.33% achieved gross margin, which is theoretically what you will get with a 50% markup on costs. It’s far too easy to continue to create that final invoice based on a percentage of completion figure which is wrong. This results in total invoices ($238,628) exceeding the sale price of the job.

Earned revenue without regard to cost discrepancies
Earned revenue without regard to cost discrepancies

But in reality, in the sixth month, while the math says that you should invoice $238,628, the job was sold at only $225,000. That means that in the sixth month you only have $3,548 left to invoice and your achieved gross margin will suddenly drop. At the end of the job, the margin suddenly drops by 4% from 33.3% to 29.3% (refer below).

Drop in achieved gross margin due to ignored cost overruns through duration of job
Drop in achieved gross margin due to ignored cost overruns through duration of job

Contractors constantly struggle with the moving target of budget vs. actual, but unless this is built into the equation when calculating WIP, your efforts will not produce the desired results. Remember that while your estimated costs can (and often do) expand as a result of cost over-runs, the price of your job will not expand (other than via approved change orders). By the same token, if you come in under budget, your percentage of completion will be larger and the percentage of earned income will be larger. A simplified WIP calculation might look like this:

Simplified WIP calculator including adjustments for change work and budget discrepancies
Simplified WIP calculator including adjustments for change work and budget discrepancies

Method 5: The “Two-Job” System

This represents a blend of percentage of completion invoicing and contract price with payment schedule. Two “jobs” are created for each project. One job (the “payment” job) is only used for invoicing according to the payment schedule, and all payment dollars are considered liabilities. Invoices for the payment job affect Accounts Receivable but not income. This avoids including payment schedule invoices as income on the P&L. The second job (the “project” job) is used for estimating, job costing, and invoicing percentage of completion. These invoices are “paid” immediately using a credit memo from the liability account, so the Accounts Receivable balance on project jobs will always be $0.

1. No adjustment to income is needed because all income on the P&L is earned. It is generated via percentage of completion invoices on the project job(s).

2. Because a single liability account (typically called Customer Deposits or similar) is used, it is very easy to generate a report that shows each customer’s balance in the liability account. Customers with positive balances have been invoiced for more dollars than the job has earned; customers with negative balances have been invoiced for fewer dollars than the job has earned.

3. On the Balance Sheet, the balance of the account reveals the net amount of unearned dollars the company has collected. A positive balance indicates that the company has collected dollars that have not been earned. This is great for cash flow, but it’s important to remember that your cash balance has been inflated by these dollars. In other words, if you have $100,000 in your checking account, but $79,000 in your Customer Deposit liability account, you really only have $21,000 in “available” cash to spend!

4. This account can also be easily reconciled at the end of each job, to confirm that the amount invoiced via the payment job matches the amount of income reported for the project job.5. For tax purposes, at year-end a single adjusting entry can be made to zero out the balance in the Customer Deposit liability account with an offset to income. As with any such tax-related adjustment, the entry would be reversed on the first day of the following year.

1. Unlike WIP adjustments, the 2-job system typically uses periodic costs rather than cumulative costs. In other words, costs for a given period (usually a month) are included in a report that forms the basis of the percentage of completion calculation. This requires careful dating of bills, paychecks, etc.

2. Like WIP, it’s critical to take into account change orders and projected deviations from estimated costs. Otherwise, your percentage of completion invoices will be inaccurate (refer to Figure 6 above).

3. Because income-related invoices for the project job are always paid using a credit memo to apply the customer’s dollars from scheduled payments to the project job, it’s all too easy to over-credit. In other words, referring to Figure 6 above, it would be possible to “pay off” the income-recognizing final invoice for this job based on the Matching Principle and using liability dollars in the Customer Deposit account. This would have two results:

a. Income on the P&L would be over-stated (this job would show $238,628 of income instead of $225,000)

b. The customer’s balance in the Customer Deposit account would show <$13,627.50> as a result of crediting an artificially inflated invoice