The Revenue Recognition module helps you track deferred revenue, automate recognition schedules, generate journal entries, and report on your contracts over time. Whether you bill annually for a subscription or recognize revenue as milestones are met, this tool turns complex schedules into automated double-entry postings.
This guide walks through every screen, button, and field in the order you see them on screen.
Getting Here
- Open the main sidebar and select a Bookkeeping Client.
- In the client sidebar, expand the Revenue Recognition section.
Two menu items appear:
| Menu Item | What You See |
|---|---|
| Dashboard | The main schedules list with statistics, filters, and schedule management. |
| Settings | Configuration for GL accounts, automation, and notifications. |
Click Dashboard to begin.
Understanding the Dashboard
The Dashboard is your starting point. It shows every revenue recognition schedule for the client, plus summary statistics and quick actions.
Top Metrics
Six cards sit across the top of the page. They give you a snapshot of your deferred revenue position:
| Metric | What It Shows |
|---|---|
| Total Schedules | How many revenue recognition schedules exist for this client. |
| Active | How many schedules are currently active and recognizing revenue. |
| Deferred Revenue | Total amount of revenue still sitting in deferred (liability), shown in orange. |
| Recognized | Total revenue already moved from deferred to the income statement, shown in green. |
| Due Entries | Number of recognition entries that are due for processing now. |
| Pending Approval | Number of entries waiting for approval before they can be processed. |
Header Buttons
Above the metrics, two buttons sit at the top-right:
- Process Due Entries — Runs recognition for all entries whose recognition date has arrived. Click this to bulk-process everything that is currently due.
- Create Schedule — Opens the form to set up a new revenue recognition schedule.
Filters
Below the metrics, a filter bar lets you narrow down the schedules list:
| Filter | Options |
|---|---|
| Status | All Statuses, Active, Pending, Completed, Paused. |
| Customer | All Customers, or pick a specific customer from the dropdown. |
Select a filter and the table updates immediately.
The Schedules Table
Below the filters, a table lists every schedule. Each row shows:
| Column | What You See |
|---|---|
| Reference / Description | The reference number (e.g., CONTRACT-2024-001) and the description line. |
| Customer | The customer linked to this schedule, or a dash if none. |
| Amount | Three lines: Total (the full contract value), Recognized (in green), and Remaining (in orange). |
| Progress | A horizontal progress bar plus the percentage complete. |
| Period | The start and end dates of the recognition period. |
| Status | A coloured badge: Active, Completed, Paused, Draft, or Cancelled. |
| Actions | Three icons: eye (View), pencil (Edit), and trash (Delete). |
Click the eye icon to open the schedule detail page. Click the pencil icon to edit the schedule. Click the trash icon to delete it — a browser confirmation prompt appears before deletion.
If no schedules exist yet, an empty state appears with a message and a Create Your First Schedule button.
Creating a Revenue Recognition Schedule
- Click the Create Schedule button at the top-right.
- A dialog opens with all the fields you need.
Schedule Form Fields
Fill in the form from top to bottom:
| Field | What To Enter | Required |
|---|---|---|
| Customer | Pick a customer from the dropdown, or leave as None. | No |
| Reference Number | A unique identifier, e.g., CONTRACT-2024-001 or SUB-2025-Q1. |
No |
| Description | A short name for the schedule, e.g., "Annual software subscription" or "Website redesign project." | Yes |
| Total Amount | The full contract value in dollars. Enter as a number, e.g., 12000.00. |
Yes |
| Business Model | Pick the type of revenue: Subscription Service, Project-Based, Software License, E-commerce, Prepaid Billing, Consulting Services, or Other. | No |
| Recognition Method | How the revenue is spread over time. See the methods table below. | Yes |
| Recognition Frequency | How often entries are created: Monthly, Quarterly, Annually, or Custom. | Yes |
| Start Date | The first day revenue recognition begins. | Yes |
| End Date | The last day of the recognition period. | Yes |
| Deferred Revenue Account (Override) | Choose a specific GL account for deferred revenue, or leave as Use Default to use the settings-default account. | No |
| Revenue Account (Override) | Choose a specific GL account for recognized revenue, or leave as Use Default to use the settings-default account. | No |
| Notes | Any internal notes about this schedule. | No |
Recognition Methods
| Method | How It Works | Best For |
|---|---|---|
| Straight-Line | Splits the total amount equally across every period. | Annual subscriptions, prepaid retainers. |
| Pro-rata | Allocates revenue based on the actual number of days in each period. | Contracts that span partial months or uneven periods. |
| Milestone-Based | Recognizes revenue when specific milestones are reached. | Project-based work, construction, consulting. |
| Usage-Based | Recognizes revenue based on actual consumption or usage data. | Metered services, pay-per-use models. |
| On Delivery | Recognizes the full amount upon delivery or completion. | Product sales, one-time deliverables. |
- Click Create Schedule at the bottom of the dialog.
The schedule appears in the table. The system automatically generates recognition entries — one for each period in the schedule — and marks them as pending or scheduled.
✓ Tip: Set up your Settings first (next section) so every new schedule inherits your preferred defaults for method, frequency, and GL accounts.
Editing a Schedule
- In the schedules table, click the pencil icon on the row you want to change.
- The same form opens with all fields pre-filled.
- Make your changes.
- Click Update Schedule.
⚠ Warning: Changing the Total Amount, Start Date, End Date, Recognition Method, or Recognition Frequency after entries have been generated may require re-generating the entries. Existing processed entries are not automatically reversed.
Viewing a Schedule in Detail
Click the eye icon on any schedule row to open its full detail page.
Overview Cards
Four cards across the top summarize the schedule's financial position:
| Card | What It Shows |
|---|---|
| Total Amount | The full contract value. |
| Recognized | Revenue already posted to the income statement, in green. |
| Remaining | Revenue still sitting in deferred, in orange. |
| Progress | A progress bar and percentage showing how much of the contract has been recognized. |
Schedule Details Card
A grid shows the schedule's configuration at a glance:
| Field | What You See |
|---|---|
| Customer | The linked customer name. |
| Recognition Method | The method in plain English (e.g., "straight line"). |
| Frequency | Monthly, Quarterly, Annually, or Custom. |
| Period | The start and end dates. |
| Deferred Revenue Account | The GL account number and name, or "Using default." |
| Revenue Account | The GL account number and name, or "Using default." |
Recognition Entries Table
This is where you manage individual recognition periods. Each row represents one period in the schedule:
| Column | What You See |
|---|---|
| Period | The period number (e.g., Period 1) with its start and end dates. |
| Recognition Date | The date the revenue is scheduled to be recognized. |
| Amount | The dollar amount for this period. |
| Percentage | What percentage of the total contract this period represents. |
| Status | A badge: Pending (grey, clock icon), Scheduled (blue, calendar icon), Recognized (green, check icon), Reversed (red, alert icon), or Skipped (outline, alert icon). |
| Actions | One or two buttons depending on the entry state. |
Entry Actions
- Process — Appears on entries with status Pending or Scheduled. Click it to create the journal entry that moves the period's amount from Deferred Revenue (liability) to Revenue (income).
- Approve — Appears when the settings require approval and the entry has not yet been approved. Click it to mark the entry as approved before processing.
Process entries one at a time from this page, or use the Process Due Entries button on the Dashboard to process all due entries at once.
Entry Status Flow
flowchart LR
Pending -->|Schedule created| Scheduled
Scheduled -->|Date arrived| Pending2[Pending]
Pending2 -->|"Approve (if required)"| Ready
Ready -->|Process| Recognized
Recognized -->|Reverse| Reversed
Pending2 -->|Skip| Skipped
✓ Tip: If you have Auto-Create Journal Entries enabled in Settings, the Process step happens automatically when you click Process — no manual journal entry is needed.
Configuring Revenue Recognition Settings
Click Settings in the Revenue Recognition sidebar menu to open the configuration page.
Configuration Status Banner
If neither the Deferred Revenue Account nor the Revenue Account has been set, a yellow warning banner appears at the top:
⚠ Settings Not Configured: Please configure both Deferred Revenue Account and Revenue Account to enable automated revenue recognition.
Once both accounts are selected, the banner disappears.
General Ledger Accounts
Two dropdowns let you pick the default GL accounts:
| Setting | What To Pick | Purpose |
|---|---|---|
| Deferred Revenue Account | A liability account (typically mapping code 23xx). | Holds revenue before it is earned. |
| Revenue Account | A revenue account (typically mapping code 4xxx). | Receives revenue as it is recognized. |
The dropdowns show only active accounts from the chart of accounts that match the appropriate type (liability accounts for deferred, revenue accounts for recognized). Each option shows the account number and name.
You can leave either as None — but schedules cannot be processed without them. You can also override these accounts on individual schedules.
Recognition Defaults
These settings are applied as pre-selected values when you create a new schedule. You can always change them per schedule.
| Setting | Options | Default |
|---|---|---|
| Default Recognition Method | Straight-Line, Pro-rata, Milestone-Based, Usage-Based, On Delivery. | Straight-Line |
| Default Recognition Frequency | Monthly, Quarterly, Annually, Custom. | Monthly |
Automation Settings
Control how and when entries are created and processed:
| Setting | What It Does | Default |
|---|---|---|
| Auto-Create Journal Entries | When on, processing a recognition entry automatically creates the journal entry (debit deferred revenue, credit revenue). When off, you must create the journal entry manually. | On |
| Require Approval | When on, entries must be approved by a user before they can be processed. An Approve button appears on each entry. | Off |
| Auto-Process Day of Month | The day (1–28) when the system automatically processes all due entries. For example, setting this to 1 processes everything due on the first of each month. | 1 |
Notification Settings
| Setting | What It Does | Default |
|---|---|---|
| Notify on Schedule Creation | Sends a notification when a new schedule is created. | Off |
| Notify on Completion | Sends a notification when a schedule reaches 100% recognized. | Off |
Saving Settings
Click the Save Settings button at the top-right of the page. A toast message confirms the save.
Processing Due Entries
You can process recognition entries two ways:
Bulk Processing (from the Dashboard)
- On the Dashboard, click the Process Due Entries button.
- The system finds all entries whose recognition date is today or earlier and whose status is Pending or Scheduled.
- For each entry, if Auto-Create Journal Entries is on, a journal entry is created automatically debiting the deferred revenue account and crediting the revenue account.
- A toast message shows how many entries were processed.
Individual Processing (from the Detail Page)
- Open a schedule's detail page.
- Find the entry you want to process.
- If Require Approval is on and the entry is not yet approved, click the Approve button first.
- Click the Process button.
- A toast confirms the entry was processed.
The Revenue Recognition Report
The report gives you a consolidated view of all schedules across a date range. To open it:
- From the client sidebar, go to Reports.
- Click Revenue Recognition Report.
Report Filters
At the top of the report page, a filter card lets you control the data:
| Filter | What It Does |
|---|---|
| Start Date | Only include schedules active on or after this date. Defaults to January 1 of the current year. |
| End Date | Only include schedules active on or before this date. Defaults to today. |
| Status | Filter by schedule status: All Statuses, Active, Completed, or Cancelled. |
Click Apply Filters to refresh the report with your chosen range.
A Refresh button at the top-right reloads the data at any time.
Summary Cards
Four cards summarize the filtered data:
| Card | What It Shows |
|---|---|
| Total Contract Value | The sum of all schedule total amounts. |
| Total Recognized | Total revenue already recognized, in green. |
| Deferred Revenue | Total remaining deferred revenue, in orange. |
| Active Schedules | Number of active schedules, plus a count of completed ones. |
Recognition Schedules Table
A full-width table lists every schedule matching your filters:
| Column | What You See |
|---|---|
| Contract / Ref | The contract number or reference number, with the description below. |
| Customer | The customer company name or display name. |
| Method | The recognition method in plain English. |
| Total Amount | The full contract value. |
| Recognized | Amount already recognized, in green. |
| Deferred | Amount remaining, in orange. |
| % Complete | A mini progress bar plus the completion percentage. |
| Status | A coloured badge: Active (blue), Completed (grey), or Cancelled (red). |
A footer row shows totals for Total Amount, Recognized, and Deferred across all schedules.
Recognition by Period (Waterfall)
If there is recognition data in the selected date range, a second table appears showing recognized amounts grouped by month:
| Column | What You See |
|---|---|
| Period | The month and year (e.g., "Jan 2026"). |
| Recognized | Total revenue recognized in that month, in green. |
A footer row shows the grand total across all periods.
If no schedules match the filters, an empty state appears with a No Schedules Found message and suggestion text.
Schedule Statuses Reference
| Status | Meaning |
|---|---|
| Draft | The schedule has been created but is not yet active. Entries are not generated. |
| Active | Recognition is in progress. Entries are generated and due dates are tracked. |
| Paused | Recognition is temporarily halted. No new entries will be processed until resumed. |
| Completed | 100% of the total amount has been recognized. |
| Cancelled | The schedule has been terminated. No further recognition will occur. |
Entry Statuses Reference
| Status | Meaning |
|---|---|
| Pending | The entry is ready to be processed but has not yet been actioned. |
| Scheduled | The entry has a future recognition date and is not yet due. |
| Recognized | The entry has been processed and a journal entry has been posted. |
| Reversed | A previously recognized entry has been reversed. The amount is back in deferred. |
| Skipped | The entry was intentionally skipped (e.g., a zero-amount period). |
Frequently Asked Questions
What is the difference between Straight-Line and Pro-rata?
Straight-Line divides the total amount equally by the number of periods. For example, a $12,000 annual contract recognized monthly gives $1,000 per month. Pro-rata allocates based on the actual number of days in each period, so months with 31 days get slightly more than months with 28 days.
Do I need to configure settings before creating schedules?
No, but it saves time. If you configure the default accounts, method, and frequency in Settings, every new schedule form will be pre-filled with your preferences. You can still override them per schedule.
What happens when I click Process Due Entries?
The system finds all entries whose recognition date is on or before today and whose status is Pending or Scheduled. For each one, if Auto-Create Journal Entries is on, it posts a journal entry: debit Deferred Revenue (liability) and credit Revenue (income). Processed entries move to Recognized status.
Can I override the GL accounts on a single schedule?
Yes. When creating or editing a schedule, use the Deferred Revenue Account (Override) and Revenue Account (Override) dropdowns. Leave them as "Use Default" to inherit the Settings values, or pick a specific account for that schedule.
What happens if I delete a schedule with processed entries?
The schedule is soft-deleted. Any journal entries that were already posted are not automatically reversed — you would need to reverse them manually through the journal entry system.
How do I pause a schedule?
Edit the schedule and change its status. Note that the current UI manages status through the edit dialog. Paused schedules stop generating new due entries until resumed.
Can I have multiple schedules for the same customer?
Yes. You can create as many schedules as you need for a single customer — for example, separate schedules for different contracts, products, or service lines.
How do I handle a contract that spans partial periods?
Use the Pro-rata recognition method. It calculates each period's amount based on the actual number of days, so partial first or last periods are handled correctly.