Knowledge Center logo

Project Accounting and Job Costing

How job costs and revenue flow through WIP and deferred revenue, and how to close out jobs at period end so revenue and expenses land in the same month.

FieldValue
OwnerUnassigned — needs an owner
DepartmentGeneral Accounting
Effective dateNot set in source
ScopeProject (job) accounting in Sage Intacct — how costs and revenue accumulate on the balance sheet during a job, and the period-end close-out that moves them to the income statement. Each client has specific reports and processes for the close-out entries; the concepts here are common to all.
SourceGeneral Accounting/09 - Project Accounting/Project Accounting.docx

Project accounting tracks financials for specific projects. It's used in construction, engineering, consulting, software development, and research — anywhere work is organized into distinct projects.

The key principle: post all revenue and expenses for each project to the income statement in the same month. Everything else in this procedure exists to serve that goal.

Features of project accounting

FeatureWhat it does
Project-specific trackingRevenue, costs, labor, materials, and overheads are tracked per project rather than only company-wide.
Budgeting and forecastingEach project has its own budget and timeline, monitored for whether it stays within budget and on schedule.
Time and expense trackingLabor hours, contractor work, and billable expenses are assigned to the correct project.
Revenue recognitionDetermines when and how to recognize revenue, especially for long-term contracts (for example, percent-complete method).
ReportingProject P&L, budget vs. actual, and work-in-progress reports.

Key terms

TermMeaning
Jobs / ProjectsA temporary, unique initiative with a defined beginning and end, undertaken to create a specific product, service, or result — for example a builder constructing a residential home.
Open jobsCurrently active or ongoing. Costs are still being incurred and a final bill has not been sent.
Closed jobsAll work finished, all costs recorded, and the customer final billed.
Cost codesCodes representing industry-specific segments that group totals under the project. A home builder would use framing, drywall, windows, flooring.
Work in process (WIP)The balance sheet asset account where all costs for open jobs are posted — project costs started but not yet finished.
Loan drawsMoney the client requested from a lender against an approved loan. As costs are incurred the lender increases the loan balance and deposits funds. Recorded as liabilities.
Deferred revenueAll money received for an open job — generally loan draws from a bank or earnest money from the customer. Recorded as liabilities.

Reports

ReportPurpose
WIP reportAll open projects and the WIP amount for each. The total must tie to the GL balance.
Deferred revenue reportAll open projects and the deferred revenue for each. The total must tie to the GL balance.
Budget vs. actualProject budget, costs incurred to date, and the variance.
Job cost reportJob costs summarized by cost code.
Job draws reportJob draws and WIP per project, calculating whether the job is over- or under-drawn. For some clients current month expenses are broken into a separate column. Used to determine the amount a client needs to request from a lender to pay expenses.
Job detail reportA GL detail report for the job, often grouped by cost code.

How costs and revenue accumulate

The general rule: all job costs post to WIP, and all job revenue posts to deferred revenue. The WIP and deferred revenue reports are reviewed at period end to determine what moves to the income statement.

Job costs through AP

Job tracking starts as invoices are submitted through the weekly AP batch.

Clients are responsible for noting the job (for example SSC9768) and cost code (for example 13-MAIL) on each invoice. Manual checks and ACH payments are recorded the same way. Without the job and cost code, the cost cannot be assigned.

All job costs are posted as debits to WIP by the AP processor.

Sage Intacct AP invoice coded to a job and cost code
A job cost posted to WIP from an AP invoice

Job costs through the credit card import

Some job costs come through the credit card import. The client should designate any job-related costs by providing the job and cost code. These post as a debit to WIP.

Credit card import with job and cost code assignment
Job costs entering through the credit card import

Deposits

Deposits recorded from the bank rec are entered as liabilities:

  • Loans → credited to loan draw liabilities
  • Payments from customers → credited to liability accounts such as earnest money, deferred revenue, or job draws

Period-end close-out

Close out jobs as the last step of the period close. All AP must be entered, the credit card reconciled, the bank recs completed, and loans tied out first — otherwise close-out entries are made against incomplete cost and revenue data.

As part of period end, the client provides a list of jobs closed during the month.

1
Confirm the prerequisites are complete

Before making any close-out entry, confirm:

  • All AP is entered
  • The credit card is reconciled
  • The bank reconciliations are complete
  • Loans are tied out
2
Close out WIP

Run a report out of Intacct for the closed jobs giving the total of all costs for each job. Then make the entry:

Dr. Cost of Sales (P&L)
Cr. WIP (B/S)
Journal entry closing WIP to cost of sales
The WIP close-out entry
3
Close out deferred revenue

Run a report out of Intacct for the closed jobs giving the total revenue for each job. Then make the entry:

Dr. Deferred Revenue / Loan Draws / Earnest Money (B/S)
Cr. Job Revenue (P&L)

Each client has specific reports and processes for these entries, but the concept is identical across clients.

4
Update the project status

Change the project status from open to closed.

Go to Accounts Receivable → Set-Up → Projects. Find the project in the list and click edit. Enter the month-end date for the month the project was closed, and change Project Status to closed.

Sage Intacct project status and date fields
Updating project status and close date

These two fields affect several reports in Intacct and are what allow filtering and searching historical information later. Setting the status without the date, or vice versa, breaks that.

5
Tie the WIP report to the GL

Run the WIP report for open jobs and tie it out to the GL balance.

WIP report tied to general ledger balance
Tying the open-jobs WIP report to the GL balance

If WIP doesn't tie, the most common cause is expenses for jobs closed in prior periods being coded to WIP. Run the WIP report for all jobs to identify where the issue is. Any costs for closed jobs sitting in WIP must be reclassified to a cost of sales account on the income statement.

6
Tie deferred revenue to the GL

Follow the same process for deferred revenue. Run the summarized report for each GL — deferred revenue, loan draws, and so on — and tie each to its GL balance. Review variances, and most likely reclassify them to the income statement.

Deferred revenue report tied to general ledger balance
Tying deferred revenue reports to their GL balances

Expected outcome: WIP and deferred revenue reports for open jobs both tie to their GL balances, and all closed-job costs and revenue sit on the income statement in the month the job closed.

Summary of entries

TransactionDebitCredit
Posting AP invoicesWIP (B/S)Accounts Payable (B/S)
Posting credit card transactionsWIP (B/S)Credit Card Payable (B/S)
Manual checksWIP (B/S)Bank Account (B/S)
Deposits from loansBank Account (B/S)Loan Draws Payable (B/S)
Deposits from customersBank Account (B/S)Deferred Revenue or Earnest Money (B/S)
Close-out WIPCost of Sales (P&L)WIP (B/S)
Close-out deferred revenueDeferred Revenue or Earnest Money (B/S)Job Revenue (P&L)