Prepare revenue recognition entries
Set up a workflow that builds a monthly revenue schedule from your contracts or subscriptions and posts the entries after your review.
The job
Each month you work out how much contract revenue to recognize and how much stays deferred. The schedule often lives in a spreadsheet. Someone updates it, books the entries, and tells the controller the numbers are ready.
By hand
With Loopfour
Developer setup needed before you run this
The templates are starting points, not ready-to-run revenue calculations. Their Transform steps do not execute the calculation written in them. Ask your developer to replace those steps with Code, connect the inputs and outputs, and verify the schedule against your spreadsheet. Also correct the posting step as described below.
How the workflow runs
- TriggerFirst of the monthThe templates run monthly on a schedule.
- StepList signed contractsFrom DocuSign or PandaDoc.
- StepExtract billing termsThe AI Agent step reads contract value, term length, billing frequency and start date.
- StepCompute the revenue scheduleContract value spread evenly over the months of the term.
- ApprovalController reviews the scheduleYou add this step. A rejection stops the run before anything posts.
- OutputPost entries and send the summaryEntries go to your ledger. A close-ready note goes to Slack, Gmail or Outlook.
What you need
- Templates: Revenue recognition works from signed contracts. Deferred revenue schedule works from active subscriptions in Stripe, or invoices in QuickBooks. Both are in the RevRec area of Workflows > Templates.
- Systems to connect: DocuSign or PandaDoc for contracts, or Stripe for subscriptions. Your ledger for the entries. Slack, Gmail or Outlook for the summary.
- Who approves: the controller or revenue accountant who signs off the month's revenue.
Set it up
Open the template
Go to Workflows, open the Templates tab and choose RevRec. Select Revenue recognition, or Deferred revenue schedule if you bill by subscription.
Choose your systems
In the Recipe view, choose where contracts come from, which ledger receives the entries and where the summary goes. When you change a system, select Duplicate & edit to save your own copy. Then select Flow to see the steps.
Create the workflow
Select Run workflow. Studio opens chat, checks your connections and asks for any settings it needs before it creates your workflow.
Fix and check the calculation
Ask your developer to replace the calculation step with Code. Check a sample contract's monthly amounts before connecting it to posting. Transform only renames fields or filters lists; it does not calculate revenue.
Add the review before posting
Neither template pauses before it posts. Ask chat to add an Approval step before the posting step, with your controller as approver. See Add an approval step.
Check the posting step and the summary
Open the posting step and set the revenue and deferred revenue accounts you use. If the summary goes by email, change the recipient to your controller's address.
Deploy, then test
Select Deploy, then Run. Check the schedule against your spreadsheet and reject the approval so the test entries are not posted. See Deploy, test and change a workflow.
Run works only when the workflow is Active. Deploying also switches on its trigger; choose a safe schedule or test source before deploying. Runs make real changes in connected systems.
Check what the posting step creates for your ledger. NetSuite, Sage Intacct and Rillet receive a journal entry. With QuickBooks, the template's posting step creates a bill, so ask chat to change it to a QuickBooks journal entry. With Xero, the deferred revenue template creates an invoice, and Loopfour has no Xero journal entry step, so remove the posting step and book the entry yourself from the schedule.
What you review
- The schedule: the request waits under Approvals. Open its run to see the terms read from each contract and the monthly amounts before you approve. See Approve or reject a request.
- Extracted terms: check the AI Agent step's figures against the contracts on the first few months, especially start dates and term lengths. See Read a run.
- Who did what: the Audit trail tab under Runs records who approved and who changed the workflow. See Export the audit trail.
Adapt it
- Keep the schedule in a table: save each contract's monthly amounts to a table, so you have a running revenue schedule to tie out.
- Only new contracts: ask chat to read contracts signed since the last run and add them to the table, instead of reading all contracts each month.
- Different patterns: if some contracts are not recognized evenly, flag them for manual review rather than posting them.
Reconcile intercompany balances
Build a workflow that compares both sides of each intercompany balance in NetSuite at month end and lists the differences for your team to resolve.
Prepare accruals at month end
Build a workflow that drafts accrual entries at month end from open purchase orders and recurring costs, and posts them only after approval.
Loopfour