Revenue Recognition
Revenue recognition decides how much of a project's contract has been earned at a date, compares it with what has been billed, and posts the difference to the ledger as accrued revenue (earned, not yet billed) or deferred income (billed ahead of the work). Use it so the profit and loss shows what a project earned in the month, not just what happened to be invoiced.
Where to find it
Architect Panel → ERP - Projects & Time:
- Projects & Time — each project's Revenue section, and the recognition accounts on Rates & settings
- Revenue Recognition Settings — the per-company accounts recognition posts to
- Revenue Recognition Runs — every run per billing plan, with the journal it posted (read-only in practice)
Admin Panel → Projects & Time:
- Projects & Time — the same console for project managers and finance staff
The methods
The method is chosen on the project's billing plan under Revenue recognition:
- As invoiced: revenue equals what has been billed. No accrual or deferral arises.
- As work is performed (time and materials): billed to date, plus approved unbilled time at bill rates, plus rebillable expenses. On a capped plan it stops at the cap.
- Percentage of completion: cost to date divided by the estimated cost (the project's cost budget), times the contract value. Rebillable expenses are left out of both sides, because they are recharged at cost on their own lines.
- On milestone delivery: the value of milestones achieved by the date.
- Straight line over the plan: days elapsed between the plan's start and end, times the contract value.
- On completion: nothing until you mark the contract complete, then the whole contract value.
Setting up the accounts
- Open Projects & Time, choose the company and go to Rates & settings.
- In Project accounting: recognition, WIP and expense claims, choose Revenue (an income account), Accrued income (an asset) and Deferred income (a liability). All three are required.
- Optionally set a Journal type (up to 16 letters or digits, for example RR) so recognition journals can be numbered and filtered.
- Click Save accounts. Saving needs post access to the company.
The card shows Set for this company, Using the group settings or Not set - recognition cannot post. A plan can name its own accounts under Revenue recognition accounts for this plan (optional); empty uses the company setting. Billing-run invoices are credited to the same revenue account, so invoices and recognition meet on one account.
Running recognition for a project
- Open the project and go to Revenue. The card shows the method and the accounts it will use.
- Set As at and click Calculate.
- Read the result: Recognised to date, Billed to date, the accrued or deferred balance, a sentence explaining the basis, and the Journal this run would post.
- Click Post recognition and confirm with Post. If nothing has moved since the last run, the button reads Record this run and no journal is posted.
The History table lists every run with its percentage complete, recognised, billed, the change, the accrued and deferred balances, and the journal. For On completion, the Revenue section also offers Mark contract complete with a completion date, and Reopen to undo it.
Running it every month automatically
The scheduled task Revenue Recognition (month end) recognises every plan that has a method, in every company, as at the last day of the previous month. It ships disabled; the hosting administrator or an architect switches it on in the platform's scheduled tasks (see Scheduling). Because runs only move forward and a repeat with the same date is refused, a daily schedule posts once a month.
What goes wrong
- "Runs must move forward in time": a later run already exists. To correct a run, reverse its journal in the ledger.
- "Percentage of completion needs a cost budget for the project" or "needs a contract value (or a fixed price) on the plan": add the budget or the value.
- "Straight-line recognition needs the plan's start and end dates": set them on the billing plan.
- Cost to date is over budget: a warning says the estimate has been raised to cost to date. Re-forecast the budget, or the percentage complete stays at 100%.
- Post recognition is disabled: an account is missing, or you lack post access or the ERP: Projects or ERP: Finance role.
Worked example
A fixed-price project has a contract value of 120,000, a cost budget of 80,000 and recognition by percentage of completion. At 31 October cost to date is 30,000, so it is 37.5% complete and 45,000 is earned. Two instalments of 30,000 have been billed, so 60,000 is billed and 15,000 is deferred income. The run posts the change in the deferred balance against revenue, and the History row shows the journal number.
Recommendations
- Set the company accounts once and let plans inherit them unless a contract needs its own.
- Calculate before you post and read the basis sentence.
- Keep the cost budget current on percentage-of-completion projects.
- Switch on the month-end task once a month's manual runs agree with your expectations.