Revenue Recognition
Automate ASC 606 and IFRS 15 compliance. Manage contracts, track deferred revenue, and recognize income on the correct schedule -- all from your desktop.
Overview
Revenue recognition determines when your business records income on its financial statements. Under accrual accounting, revenue is recognized when it is earned -- not necessarily when cash is received. This distinction matters for any business that collects payment in advance, invoices for multi-month engagements, or delivers services over time.
Kantivo's Revenue Recognition module lets you create contracts, assign a recognition method, and automatically generate the journal entries that move revenue from your Deferred Revenue liability account to your Revenue income account on the correct schedule. Every entry is tied to the source contract for a complete audit trail.
Creating a Contract
To set up a new revenue recognition contract:
- Navigate to Revenue Recognition from the left-hand sidebar
- Click the New Contract button
- Fill in the contract details:
- Contract Name: A descriptive label (e.g., "Acme Corp -- 2026 Annual License")
- Customer: Select the customer this contract belongs to
- Total Value: The full contract amount to be recognized
- Recognition Method: Choose straight-line, milestone-based, or percentage-of-completion
- Start Date / End Date: The period over which revenue will be recognized
- Deferred Revenue Account: The liability account where unearned revenue sits (e.g., 2400 -- Deferred Revenue)
- Revenue Account: The income account where recognized revenue posts (e.g., 4000 -- Revenue)
- Click Save to create the contract
Kantivo automatically generates a recognition schedule based on the method and dates you selected. You can review the schedule immediately after saving.
Recognition Methods
Kantivo supports three recognition methods to cover the most common business scenarios:
Straight-Line (Time-Based)
Revenue is recognized in equal amounts over the contract term. This is the standard method for SaaS subscriptions, maintenance agreements, and any contract where service delivery is uniform across the period.
Example: A $12,000 annual subscription recognized monthly produces twelve entries of $1,000 each.
Milestone-Based
Revenue is recognized when specific milestones are completed. Best suited for consulting engagements, professional services, and project-based work where delivery happens in defined stages.
Example: A $50,000 consulting project with three milestones -- Discovery ($10,000), Implementation ($25,000), and Go-Live ($15,000) -- recognizes revenue as each milestone is marked complete.
Percentage of Completion
Revenue is recognized based on the percentage of work completed. Ideal for construction projects, long-term manufacturing, and any engagement where progress can be measured objectively.
Example: A $200,000 construction contract that is 40% complete would have $80,000 recognized and $120,000 remaining as deferred revenue.
| Method | Best For | Trigger |
|---|---|---|
| Straight-Line | SaaS, subscriptions, maintenance | Time passing (monthly/quarterly/annually) |
| Milestone | Consulting, professional services | Milestone completion |
| % of Completion | Construction, long-term projects | Progress percentage update |
Posting Recognition Entries
Once a contract has a generated schedule, recognition entries appear as pending when their scheduled date arrives. To post them:
- Open the Revenue Recognition section
- Pending entries appear in the contract detail view with their scheduled date and amount
- Click Post on an individual entry to recognize that single period, or click Post All Pending to recognize every entry that is due
- Kantivo creates a journal entry automatically:
- Debit: Deferred Revenue (liability decreases)
- Credit: Revenue (income increases)
- The posted entry is marked as recognized and linked to the journal entry for audit purposes
Dashboard
The Revenue Recognition dashboard provides an at-a-glance view of your contract portfolio:
- Total Contract Value: The sum of all active contracts
- Recognized Revenue: How much has been recognized to date across all contracts
- Deferred Balance: The total amount still awaiting recognition
- Pending Entries: The number of recognition entries that are due but not yet posted
Each contract also displays its own progress bar showing how much revenue has been recognized versus the total contract value, making it easy to spot contracts that need attention.
Working with Milestones
For contracts using the milestone-based recognition method:
- After creating the contract, navigate to its detail view
- Add milestones by clicking Add Milestone
- For each milestone, specify:
- Name: A descriptive label (e.g., "Phase 1 -- Discovery Complete")
- Amount: The revenue to recognize when this milestone is achieved
- Target Date: The expected completion date (optional, for planning purposes)
- When the work for a milestone is finished, click Complete to mark it as achieved
- Completing a milestone creates a pending recognition entry that you can then post
Setup Tips
Before creating your first revenue recognition contract, ensure the following accounts exist in your Chart of Accounts:
- Deferred Revenue (Liability account, e.g., account 2400) -- This is where unearned revenue sits on your balance sheet until it is recognized
- Revenue (Income account, e.g., account 4000) -- This is the income account where recognized revenue appears on your income statement
If you have multiple revenue streams, consider creating separate deferred revenue and income accounts for each (e.g., "Deferred Revenue -- Subscriptions" and "Subscription Revenue") so your financial statements provide detailed breakdowns.
Recommended Workflow
- When you receive payment: Record the payment and credit Deferred Revenue for the full amount
- Create the contract: Set up the revenue recognition contract with the appropriate method and accounts
- Monthly close: Review the dashboard for pending entries and post all that are due
- Review reports: Check your Income Statement to confirm revenue is appearing in the correct periods