When a customer pays upfront for a service delivered over time, the revenue cannot be recognised immediately — it must be deferred and released as the service is performed. Hyperline manages this automatically by creating recognition schedules on each invoice line item and posting the corresponding journal entries as revenue is earned.
All revenue recognition amounts are net of tax. Tax is always posted
separately as a liability (output tax account) at the time the invoice is
issued, regardless of the recognition method applied to the revenue.
Recognition methods
The recognition method is defined in your Revenue recognition accounting rule. It can be set at the rule level and overridden for specific products or customer segments using filters.
Over time
Revenue is spread evenly across the service period using a straight-line allocation. You configure the granularity at which Hyperline posts recognition entries:
| Granularity | How revenue is spread |
|---|
| Daily | Recognised each day over the service period |
| Monthly | Recognised at the end of each calendar month |
| Quarterly | Recognised at the end of each quarter |
| Yearly | Recognised at the end of each year |
Example 💡
A customer pays €12,000 upfront for a 12-month SaaS subscription starting 1
January. With monthly granularity, Hyperline defers the full €12,000 at
invoice time and recognises €1,000 each month from January to December.
Point in time
All revenue is recognised at a single date. You configure the recognition date basis:
| Basis | Recognition date |
|---|
| Invoice date | The date the invoice was issued |
| Service start date | The first day of the service period |
| Service end date | The last day of the service period |
Example 💡
A one-off implementation fee with “service end date” basis will remain
deferred until the end of the project, at which point the full amount is
recognised.
Coming soon
Usage-based, Milestone, and Manual recognition methods are available in the interface but not yet enabled. They will allow you to recognise revenue as usage events occur, upon reaching project milestones, or via manual entries posted by your finance team.
Discount recognition
When a line item includes a discount, you control how the discount amount is treated at recognition time using the discount recognition mode in the Invoice posted rule:
| Mode | Behaviour |
|---|
| Immediate | Discount is recognised in full at invoice time (posted as contra-revenue immediately) |
| Deferred | Discount follows the same recognition schedule as the revenue (spread over the service period) |
| Use net amount | Revenue is recognised net of the discount — no separate discount entry is created |
Recognition schedule statuses
Each invoice line item gets a recognition schedule. The schedule can have the following statuses:
| Status | Meaning |
|---|
pending | The schedule has been created but recognition has not started |
in_progress | Recognition has started; some entries have been posted |
completed | The schedule is fully processed and closed |
cancelled | The schedule was cancelled before recognition began |
Exploring recognition schedules
Go to Accounting > Revenue recognition to browse all recognition schedules for a ledger.
You can filter by customer, product, subscription, or date range. Each schedule shows:
- The total amount to be recognised (net of tax)
- The amount already recognised
- The remaining deferred balance
- The individual recognition entries (slices) with their dates and amounts
Revenue waterfall
The revenue waterfall is a matrix that shows, for each booking cohort (the month invoices were issued), how the booked revenue unwinds into recognised revenue across subsequent periods — and how much is still deferred.
The matrix has three sections:
| Section | What it shows |
|---|
| Booked revenue | One row per booking cohort; the Total column is the gross amount invoiced (net of tax) in that period |
| Recognised revenue | One column per recognition period; each cell is the amount from that cohort recognised in that month |
| Total revenue | Recognised = cumulative sum of all recognition entries posted so far; Remaining = Booked − Recognised = the deferred revenue balance still on the balance sheet |
All waterfall amounts are net of tax and expressed in the ledger’s functional currency.