Skip to main content
Checked against the product · 2026-09-14

Revenue Recognition — Controller Guide

Arcvue recognizes revenue under ASC 606 on its own, every day, for every active contract. Your work is not to run it; it is to decide, once per contract, how the contract earns its revenue, to record that decision with its reason and the contract language it rests on, and to review the result at close. This guide covers all three.

Part 1 — The ideas you need first (read once)​

Earned, billed, and paid are three different moments​

Earned is when control of what you promised transfers to the customer. Billed is when you send the invoice. Paid is when cash arrives. Recognition is about the first. For most hourly work the first two coincide, because the contract entitles you to bill exactly what you performed. For a fixed-price contract they can sit months apart, and that gap is the whole subject.

What the recognition run does​

Every day at 11:00 the recognition run looks at each open month and each active contract, derives the month's revenue, and posts it: revenue credited, unbilled receivables debited. An open month is re-derived every day, so a late invoice or a corrected schedule moves the posted figure on the next run. A closed month is never touched again. When the invoice for a period is issued, the amount moves from unbilled to billed receivables; when the customer pays, from billed receivables to cash.

Beside every posted amount the run records its basis: the rule that earned it and a sentence explaining the arithmetic. That row is the audit answer for the period, and the close screen shows it.

Which ledger is the book of record, and from when​

Arcvue's ledger becomes the book of record on a stated month, per legal entity. Before that month the books of record are the ones kept in the system Arcvue is replacing, and Arcvue's own figures for those months are the parallel run: really derived, really posted, and not the books.

The boundary is a stored setting rather than a convention, and every screen that reads a ledger resolves it the same way, so no two of them can disagree about which month belongs to which ledger. It is set once per legal entity, when the books move onto Arcvue, and it does not move afterwards. No screen displays it today, so if you are not certain which month yours is, confirm it before you elect rather than inferring it from what a panel is showing.

Three consequences worth knowing before you elect anything:

  • Elect from the boundary month, not from today. An election effective earlier drives only the parallel-run copy of those months, and that copy is replaced when the prior system's final figures are loaded. The card defaults to the earliest open month, which is not necessarily the boundary month -- set it deliberately.
  • The Revenue and receivables panel reads Arcvue's own ledger for every month, including the months before the boundary. So its figures for those months are the parallel run, not the books. From the boundary month on, they are the books.
  • A difference in a pre-boundary month is not a defect by itself. Before the boundary the other system is authoritative by definition, so a disagreement there tells you about the parallel run. What matters is whether every event that happened is being booked in Arcvue from the boundary on.

Which measure a contract may elect​

ASC 606 asks for a single measure of progress that depicts how control transfers. Arcvue offers the measures that fit the contract's shape, and only those:

Contract shapeMeasures offered
Hourly, level of effort, labor hoursRight to invoice — the practical expedient: revenue is what the contract entitles you to bill for the work done so far.
Fixed priceBilling schedule (a level monthly service or a stand-ready obligation), Straight-line over the funded period (time elapsed), Cost-to-cost (cost incurred over the estimate at completion), Labor hours (hours charged over a stated total-hours estimate), Milestones, at acceptance (point in time per deliverable).
Cost-reimbursableRight to invoice, or Cost-to-cost.
HybridNo contract-grain election; its parts recognize differently and the CLIN grain is not built yet.
Ordering vehiclesNone; a vehicle carries no revenue of its own. Its orders are elected.

An FFP level-of-effort contract is hourly work for this purpose and is offered the expedient, not the fixed-price measures.

Until a method is elected​

The run does not wait for you. A contract with no election recognizes on a default rule — what was invoiced for the month; for a fixed-price contract with no invoice yet, the billing schedule rows dated in the month, else the current option period's value over twelve. The number is real and it posts. What it lacks is a decision: the close screen marks the contract No method elected, and an auditor reading the basis row sees a default, not a conclusion. Elect the method to make it one.

What Arcvue deliberately will not do​

  • It never bills from a recognition figure. Billing rates, fixed-price amounts and fees come from the executed contract document; recognition reads them and never becomes a source for them.
  • It never estimates an award fee. The pool is the contracted maximum, not an expectation, and the fee is recognized when it is determined and billed. Whether Arcvue should estimate award fees is an accounting-policy question that has not been ruled on.
  • It never guesses. A measure that cannot be grounded on the contract record — a cost-to-cost election with no estimate at completion, a schedule election on a contract with no schedule — posts nothing and says why.

Part 2 — Electing a method (once per contract)​

Open the contract from the register. On its page, the Revenue recognition method card leads with the truth for this contract: the method in force and since when, or recognized on the billing schedule for August with no method elected, or nothing recognized yet.

Closed and inactive contracts owe no decision. The register shows a dash for them and does not count them, so a company bringing its history into Arcvue is never walked back through finished work; what the prior system recognized stands. If you do need a method on one -- a period you are re-opening -- the card on its page still records it.

  1. Under How does this contract earn its revenue?, pick a measure. The card offers only the measures the contract's shape allows, each with what it measures. The preselected one is what the run would use unelected.
  2. Takes effect from — the first month the conclusion governs. It defaults to the earliest open month and cannot be a closed one, because a closed month is never re-derived.
  3. Why this method — your reason, in your words. It is stored with the election and is the audit answer to why.
  4. Contract language relied on — click Add a clause for each clause the conclusion rests on and quote it: the payment clause, the acceptance terms, a termination-for-convenience clause that establishes an enforceable right to payment. Quote, do not paraphrase. Remove takes a row back out.
  5. For Labor hours only: Total hours estimated and Where the hours estimate comes from. The card refuses the method without both.
  6. Only for the cumulative measures -- straight-line, cost-to-cost and labor hours -- on a contract that earned revenue before Arcvue kept its books: Revenue recognized before Arcvue and the month it is Recognized through, so the cumulative arithmetic starts from the truth instead of re-recognizing what the prior books already did. Right to invoice, the billing schedule and milestones never read either box: leave them empty. Leaving the amount empty is not the same as entering 0.00 -- any amount makes Recognized through required, and neither figure will be read.
  7. Click Record the election.

The card then shows the method, from which month, the reason, the clauses, who elected it and when, and whether it is Locked (the run has posted a period under it) or Open.

Changing the method​

Change the method records a new election from the month you state; the earlier one stays beside it, and every month keeps the answer it was recognized under. If revenue has already posted under the old election, the card says so: open months from the new effective month re-derive on the next run, and a cumulative method (straight-line, cost-to-cost, labor hours) books the catch-up in that first month — negative when the old method ran ahead. Elections are append-only; nothing is ever edited or deleted.

Part 3 — Reviewing recognition at close (monthly)​

On Period Close, the Revenue recognition (ASC 606) panel shows the month per contract:

  • Method — the election in force, or Default rule with Elect on the contract page beside it.
  • Basis — the rule that earned the amount and the run's own sentence.
  • On the books and Derived now — what posted, and what the run derives from today's inputs. They agree when nothing has moved.
  • State — On the books, Will restate (the next run moves it), Posts on the next run, Cannot be grounded (with the reason), or Nothing due. Contracts the run does not recognize by design — ordering vehicles, contracts outside their period, sample contracts — sit under Nothing to recognize this month.

The header sums On the books and Derived now for the month and says when they differ. A closed month reads as posted and the panel says so; the run does not re-derive a finalized month, so a correction to a closed month is a journal entry, not a re-run.

What to do with each state​

StateWhat it meansWhat to do
Will restateAn input changed since the amount posted.Read the basis sentence and confirm the change is right; the run moves the figure on its next pass.
Books kept elsewhereThe contract is tagged to a legal entity whose books this tenant does not keep.Nothing: it sits with the quiet rows so the count stays visible, and nothing posts here by design.
Cannot be groundedThe elected measure needs something the contract record lacks.Supply it — the estimate at completion, the billing schedule, the funded period dates — or re-elect a measure the record can support.
Default ruleThe amount is a default, not a decision.Elect the method on the contract page before the month closes.
Nothing dueThe measure is grounded and yields nothing this month.Nothing, unless you expected revenue: then check the schedule dates or the invoice.

Ask Arcvue to propose​

The election card offers Ask Arcvue to propose. Arcvue reads the contract's executed document and proposes one method from the set this contract's shape offers, with the clauses it relied on quoted as printed, a basis a controller could sign, the total-hours estimate only when the document states one, and the questions the document leaves open. Nothing is recorded until you conclude: Use this proposal prefills the form, you edit anything, and Record the election records it as confirming that proposal, so the audit trail reads what was proposed beside what was concluded. Set it aside keeps the proposal on record and leaves the form as it was. A refusal prints in place with its reason: no executed document is linked (upload the award first), the shape carries no election, or the answer did not fit the question.

Common questions​

The number is right but the method says Default rule. Is it wrong? The number is right and it posted. What is missing is the decision an auditor reads. Elect the method; the next run records the election beside the amount.

I elected straight-line and the first month posted a large figure. That is the catch-up: cumulative-to-date under the new measure, less what was recognized before. The basis sentence shows the arithmetic.

Which months are Arcvue's books, and which belong to the old system? Arcvue's ledger is the book of record from your stated boundary month onward; before it, the prior system's books are. The Revenue and receivables panel shows Arcvue's own figures for every month either way, so for the months before the boundary you are reading the parallel run rather than the books.

Can I recognize a month by hand? No. The run derives every open month from the contract record, the schedule, the invoices, the timecards and the election. If the figure is wrong, one of those is wrong; fix it there and the run moves the figure.