Skip to content

Run the recognition close

On a workspace that recognizes revenue cost to cost, revenue on a project is earned as the work is done, not when the deposit lands. The Recognition screen is where finance sees that computed month by month: one period per month, one run per contract inside it, and a guard report on every run that says whether the numbers reconcile. Period close is not project close: every active contract gets a run every month, computed together, and a project’s own closeout is the separate gate on the project itself.

Before you start

The screen is for people who can see project money. It matters on a cost-to-cost workspace; a management-only workspace sees the same computed figures on its Live profit panels, but nothing here ever moves to accounting for it. In this release the screen is the read: posting to QuickBooks and locking the period arrive with the accounting writer, and the page says so under the table.

The page

Recognition close: the period picker, the Open, Computed, Posting and Locked stepper, stats for the period earned, posted, pending and blocked, one run per contract with its guard result and run status, the note that posting arrives with the accounting writer, and the seven-check guard report for the selected run Screenshot from a demo workspace; data illustrative.

  • The period picker at the top right lists recent month ends; the selected one drives the page. The Periods card at the bottom right lists them with their state.
  • The stepper reads Open, Computed (with the time of the last compute), Posting and Locked. A period reaches Computed on its own every night.
  • The four stats: the period’s earned total across the contract runs, Posted, Pending post (runs whose guard passes) and Blocked by guard.
  • The run table has one row per active contract: Earned to date, This period, the Guard result, and the Run status, which reads Computed when the run earned something this period, No entry when it earned nothing, and Blocked when the guard failed. A contract on hold carries an On hold chip. The footer is the Period totals.

The guard report

Select a row to read its guard report. The page opens on the first failing run if there is one. Seven checks, each with a plain sentence for its result:

  1. Billing tie-out: the invoices on the deferral line equal the milestone ledger.
  2. Deferral rollforward: prior balance plus period bills less period recognition matches the computed balance.
  3. Coding-leak scan: every job-coded bill line lands in a mapped project cost account.
  4. Labor sanity: absorbed labor does not exceed punched labor for the period.
  5. Revision integrity: no draft or pending revision is in the projected final cost, and the revisions included never go backwards against the prior run.
  6. Loss netting: the loss provision equals projected loss less loss recognized, never negative.
  7. Stock and job-direct dedup: no stock shipment’s cost also rides a job-direct vendor bill.

A check can pass, fail or be skipped. A skip means the data to run it is not connected yet, which today is the case for the two checks that read invoices and bills from your accounting connection; a skip never blocks. A fail does: a failing run keeps its snapshot and blocks posting, and the next nightly run retries after the fix.

What happens each night

Every night, after two in the morning in your workspace’s time zone, Florio computes a run for every active contract: cost to date from shipped stock and approved hours, the projected final cost from the ledger, the percent complete, what has been earned to date, what that means for this period, and the billing position against the invoiced milestones. The same run feeds the Live profit panel and the Project status report, so the three screens never disagree.

Good to know

  • Recognition is measured component by component. A job that has done its labor and is waiting on its materials has earned its labor revenue, not its material revenue.
  • Earned revenue is compared with billing, not with cash. A deposit invoiced and unpaid still counts as billed.
  • A run for a contract with nothing earned this period is not an error. No entry is the honest state of a job that did no work that month.