Deferred Revenue True-Up

The deferred revenue true-up process calculates what the recognized amount in home and dual currencies should be for a source record based on the average exchange rate derived from all previously deferred revenue in those currencies. You can run true-up at any point in the source record's life provided that some revenue has been deferred. You do not need to have deferred or recognized all the source record's revenue.

The need to run true-up arises when you defer and recognize revenue on different dates. For example, you might bill a customer for a contract line on Day 1 of the contract, and recognize revenue for that contract line on Day 30. In a multi-currency org, exchange rates can fluctuate between Day 1 and Day 30, resulting in gains or losses in home and dual currencies. The true-up process calculates the value of these gains or losses and creates a transaction to balance your GLAs in home and dual currencies.

To calculate true-up values, Revenue Management needs to be able to access fields on your source records containing:

  • The deferred revenue to date value in document, home, and dual currency.
  • The recognized to date value in document, home, and dual currency.

You must identify these fields in the mappings for each source object's recognition settings record so that Revenue Management can access them. For more setup information, see Enable Deferred Revenue True-Up.

How Revenue Management Calculates True-Up Values

This section explains how Revenue Management calculates true-up values. The formula and examples illustrate true-up calculations in home currency. For dual currency calculations, simply replace the Home Currency fields with their equivalent Dual Currency fields.

Revenue Management uses this formula to calculate true-up values for home currency:

True Up Value = (Recognized to Date in Document Currency * (Deferred to Date in Home Currency/Deferred to Date in Document Currency)) - Recognized to Date in Home Currency

Letters A-G in the top row of the following table show how the calculation is worked out. Using these letters the formula can be represented as:

G = (D * (B/A)) - E

A

B

B / A = C

D

E

D * C = F

F - E = G

Deferred to Date in Document Currency

Deferred to Date in Home Currency

Average Home Rate

Recognized to Date in Document Currency

Recognized to Date in Home Currency

Adjusted Recognized to Date in Home Currency

True-Up Value

1000 1200 1.2 1000 1250 1200 -50
500 525 1.05 500 490 525 +35
500 600 1.2 750 880 900 +20
0 0 0 1000 1263 0 null

The Deferred Revenue True-Up Transaction

You can run the deferred revenue true-up process at any time. When you run the process you can choose whether the resulting recognition transactions are created as "In Progress" or "Committed".

Revenue Management populates a transaction's document description automatically in the format "True-Up - <source object> <recognition date>" and sets the transaction's originating process to Deferred Revenue True-Up.

For each recognition transaction line:

  • The Revenue Recognized field has a value of zero because no amount is being recognized in document currency.
  • The Revenue Recognized (Home) field contains the source record's true-up value for home currency.
  • The Revenue Recognized (Dual) field contains the source record's true-up value for dual currency.

The GLAs on the transaction lines are derived from the source record's recognition settings. Values on the balance sheet line are posted to the True-Up GLA. Values on the income statement line are posted to the Income Statement GLA.

Note:

Transactions created by the true-up process are grouped in the same way as transactions created by the recognition process. For example, if you run true-up for all source records and your source records are milestones with some in USD and others in EUR, the true-up process will create one transaction for Milestones - USD and another transaction for Milestones - EUR. If the Grouped By field is populated in the recognition settings records for your primary source objects, grouping by that value is also applied.