Revenue Recognition & Schedules

View as Markdown

Revenue recognition in Tabs is driven by performance obligations — distinct promises to deliver products or services — each of which generates a revenue schedule showing how much revenue is recognized in each period.

Billing vs revenue

Tabs intentionally separates how you bill from how you recognize revenue:

BillingRevenue
Driven byBilling termsPerformance obligations
OutputInvoicesRevenue schedules
Question answeredWhat does the customer owe and when?What revenue have we earned and when?

Within each contract, billing term groups tie the two sides together. A group can contain one or more billing terms and one or more performance obligations in a many-to-many relationship — so billing and recognition don’t have to follow the same cadence.

Example: Bill API usage monthly in arrears, but recognize platform revenue ratably over the 12-month service period.

Performance obligations

A performance obligation is a distinct promise to deliver a product or service. It defines:

  • What revenue gets recognized (distinct or non distinct)
  • When revenue gets recognized (point in time or over time)
  • How revenue gets recognized (straightline, as consumed or as billed)

Performance obligations are created automatically when billing terms are generated on a contract. Each obligation generates a revenue schedule that spreads its allocated amount across the service period.

You can view and manage performance obligations on a contract via the Performance Obligations API.

Revenue schedules

The Revenue Schedule on each product’s detail page shows how revenue will be recognized over time:

  • Darker red bars — months where revenue has already been recognized
  • Lighter red bars — upcoming service periods

Below the chart you’ll see the service period, the amount already recognized, and the remaining amount to be recognized.

Compare the revenue schedule chart with the Billing Schedule on the same product to understand whether your commercial obligations are accrued or deferred relative to billing.

Revenue dates

Each product’s revenue schedule is driven by its service period:

  • Revenue start date — the first day service is delivered (not necessarily the invoice date)
  • Revenue end date — the last day of service; revenue is spread evenly between start and end

Configure these on the billing term when setting up a product on a contract. See Revenue Dates for configuration details.

Revenue categories

Revenue categories are logical groupings for the products or services you offer. They exist for reporting and dashboards — they do not affect billing or recognition calculations.

Assign a revenue category to a product on a contract via Edit revenue on the product detail page. Categories help organize billing terms into higher-level buckets for revenue reporting.

Plan your category structure before creating new categories. Categories cannot be edited or removed once created — create a new category with the correct name if you need to change one.

Manage categories via the Categories API.

Dynamic schedule updates

Revenue schedules are not static. Tabs recalculates schedules when contract terms change:

  • Amendments and renewals — updated service periods adjust future recognition
  • Seat-based true-ups — mid-cycle seat changes update invoices and revenue schedules together
  • Terminations — ending a billing term or commitment shortens the service window and adjusts recognized revenue accordingly

For termination workflows and their revenue impact, see Amendments & Lifecycle.