Sign in →

Revenue Recognition

ASC 606 / IFRS 15 revenue recognition — contracts, performance obligations, recognition schedules, journal entries, accounting periods, GL mappings, SSP, and ERP sync.

Updated 2026-06-15Suggest edits

Revenue Recognition

Revenue Recognition (Pricing Studio → Revenue Recognition) is Aforo's ASC 606 / IFRS 15 engine. It turns subscriptions and invoices into recognized revenue over time, with full audit trail, journal entries, and ERP sync.

Tabs

TabPurpose
DashboardKPIs, recognition waterfall, revenue by obligation type, period status
ContractsContract CRUD, activation/termination, performance obligations, schedules
JournalJournal entries, post batches, export
ReportsWaterfall, PO aging, ASC 606 disclosure, reconciliation
ConfigPeriods · GL Accounts · SSP · Rules · ERP Sync

Contracts & performance obligations

A contract holds the transaction price (fixed + variable estimate) and carries one or more performance obligations (POs).

EntityStatuses
ContractDRAFT, ACTIVE, COMPLETED, MODIFIED, TERMINATED
Performance ObligationACTIVE, PARTIALLY_SATISFIED, SATISFIED, REVERSED
Recognition ScheduleSCHEDULED, RECOGNIZED, ADJUSTED, REVERSED

Each PO has a satisfaction method (OVER_TIME or AT_POINT_IN_TIME) and a recognition method (TIME_BASED, MILESTONE, or USAGE_BASED), plus its standalone selling price (SSP), allocated amount, recognized-to-date, and deferred balance.

Terminating a contract is irreversible — it reverses unrecognized schedules. The UI confirms before proceeding.

Accounting periods

Periods drive the close process and gate journal posting:

OPEN → IN_REVIEW → CLOSED → LOCKED
                          ↘ (reopen, audit trail preserved)

Configuration

  • GL Accounts — map revenue, deferred revenue, and contract asset/liability accounts.
  • SSP — standalone selling price configs (OBSERVABLE, COST_PLUS_MARGIN).
  • Rules — recognition rules (TIME_BASED, USAGE_BASED, MILESTONE).
  • ERP Sync — connect and sync journal entries to your ERP; test the connection before enabling.

Journal & posting

The Journal tab lists entries (debit/credit per GL account, contract, customer). Unposted entries can be posted as a batch, after which they carry a batchId and optional erpReferenceId. Reports include the recognition waterfall, PO aging, the ASC 606 disclosure, and a reconciliation export.