Skip to main content
Loopfour
Workflow templates

REVENUE RECOGNITION & CONTRACT-TO-CASH

ASC 606 schedules calculated by code, traceable to the contract.

A scheduled workflow reads the recognition schedule set up at invoice time, computes the amount to move from deferred to recognized, and posts the journal entries, each traceable back to its source contract.

Data TableRillet / NetSuiteCodeSlack
How it is built
1

Schedule trigger runs the monthly recognition pass

2

Data Table block reads the schedule rows due this period

3

Loop block iterates each due contract

4

Code block computes the amount to move from deferred to recognized

5

Rillet / NetSuite block posts the journal entry with the contract reference

6

Slack block reports the period recognition total

01

The problem

The problem

Revenue recognition under ASC 606 usually lives in a spreadsheet that one person owns. Every month they rebuild the schedule, calculate the movement, and key the journal entries in by hand. It works until that person is out, or until the auditor asks how a given number was derived.

02

How it is built

How it is built
  1. 1Schedule trigger runs the recognition pass each period. A companion intake sub-workflow, triggered when a subscription invoice is issued, has already built the schedule and posted the initial deferred entry.
  2. 2Data Table block reads the schedule rows that come due this period, so the workflow, and the auditor, can see the full plan per contract.
  3. 3Loop block iterates each due contract.
  4. 4Code block computes the amount to move from deferred to recognized, following the same rule every time.
  5. 5Rillet or NetSuite block posts the journal entry with the contract reference attached.
  6. 6Slack block reports the period recognition total to the team.

03

Why it holds up in an audit

Why it holds up in an audit
Question the auditor asksWhat the workflow shows
How was this schedule derived?The code rule and the source contract term
Who can change it?The workflow, not a person editing a cell
Where did this entry come from?A posted JE linked to its contract
Is it applied consistently?Same rule, every contract, every period

Want this workflow built and maintained for your finance stack?

Book a demo