Skip to main content

Revenue recognition examples

This page demonstrates how an example company called CloudNet handles revenue recognition with Metronome.

CloudNet offers two products:

  • CloudCompute, billed at $1/CPU hour
  • CloudStorage, billed at $0.50/GB storage monthly

Data export tables

For each scenario below, Metronome populates data export tables in CloudNet’s object storage destination or data warehouse. In turn, CloudNet can use this data, based on the rules described in the parent section, to accurately recognize revenue for its usage based business.

Table nameDescription
CustomerThis table contains customer metadata like CRM customer ID or ERP customer ID that are needed to match Metronome’s billing data to downstream systems for revenue recognition.
ContractThis table contains metadata like contract type, opportunity ID, or sales order ID that are needed to match Metronome’s billing data to downstream systems for revenue recognition.
InvoiceThis table contains all invoices generated by Metronome. Invoices include invoices.type , which indicates the types of charges included on each invoice (prepaid commit purchase, usage, or postpaid commit true-up).
Invoice line itemsThis table contains all line items associated to each invoice. Line items include:
  • commit_id, necessary for determination of revenue category (credit drawdown, on
  • demand, prepaid commit drawdown, postpaid commit drawdown, or overage)
  • product_id, necessary for recognizing revenue against specific products
  • starting_at and ending_before, necessary for determining the revenue recognition service perio
BalancesThis table contains a consolidation of all credits and commits. Balances include balances.type , which indicates if the balance is prepaid, postpaid, or credit. Each balance contains a ledger, which tracks all invoice deductions, manual adjustments, expirations, or true-ups.

Scenario 1: On-demand (pay-as-you-go) usage with free credits

In this scenario, Customer A signs up for a free trial to CloudNet on Jan 1, and receives $500 worth of free credits that expire in 15 days.

From Jan 1 to Jan 15, Customer A consumes 360 hours of CloudCompute and 100 GB of CloudStorage.

From Jan 15 to Jan 31, Customer A consumes 384 hours of CloudCompute and 150 GB of CloudStorage.

As a result of that scenario, the data shown in these tables populates in the CloudNet warehouse through Metronome data export.

Customer

idname
10001Customer A

Contract

idcustomer_idstarting_atending_before
2000110001Jan 1, 2024 00:00null

Invoice

idinvoice_typetotalissued_atstart_timestampend_timestampcontract_id
30001CONTRACT_USAGE459Feb 1, 2024Jan 1, 2024 00:00Feb 1, 2024 00:0020001

Invoice line items

idinvoice_idquantityunit_pricetotalline_item_nameproduct_namecommit_idstarting_atending_before
40001300013601.00360CloudComputeCloudCompute50001Jan 1, 2024 00:00Jan 16, 2024 00:00
40002300011000.5050CloudStorageCloudStorage50001Jan 1, 2024 00:00Jan 16, 2024 00:00
40003300011null-360Free_trial_credits appliedCloudCompute50001Jan 1, 2024 00:00Jan 16, 2024 00:00
40004300011null-50Free_trial_credits appliedCloudStorage50001Jan 1, 2024 00:00Jan 16, 2024 00:00
40005300013841.00384CloudComputeCloudComputenullJan 16, 2024 00:00Feb 1, 2024 00:00
40006300011500.5075CloudStorageCloudStoragenullJan 16, 2024 00:00Feb 1, 2024 00:00

Balances ledger

balances_idcustomer_idcontract idnameledger typeledger_entry_idledger entry typeledger entry timestampledger entry amount
500011000120001Free_trial_creditsCREDIT60001credit_segment_startJan 1, 2024 00:00500
500011000120001Free_trial_creditsCREDIT60002credit_automated_invoice_deductionJan 16, 2024 00:00-410
500011000120001Free_trial_creditsCREDIT60003credit_segment_expirationJan 16, 2024 00:00-90

Using the table data, CloudNet recognizes this revenue:

On Feb 1, Metronome issues a usage invoice for $459.

  • The merchant can report that $360 of free credits were applied to CloudCompute
  • The merchant can report that $50 of free credits were applied to CloudStorage
  • The merchant can report that $90 of free credits were expired
  • The merchant can recognize $384 of on-demand revenue for CloudCompute
  • The merchant can recognize $150 of on-demand revenue for CloudStorage

Scenario 2a: Prepaid commitment (upfront payment and first month of usage)

In this scenario, Customer B agrees to a prepaid commitment of $10,000 on Jan 1, 2024. The prepayment is due immediately and the commitment period is 1 year. In return for the prepaid commitment, Customer B receives a 20% discount off of list rates.

From Jan 1 to Jan 31, Customer B consumes 1000 hours of CloudCompute and 250 GB of CloudStorage.

As a result of that scenario, the data shown in these tables populates in the CloudNet warehouse through Metronome data export.

Customer

idname
10002Customer B

Contract

idcustomer_idstarting_atending_before
2000210001Jan 1, 2024 00:00Jan 1, 2025

Invoice

idinvoice_typetotalissued_atstart_timestampend_timestampcontract_id
30002CONTRACT_SCHEDULED10,000Jan 1, 2024Jan 1, 2024 00:00Feb 1, 2024 00:0020002
30003CONTRACT_USAGE0Feb 1, 2024Jan 1, 2024 00:00Feb 1, 2024 00:0020002

Invoice line items

idinvoice_idquantityunit_pricetotalline_item_nameproduct_namecommit_idstarting_atending_before
400053000211000010000Prepaid CommitPrepaid Commit50002Jan 1, 2024 00:00Jan 1, 2024 00:00
40006300031,0000.80800CloudComputeCloudCompute50002Jan 1, 2024 00:00Feb 1, 2024 00:00
40007300032500.40100CloudStorageCloudStorage50002Jan 1, 2024 00:00Feb 1, 2024 00:00
40008300031null-800prepaid_commitment appliedCloudCompute50002Jan 1, 2024 00:00Feb 1, 2024 00:00
40009300031null-100prepaid_commitment appliedCloudStorage50002Jan 1, 2024 00:00Feb 1, 2024 00:00

Balances ledger

balances_idcustomer_idcontract idnameledger typeledger entry typeledger entry timestampledger entry amount
500021000220002prepaid_commitmentPREPAIDprepaid_segment_startJan 1, 2024 00:0010,000
500021000220002prepaid_commitmentPREPAIDprepaid_automated_invoice_deductionFeb 1, 2024 00:00-900

Using the table data, CloudNet recognizes this revenue:

On Jan 1, Metronome issues a scheduled invoice for $10,000.

  • The merchant can defer $10,000 of prepaid commit revenue

On Feb 1, Metronome issues a usage invoice for $0.

  • The merchant can recognize $800 of prepaid commit revenue for CloudCompute
  • The merchant can recognize $100 of prepaid commit revenue for CloudStorage

Scenario 2b: Prepaid commitment (commit burn down and true-up)

In this scenario, Customer B continues to burn down $700 of prepaid commits every month during their contract ($600 for CloudCompute and $100 for CloudStorage). Metronome issues a zero-dollar invoice each month while the commit balance is drawn down. At the end of month 12, Metronome expires the remaining commit balance ($1,400).

As a result of that scenario, the data shown in these tables populates in the CloudNet warehouse through Metronome data export.

MonthUsage ChargesOverage ChargesInvoice TotalRemaining Commit Balance
1900009,100
2700008,400
3700007,700
4700007,000
5700006,300
6700005,600
7700004,900
8700004,200
9700003,500
10700002,800
11700002,100
12700001,400

Invoice

idinvoice_typetotalissued_atstart_timestampend_timestampcontract_id
30002CONTRACT_SCHEDULED10,000Jan 1, 2024Jan 1, 2024 00:00Feb 1, 2024 00:0020002
30003CONTRACT_USAGE0Feb 1, 2024Jan 1, 2024 00:00Feb 1, 2024 00:0020002
30004CONTRACT_USAGE0Mar 1, 2024Feb 1, 2024 00:00Mar 1, 2024 00:0020002
30005CONTRACT_USAGE0Apr 1, 2024Mar 1, 2024 00:00Apr 1, 2024 00:0020002
30006CONTRACT_USAGE0May 1, 2024Apr 1, 2024 00:00May 1, 2024 00:0020002
30007CONTRACT_USAGE0Jun 1, 2024May 1, 2024 00:00Jun 1, 2024 00:0020002
30008CONTRACT_USAGE0Jul 1, 2024Jun 1, 2024 00:00Jul 1, 2024 00:0020002
30009CONTRACT_USAGE0Aug 1, 2024Jul 1, 2024 00:00Aug 1, 2024 00:0020002
30010CONTRACT_USAGE0Sep 1, 2024Aug 1, 2024 00:00Sep 1, 2024 00:0020002
30011CONTRACT_USAGE0Oct 1, 2024Sep 1, 2024 00:00Oct 1, 2024 00:0020002
30012CONTRACT_USAGE0Nov 1, 2024Oct 1, 2024 00:00Nov 1, 2024 00:0020002
30013CONTRACT_USAGE0Dec 1, 2024Nov 1, 2024 00:00Dec 1, 2024 00:0020002
30014CONTRACT_USAGE0Jan 1, 2025Dec 1, 2024 00:00Jan 1, 2025 00:0020002

Balances ledger

balances_idcustomer_idcontract idnameledger_typeledger_entry_idledger_entry_typeledger_entry_timestampledger_entry_amount
500021000220002prepaid_commitmentPREPAID60001prepaid_segment_startJan 1, 2024 00:0010,000
500021000220002prepaid_commitmentPREPAID60002prepaid_automated_invoice_deductionFeb 1, 2024 00:00-900
500021000220002prepaid_commitmentPREPAID60003prepaid_automated_invoice_deductionMar 1, 2024 00:00-700
500021000220002prepaid_commitmentPREPAID60004prepaid_automated_invoice_deductionApr 1, 2024 00:00-700
500021000220002prepaid_commitmentPREPAID60005prepaid_automated_invoice_deductionMay 1, 2024 00:00-700
500021000220002prepaid_commitmentPREPAID60006prepaid_automated_invoice_deductionJun 1, 2024 00:00-700
500021000220002prepaid_commitmentPREPAID60007prepaid_automated_invoice_deductionJul 1, 2024 00:00-700
500021000220002prepaid_commitmentPREPAID60008prepaid_automated_invoice_deductionAug 1, 2024 00:00-700
500021000220002prepaid_commitmentPREPAID60009prepaid_automated_invoice_deductionSep 1, 2024 00:00-700
500021000220002prepaid_commitmentPREPAID60010prepaid_automated_invoice_deductionOct 1, 2024 00:00-700
500021000220002prepaid_commitmentPREPAID60011prepaid_automated_invoice_deductionNov 1, 2024 00:00-700
500021000220002prepaid_commitmentPREPAID60012prepaid_automated_invoice_deductionDec 1, 2024 00:00-700
500021000220002prepaid_commitmentPREPAID60013prepaid_automated_invoice_deductionJan 1, 2025 00:00-700
500021000220002prepaid_commitmentPREPAID60014prepaid_segment_expirationJan 1, 2025 00:00-1,400

Using the table data, CloudNet recognizes the following revenue:

  • In month 1, Metronome issues a $0 usage invoice
    • The merchant can recognize $800 of prepaid commit revenue for CloudCompute
    • The merchant can recognize $100 of prepaid commit revenue for CloudStorage
  • From months 2 - 12, Metronome issues a $0 usage invoices
    • The merchant can recognize $700 of prepaid commit revenue for CloudCompute each month
    • The merchant can recognize $100 of prepaid commit revenue for CloudStorage each month
  • On Jan 1, 2025, Metronome expires $1400 remaining balance of unused prepaid commit
    • The merchant can recognize $1400 of prepaid commit revenue

Scenario 2c: Prepaid commitment (commit burn down and overage)

In this scenario, Customer B continues to burn down $1,000 ($900 for CloudCompute and $100 for CloudStorage) of prepaid commits every month during their contract. Metronome issues a zero-dollar invoice each month while the commit balance is drawn down. Starting in month 11, Customer B starts to incur overage charges.

As a result of that scenario, the data shown in these tables populates in the CloudNet warehouse through Metronome data export.

MonthUsage ChargesOverage ChargesInvoice TotalRemaining Commit Balance
1900009,100
21,000008,100
31,000007,100
41,000006,100
51,000005,100
61,000004,100
71,000003,100
81,000002,100
91,000001,100
101,00000100
111,0009008000
121,0001,0001,0000

Invoice

idinvoice_typetotalissued_atstart_timestampend_timestampcontract_id
30002CONTRACT_SCHEDULED10,000Jan 1, 2024Jan 1, 2024 00:00Feb 1, 2024 00:0020002
30003CONTRACT_USAGE0Feb 1, 2024Jan 1, 2024 00:00Feb 1, 2024 00:0020002
30004CONTRACT_USAGE0Mar 1, 2024Feb 1, 2024 00:00Mar 1, 2024 00:0020002
30005CONTRACT_USAGE0Apr 1, 2024Mar 1, 2024 00:00Apr 1, 2024 00:0020002
30006CONTRACT_USAGE0May 1, 2024Apr 1, 2024 00:00May 1, 2024 00:0020002
30007CONTRACT_USAGE0Jun 1, 2024May 1, 2024 00:00Jun 1, 2024 00:0020002
30008CONTRACT_USAGE0Jul 1, 2024Jun 1, 2024 00:00Jul 1, 2024 00:0020002
30009CONTRACT_USAGE0Aug 1, 2024Jul 1, 2024 00:00Aug 1, 2024 00:0020002
30010CONTRACT_USAGE0Sep 1, 2024Aug 1, 2024 00:00Sep 1, 2024 00:0020002
30011CONTRACT_USAGE0Oct 1, 2024Sep 1, 2024 00:00Oct 1, 2024 00:0020002
30012CONTRACT_USAGE0Nov 1, 2024Oct 1, 2024 00:00Nov 1, 2024 00:0020002
30013CONTRACT_USAGE900Dec 1, 2024Nov 1, 2024 00:00Dec 1, 2024 00:0020002
30014CONTRACT_USAGE1,000Jan 1, 2025Dec 1, 2024 00:00Jan 1, 2025 00:0020002

Invoice line item (overage invoice only)

idinvoice idquantityunit_pricetotalline_item_nameproduct_namecommit idstarting_atending_before
40006300131,0000.80800CloudComputeCloudCompute50002Nov 1, 2024 00:00Dec 1, 2024 00:00
40007300135000.40200CloudStorageCloudStorage50002Nov 1, 2024 00:00Dec 1, 2024 00:00
40008300131null-100prepaid_commitment appliedCloudCompute50002Nov 1, 2024 00:00Dec 1, 2024 00:00

Balances ledger

balances_idcustomer_idcontract idnameledger_typeledger_entry_idledger_entry_typeledger_entry_timestampledger_entry_amount
500021000220002prepaid_commitmentPREPAID60001prepaid_segment_startJan 1, 2024 00:0010,000
500021000220002prepaid_commitmentPREPAID60002prepaid_automated_invoice_deductionFeb 1, 2024 00:00-900
500021000220002prepaid_commitmentPREPAID60003prepaid_automated_invoice_deductionMar 1, 2024 00:00-1,000
500021000220002prepaid_commitmentPREPAID60004prepaid_automated_invoice_deductionApr 1, 2024 00:00-1,000
500021000220002prepaid_commitmentPREPAID60005prepaid_automated_invoice_deductionMay 1, 2024 00:00-1,000
500021000220002prepaid_commitmentPREPAID60006prepaid_automated_invoice_deductionJun 1, 2024 00:00-1,000
500021000220002prepaid_commitmentPREPAID60007prepaid_automated_invoice_deductionJul 1, 2024 00:00-1,000
500021000220002prepaid_commitmentPREPAID60008prepaid_automated_invoice_deductionAug 1, 2024 00:00-1,000
500021000220002prepaid_commitmentPREPAID60009prepaid_automated_invoice_deductionSep 1, 2024 00:00-1,000
500021000220002prepaid_commitmentPREPAID60010prepaid_automated_invoice_deductionOct 1, 2024 00:00-1,000
500021000220002prepaid_commitmentPREPAID60011prepaid_automated_invoice_deductionNov 1, 2024 00:00-1,000
500021000220002prepaid_commitmentPREPAID60012prepaid_automated_invoice_deductionDec 1, 2024 00:00-1,000
500021000220002prepaid_commitmentPREPAID60013prepaid_automated_invoice_deductionJan 1, 2025 00:00-1,000

Using the table data, CloudNet recognizes the following revenue:

  • In month 1, Metronome issues a $0 usage invoice
    • The merchant can recognize $800 of prepaid commit revenue for CloudCompute
    • The merchant can recognize $100 of prepaid commit revenue for CloudStorage
  • From months 2 - 10, Metronome a issues $0 usage invoices
    • The merchant can recognize $900 of prepaid commit revenue for CloudCompute each month
    • The merchant can recognize $100 of prepaid commit revenue for CloudStorage each month
  • In month 11, Metronome issues a $900 usage invoice
    • The merchant can recognize $900 of prepaid commit revenue for CloudCompute
    • The merchant can recognize $100 of prepaid commit revenue for CloudStorage
  • In month 12, Metronome issues a $1000 usage invoice
    • The merchant can recognize $900 of prepaid commit revenue for CloudCompute
    • The merchant can recognize $100 of prepaid commit revenue for CloudStorage

Scenario 3: Postpaid commitment, with true-up invoice

In this scenario, Customer C agrees to a postpaid commitment of $10,000. They consume $800 ($700 of CloudCompute, $100 of CloudStorage) of usage each month for 12 months.

At the end of the commitment period, their cumulative spending is $9,600. Metronome issues a true-up invoice of $400 to true-up the remaining commitment balance.

As a result of that scenario, the data shown in these tables populates in the CloudNet warehouse through Metronome data export.

Customer

idname
10003Customer C

Contract

idcustomer_idstarting_atending_before
2000310003Jan 1, 2024 00:00Jan 1, 2025

Invoice

idinvoice_typetotalissued_atstart_timestampend_timestampcontract_id
30002CONTRACT_SCHEDULED800Feb 1, 2024Jan 1, 2024 00:00Feb 1, 2024 00:0020003
30003CONTRACT_SCHEDULED800Mar 1, 2024Feb 1, 2024 00:00Mar 1, 2024 00:0020003
30004CONTRACT_SCHEDULED800Apr 1, 2024Mar 1, 2024 00:00Apr 1, 2024 00:0020003
30005CONTRACT_SCHEDULED800May 1, 2024Apr 1, 2024 00:00May 1, 2024 00:0020003
30006CONTRACT_SCHEDULED800Jun 1, 2024May 1, 2024 00:00Jun 1, 2024 00:0020003
30007CONTRACT_SCHEDULED800Jul 1, 2024Jun 1, 2024 00:00Jul 1, 2024 00:0020003
30008CONTRACT_SCHEDULED800Aug 1, 2024Jul 1, 2024 00:00Aug 1, 2024 00:0020003
30009CONTRACT_SCHEDULED800Sep 1, 2024Aug 1, 2024 00:00Sep 1, 2024 00:0020003
30010CONTRACT_SCHEDULED800Oct 1, 2024Sep 1, 2024 00:00Oct 1, 2024 00:0020003
30011CONTRACT_SCHEDULED800Nov 1, 2024Oct 1, 2024 00:00Nov 1, 2024 00:0020003
30011CONTRACT_SCHEDULED800Dec 1, 2024Nov 1, 2024 00:00Dec 1, 2024 00:0020003
30011CONTRACT_SCHEDULED800Jan 1, 2025Dec 1, 2024 00:00Jan 1, 2025 00:0020003
30012CONTRACT_TRUEUP400Jan 1, 2025Dec 1, 2024 00:00Jan 1, 2025 00:0020003

Balances ledger

balances_idcustomer_idcontract idnamecommit_typeledger_entry_idledger_entry_typeledger_entry_timestampledger_entry_amount
500031000320003postpaid_commitmentPOSTPAID60001postpaid_initial_balanceJan 1, 2024 00:0010,000
500031000320003postpaid_commitmentPOSTPAID60002postpaid_automated_invoice_deductionFeb 1, 2024 00:00-800
500031000320003postpaid_commitmentPOSTPAID60003postpaid_automated_invoice_deductionMar 1, 2024 00:00-800
500031000320003postpaid_commitmentPOSTPAID60004postpaid_automated_invoice_deductionApr 1, 2024 00:00-800
500031000320003postpaid_commitmentPOSTPAID60005postpaid_automated_invoice_deductionMay 1, 2024 00:00-800
500031000320003postpaid_commitmentPOSTPAID60006postpaid_automated_invoice_deductionJun 1, 2024 00:00-800
500031000320003postpaid_commitmentPOSTPAID60007postpaid_automated_invoice_deductionJul 1, 2024 00:00-800
500031000320003postpaid_commitmentPOSTPAID60008postpaid_automated_invoice_deductionAug 1, 2024 00:00-800
500031000320003postpaid_commitmentPOSTPAID60009postpaid_automated_invoice_deductionSep 1, 2024 00:00-800
500031000320003postpaid_commitmentPOSTPAID60010postpaid_automated_invoice_deductionOct 1, 2024 00:00-800
500031000320003postpaid_commitmentPOSTPAID60011postpaid_automated_invoice_deductionNov 1, 2024 00:00-800
500031000320003postpaid_commitmentPOSTPAID60012postpaid_automated_invoice_deductionDec 1, 2024 00:00-800
500031000320003postpaid_commitmentPOSTPAID60013postpaid_automated_invoice_deductionJan 1, 2025 00:00-800
500031000320003postpaid_commitmentPOSTPAID60014postpaid_trueupJan 1, 2025 00:00-400

Using the table data, CloudNet recognizes the following revenue:

  • In month 1-12, Metronome issues a $800 usage invoice
    • The merchant can recognize $700 of postpaid commit revenue for CloudCompute each month
    • The merchant can recognize $100 of postpaid commit revenue for CloudStorage each month
  • After month 12, Metronome issues a $400 scheduled invoice for the postpaid true up
    • The merchant can recognize $400 of postpaid commit revenue