Revenue recognition
Project Financials includes a configurable month-end revenue recognition process built for project-based businesses. It calculates how much revenue (and how much cost) to recognise on each project at period-end, posts a single recognition transaction, and reclassifies the underlying invoices and bills to deferred GL accounts until they're covered by a recognition entry.
What this covers
Revenue recognition turns the raw flow of customer invoices and vendor bills into accurate, period-aligned revenue and cost-of-sales numbers in your GL. Without it, project businesses end up booking revenue when invoices happen to be raised — which rarely matches the work actually performed.
Project Financials uses a percentage-of-completion model. The recognised amount for each project in a period is driven by your choice of basis:
- Cost-incurred basis — recognise revenue in proportion to cost incurred against the budget cost. The standard cost-to-cost approach: each period's recognition is the calculated % complete amount minus what's already been recognised.
- Billing-driven basis — recognise revenue against billings. Each period's recognition is the calculated % complete amount minus what's already been billed. Useful as a catch-up method to true-up against actual billings.
Pick one basis per project. Most commercial-construction clients run on the cost-incurred basis.
How it fits together
- Throughout the month, normal NetSuite invoices and bills post to standard AR / COGS accounts.
- A pair of custom GL plug-ins reclassifies those postings to deferred-revenue and deferred-expense accounts for projects flagged for revenue recognition.
- At month-end you run the revrec batch — it calculates each project's recognised revenue and recognised cost and posts a Revenue Recognition transaction that clears the deferred amount and books it to actual revenue / cost of sales.
- The deferred GL accounts always net to "work invoiced or billed but not yet recognised."
Capital projects (build-to-hold) use a separate Capitalisation flow rather than revenue recognition. See Capital project revrec.
In this section
- Set up revrec rules — turn on revrec for a project, pick the basis, set the deferred accounts
- Run a monthly batch — the end-of-month workflow
- Adjust a revrec entry — override a calculated line before posting
- Capital project revrec — capitalisation for build-to-hold projects
Requires
- Project Financials installed and configured — see Install & configure
- Deferred revenue and deferred expense GL accounts set up in your NetSuite chart of accounts
- Subsidiaries configured with a Configuration record — see Configuration record fields