Skip to main content

Contract impairment

Zuora

Contract impairment

During the life cycle of a revenue contract, the customer might want easier subscription management by having all subscriptions with the same start and end dates. To achieve this goal, the customer will request to rip and restructure the contract by canceling the existing revenue contract and then creating a new one with the alignment of start and end dates on all subscriptions. 

The new structured contract can be sold within or outside the SSP range, which will be processed by Zuora Revenue in different ways:

  • If the restructured contract is sold outside the SSP range, it will be linked to the original ripped contract with the Prospective allocation treatment.
  • If the restructured contract is sold within the SSP range, there will be no linking between the ripped and restructured contracts. The restructured contract will be treated as a new revenue contract within the initial timeline. Prospective allocation will be applied to the ripped contract. If impairment amount exists, Zuora Revenue will handle revenue accounting based on the Impairment Type flag that is populated when the canceled line (i.e. RORD line) is collected. 

Supported impairment types

The supported Impairment Type flag on the canceled line is as follows:

  • CONTRACT IMPAIRMENT (Type 1)
    When the Impairment Type flag is set to CONTRACT IMPAIRMENT, an Impairment Account must be set up in the system. When the RORD line is collected, the impairment amount goes to the impairment account type immediately.
  • NEW POB RATABLE (Type 2)
    When the Impairment Type flag is set to NEW POB RATABLE, the system creates a new POB based on the canceled line with the remaining negative adjustment amount (impairment amount), which is to be amortized over the remaining terms.
  • NULL (Type 3)
    When the Impairment Type flag is null on the RORD line, the impairment amount remains on the SO line. If a new SO line joins the existing contract, the system performs reallocation on the new and existing SO lines, and the deferral balance sitting on the canceled line is spread into the remaining SO lines. If you do not want to have the new SO joining the revenue contract in this scenario, you can set the revenue contract to Retrospective and then reallocate the contract.
  • R AND R WITHIN SSP (Type 4)
    The impairment amount is kept as is and amortized over the term of the ripped contract. The ripped contract is closed for further linking. No new POB can be collected for the ripped contract. Instead, the new POB will go to a new revenue contract created by the system. If any deferral (either full or partial) happens to any line in the existing revenue contract, the system will not unfreeze the revenue contract and the allocation remains unaffected.
  • RETROSPECTIVE (Type 5)
    When this type of contract impairment occurs, the revenue contract is reallocated in retrospective mode.
  • NEW POB IMMEDIATE (Type 6)
    When this type of impairment occurs, the impairment amount is released immediately. 

For a contract to get into any of the above contract impairment types except Type 5, the contract must trigger prospective allocation based on the contract modification rule set for line cancellation.

RORD collection sequence

Although RORD lines can be collected with different values of the Impairment Type flag, the sequence of collecting different types of the RORD line matters within the same open period. The RORD line of Type 4 cannot be collected with other types of RORD lines for the same SO line in the same batch. After the RORD line of Type 4 has been collected for an SO line in the current period, other types of RORD lines cannot be collected for the same SO line in the same period.

The following table explains the system treatment and the end-user action for different data collection scenarios of the RORD lines in the same open period.

Data collection scenario within the same period System treatment End-user action
  1. Collect RORD lines of Type 1, 2, or 3 in one batch.
  2. Collect RORD lines of Type 1, 2, or 3 in another batch.
Both batches can be collected. 

The latest type specified on the line will prevail and be used for contract impairment. The revenue contract will be reallocated.

N/A

  1. Collect RORD lines of Type 4 in one batch.
  2. Collect RORD lines of Type 4 in another batch.

Both batches can be collected.

The system will stop allocation for the revenue contract and release the adjustment revenue on the line.

N/A
  1. Collect RORD lines of Type 1, 2, or 3 in one batch.
  2. Collect RORD lines of Type 4 in the same batch.
The batch is stopped in staging. Update the Impairment Type flag on the RORD line in the batch and make sure that Type 4 does not coexist with other impairment types or delay the RORD line of Type 4 to the next open period.
  1. Collect RORD lines of Type 1, 2, or 3 in one batch.
  2. Collect RORD lines of Type 4 in another batch.

The first batch can be collected.

Whether the second batch can be collected falls into different circumstances:

  • If RORD lines of Type 1 or Type 3 are collected in the first patch and revenue has been posted before the RORD line of Type 4 is collected, the second batch can be collected. The system will freeze allocation based on the posted amount, and set the R&R Flag of the impaired revenue contract to R, which is visible in the Overview tab on the Revenue Contract Detail page.
  • In any other circumstances, the second batch is stopped in staging. The latest type specified on the line in the first batch will prevail and be used for contract impairment. The revenue contract will be reallocated.
  • When the revenue contract is frozen by the system, you can manually unfreeze the contract. Then, the R&R Flag will be changed to Y. 
  • When the second batch is stopped in staging, update the Impairment Type flag on the RORD line in the second batch or delay the second batch to the next open period.
  1. Collect RORD lines of Type 4 in one batch.
  2. Collect RORD lines of Type 1, 2, or 3 in another batch.

The first batch can be collected, but the second batch is stopped in staging.

The system will stop allocation and release the adjustment revenue on the line for Type 4.

Update the Impairment Type flag on the RORD line in the second batch or change the revenue contract to a non-R&R contract. To do the latter, go to Revenue Workbench and unfreeze the revenue contract.

Contract Impairment

When the Impairment Flag value is CONTRACT IMPAIRMENT, the impairment amount goes to the impairment account type.

In the following example, a revenue contract has three support lines and starts from January 1 to March 31, 2019. Each line lasts for a period of one month. These support lines are grouped into the same revenue contract based on the RC grouping template, which uses the sales order number as the grouping logic. 

Table 1: Sales order lines collected into Zuora Revenue
SO NO. SO Line ID Line item Ext. List Price Ext. Sell Price SSP % Start Date End Date

1001

101

Support

3600

1200

72

01-Jan-2019

31-Jan-2019

1001

102

Support

3600

2400

72

01-Feb-2019

28-Feb-2019

1001

103

Support

3600

3600

72

01-Mar-2019

31-Mar-2019

The initial entry for carves is created either at the time of schedule creation or at the time of billing when data is collected by Zuora Revenue. First, Ext. SSP Price for each line is calculated based on the following formula:

Ext. SSP Price = Ext. List Price * SSP %

Table 2: Extended SSP price calculation
SO NO. SO Line NO. Line Item Ext. List Price

(A)

SSP %

(B)

Ext. SSP Price

(A*B/100)

1001

101

Support

3600

72

2592

1001

102

Support

3600

72

2592

1001

103

Support

3600

72

2592

Total 7776

Then, the RSP is calculated based on the following formula for each line:

RSP = Ext. SSP Price/Sum of Ext. SSP Price

The Allocated Price is calculated based on the following formula:

Allocated Price = Sum of Ext. Sell Price * RSP

The carve-in amount for the first line and the carve-out amount for the third line are derived.

Table 3: Carves calculation
SO NO. SO Line ID Line Item Ext. Sell Price

(A)

Ext. SSP Price RSP Allocated Price

(B)

Carves

(B-A)

1001

101

Support

1200

2592

0.3333

2400

1200

1001

102

Support

2400

2592

0.3333

2400

0

1001

103

Support

3600

2592

0.3333

2400

-1200

Total 7200 7776      

The revenue is scheduled based on the UPON BOOKING release event. The accounting entries are shown as follows.

Table 4: Accounting entries
NO. RC ID Line ID Account Type Currency Dr Cr Period Initial Reporting Entry Flag

1

1

101

Contract liability

USD

1200

 

Jan-19

 

2

1

101

Revenue

USD

 

1200

Jan-19

 

3

1

102

Contract liability

USD

2400

 

Feb-19

 

4

1

102

Revenue

USD

 

2400

Feb-19

 

5

1

103

Contract liability

USD

3600

 

Mar-19

 

6

1

103

Revenue

USD

 

3600

Mar-19

 

7

1

101

Adjustment Liability

USD

 

1200

Jan-19

Y

8

1

103

Adjustment Liability

USD

1200

 

Jan-19

Y

9

1

101

Adjustment Liability

USD

1200

 

Jan-19

 

10

1

101

Adjustment Revenue

USD

 

1200

Jan-19

 

11

1

103

Adjustment Liability

USD

 

1200

Mar-19

 

12

1

103

Adjustment Revenue

USD

1200

 

Mar-19

 

The revenue recognized at the end of January is 2400 (1200 contractual revenue + 1200 carve-in revenue). The revenue recognized at the end of February is 4800 (1200 contractual revenue for the 1st period + 1200 carve-in revenue for the 1st period + 2400 contractual revenue for the 2nd period).

After the revenue has been recognized for two months, the RORD line is collected in the Mar-19 period with the impairment flag being CONTRACT IMPAIRMENT to cancel the third line of the contract. Based on the contract modification rule, it triggers prospective allocation for the revenue contract.

Table 5: Impact of line item after change
SO NO. SO Line ID Line Item Ext. List Price Ext. Sell Price Start Date End Date Ext SSP Price

(A)

Carves

(B)

Unscheduled Adjustment

1001

101

Support

3600

1200

01-Jan-2019

31-Jan-2019

0

0

0

1001

102

Support

3600

2400

01-Feb-2019

28-Feb-2019

0

0

0

1001

103

Support

3600

3600

01-Mar-2019

31-Mar-2019

0

0

-1200

The carve-out amount of the canceled line becomes the impairment amount. The accounting entries that are created when the third line is canceled with the CONTRACT IMPAIRMENT flag are shown as follows:

Table 6: Schedule after collection
NO. RC ID Line ID Account Type Currency Dr Cr Period

1

1

101

Contract Liability

USD

1200

 

Jan-19

2

1

101

Revenue

USD

 

1200

Jan-19

3

1

102

Contract Liability

USD

2400

 

Feb-19

4

1

102

Revenue

USD

 

2400

Feb-19

5

1

103

Contract Liability

USD

3600

 

Mar-19

6

1

103

Revenue

USD

 

3600

Mar-19

7

1

101

Adjustment Liability

USD

 

1200

Jan-19

8

1

103

Adjustment Liability

USD

1200

 

Jan-19

9

1

101

Adjustment Liability

USD

1200

 

Jan-19

10

1

101

Adjustment Revenue

USD

 

1200

Jan-19

13

1

103

Contract Liability

USD

 

3600

Mar-19

14

1

103

Revenue

USD

3600  

Mar-19

15

1

103

Adjustment Liability

USD

 

1200 Mar-19

16

1

103

Contract Impairment

USD

1200

 

Mar-19

New entries are created when the cancellation of the third line is collected with the CONTRACT IMPAIRMENT flag. The unposted allocation recognition entries are deleted, which are line 11 and 12 in Table 4.

New POB Ratable

When the Impairment Flag value is NEW POB RATABLE, a new line is created with a POB as impairment for the impairment amount. The new line captures all the characteristics of the canceled line. Revenue of the impairment amount is recognized based on the start date and end date of the canceled line and the trigger for revenue release is Upon Booking.

In the following example, the revenue contract has three support lines and starts from January 1 to March 31, 2019. Each line lasts for a month period. The three lines are grouped into the same revenue contract based on the RC grouping template, which uses the sales order number as the grouping logic. 

Table 7: Lines collected into Zuora Revenue
SO NO. SO Line ID Line Item Ext. List Price Ext. Sell Price SSP % Start Date End Date

2001

201

Support

3600

1200

72

01-Jan-2019

31-Jan-2019

2001

202

Support

3600

2400

72

01-Feb-2019

28-Feb-2019

2001

203

Support

3600

3600

72

01-Mar-2019

31-Mar-2019

The initial entry for carves is created either at the time of schedule creation or at the time of billing when data is collected by Zuora Revenue. First, Ext. SSP Price for each line is calculated based on the following formula:

Ext. SSP Price = Ext. List Price * SSP %

Table 8: Extended SSP price calculation
SO NO. SO Line ID Line Item Ext. List Price

(A)

SSP %

(B)

Ext. SSP Price

(A*B/100)

2001

201

Support

3600

72

2592

2001

202

Support

3600

72

2592

2001

203

Support

3600

72

2592

Then, the RSP is calculated based on the following formula for each line:

RSP = Ext. SSP Price/Sum of Ext. SSP Price

The Allocated Price is calculated based on the following formula:

Allocated Price = Sum of Ext. Sell Price * RSP

The carve-in amount for the first line and the carve-out amount for the third line are derived.

Table 9: Carves calculation
SO NO. SO Line NO. Line Item Ext. Sell Price

(A)

Ext. SSP Price RSP Allocated Price

(B)

Carves

(B-A)

2001

201

Support

1200

2592

0.3333

2400

1200

2001

202

Support

2400

2592

0.3333

2400

0

2001

203

Support

3600

2592

0.3333

2400

-1200

Total

7200

7776

 

 

 

The revenue is scheduled based on the UPON BOOKING release event. The accounting entries are listed as follows:

Table 10: Schedule
NO. RC ID Line ID Account Type Currency Dr Cr Period Initial Reporting Entry Flag

1

2

201

Contract liability

USD

1200

 

Jan-19

 

2

2

201

Revenue

USD

 

1200

Jan-19

 

3

2

202

Contract liability

USD

2400

 

Feb-19

 

4

2

202

Revenue

USD

 

2400

Feb-19

 

5

2

203

Contract liability

USD

3600

 

Mar-19

 

6

2

203

Revenue

USD

 

3600

Mar-19

 

7

2

201

Adjustment Liability

USD

 

1200

Jan-19

Y

8

2

203

Adjustment Liability

USD

1200

 

Jan-19

Y

9

2

201

Adjustment Liability

USD

1200

 

Jan-19

 

10

2

201

Adjustment Revenue

USD

 

1200

Jan-19

 

11

2

203

Adjustment Liability

USD

 

1200

Mar-19

 

12

2

203

Adjustment Revenue

USD

1200

 

Mar-19

 

The revenue recognized at the end of January is 2400 (1200 contractual revenue + 1200 carve in revenue). The revenue recognized at the end of February is 4800 (1200 contractual revenue for the first period + 1200 carve-in revenue for the first period + 2400 contractual revenue for the second period).

After the revenue has been recognized for two months, the RORD line is collected in the Mar-19 period with the impairment flag being NEW POB RATABLE to cancel the third line of the contract. Based on the contract modification rule, it triggers prospective allocation for the revenue contract.

Table 11: Impact of line item after change
SO NO. SO Line ID Line item Ext. List Price Ext. Sell Price Start Date End Date Ext. SSP Price

(A)

Carves

(B)

Unscheduled Adjustment Impairment  Amount

2001

201

Support

3600

1200

01-Jan-2019

31-Jan-2019

0

0

0

0

2001

202

Support

3600

2400

01-Feb-2019

28-Feb-2019

0

0

0

0

2001

203

Support

3600

3600

01-Mar-2019

31-Mar-2019

0

0

-1200

0

2001

204

 

0

0

01-Mar-2019

 31-Mar-2019

0

0

0

-1200

The carve-out amount of the canceled line becomes the impairment amount. A new line is created for that amount with impairment as its POB. The Impairment amount is recognized based on the start and end date of the canceled line. See the table below for the accounting entries created when the third line is canceled with the impairment flag being NEW POB RATABLE.

Table 12: Schedule after collection
NO. RC ID Line ID Account Type Currency Dr Cr Period

1

2

201

Contract Liability

USD

1200

 

Jan-19

2

2

201

Revenue

USD

 

1200

Jan-19

3

2

202

Contract Liability

USD

2400

 

Feb-19

4

2

202

Revenue

USD

 

2400

Feb-19

5

2

203

Contract Liability

USD

3600

 

Mar-19

6

2

203

Revenue

USD

 

3600

Mar-19

7

2

201

Adjustment Liability

USD

 

1200

Jan-19

8

2

203

Adjustment Liability

USD

1200

 

Jan-19

9

2

201

Adjustment Liability

USD

1200

 

Jan-19

10

2

201

Adjustment Revenue

USD

 

1200

Jan-19

13

2

203

Contract Liability

USD

 

3600

Mar-19

14

2

203

Revenue

USD

3600

 

Mar-19

15

2

203

Adjustment Liability

USD

 

1200

Mar-19

16

2

203

Contract Impairment

USD

1200

 

Mar-19

17

2

204

Contract Impairment USD

 

1200

Mar-19

18

2

204

Adjustment Liability

USD

1200

 

Mar-19

19

2

204

Adjustment Liability

USD

 

1200

Mar-19

20

2

204

Adjustment Revenue

USD

1200

 

Mar-19

New entries are created when the cancelation of the third line is collected with the NEW POB RATABLE impairment type flag. The unposted allocation recognition entries are deleted, which are line 11 and 12 in Table 10.

The impairment amount that gets debited in the canceled line and subsequently credited to the new line is moved to the adjustment liability account and then to the adjustment revenue account. The new POB created with the new line has the name of IMPAIRMENT, which is a seeded POB. The revenue for the impairment POB is recognized based on the start date and end date of the canceled line.

Null

When the impairment type flag is blank, the impairment amount is left out in the revenue contract. You can choose to customize the treatment for the impairment amount.

In the following example, the revenue contract has three support lines and starts from January 1 to March 31, 2019. Each line lasts for a month period. The lines are grouped into the same revenue contract based on the RC grouping template, which uses the SO number as the grouping logic.

Table 13: Lines collected to Zuora Revenue
SO NO. SO Line ID Line Item Ext. List Price Ext. Sell Price SSP % Start Date End Date

3001

301

Support

3600

1200

72

01-Jan-2019

31-Jan-2019

3001

302

Support

3600

2400

72

01-Feb-2019

28-Feb-2019

3001

303

Support

3600

3600

72

01-Mar-2019

31-Mar-2019

The initial entry for carves is created either at the time of schedule creation or at the time of billing when data is collected by Zuora Revenue. First, Ext. SSP Price for each line is calculated based on the following formula:

Ext. SSP Price = Ext. List Price * SSP %

Table 14: Extended SSP price calculation
SO NO. SO Line ID Line Item Ext List Price

(A)

SSP %

(B)

Ext. SSP Price

(A*B/100)

3001

301

Support

3600

72

2592

3001

302

Support

3600

72

2592

3001

303

Support

3600

72

2592

Then, the RSP is calculated based on the following formula for each line:

RSP = Ext. SSP Price/Sum of Ext. SSP Price

The Allocated Price is calculated based on the following formula:

Allocated Price = Sum of Ext. Sell Price * RSP

The carve-in amount for the first line and the carve-out amount for the third line are derived.

Table 15: Carves calculation
SO NO. SO Line ID Line Item Ext Sell Price

(A)

Ext. SSP Price RSP Allocated Price

(B)

Carves

(B-A)

3001

301

Support

1200

2592

0.3333

2400

1200

3001

302

Support

2400

2592

0.3333

2400

0

3001

303

Support

3600

2592

0.3333

2400

-1200

Total

7200

7776

 

 

 

The revenue is scheduled based on the UPON BOOKING release event. The accounting entries are as follows:

Table 16: Schedule
NO. RC ID Line ID Account Type Currency Dr Cr Period Initial Reporting Entry Flag

1

3

301

Contract liability

USD

1200

 

Jan-19

 

2

3

301

Revenue

USD

 

1200

Jan-19

 

3

3

302

Contract Liability

USD

2400

 

Feb-19

 

4

3

302

Revenue

USD

 

2400

Feb-19

 

5

3

303

Contract Liability

USD

3600

 

Mar-19

 

6

3

303

Revenue

USD

 

3600

Mar-19

 

7

3

301

Adjustment Liability

USD

 

1200

Jan-19

Y

8

3

303

Adjustment Liability

USD

1200

 

Jan-19

Y

9

3

301

Adjustment Liability

USD

1200

 

Jan-19

 

10

3

301

Adjustment Revenue

USD

 

1200

Jan-19

 

11

3

303

Adjustment Liability

USD

 

1200

Mar-19

 

12

3

303

Adjustment Revenue

USD

1200

 

Mar-19

 

The revenue recognized at the end of January is 2400 (1200 contractual revenue + 1200 carve in revenue). The revenue recognized at the end of February is 4800 (1200 contractual revenue for the first period + 1200 carve-in revenue for the first Period + 2400 contractual revenue for the second period).

After the revenue has been recognized for two months, the RORD line is collected in the Mar-19 period with a blank impairment flag to cancel the third line of the contract. Based on the contract modification rule, it triggers prospective allocation for the revenue contract.

Table 17: Impact of line item after change
SO NO. SO Line ID Line Item Ext. List Price Ext. Sell Price Start Date/th> End Date Ext. SSP Price

(A)

Carves

(B)

Unscheduled Adjustment

3001

301

Support

3600

1200

01-Jan-2019

31-Jan-2019

0

0

0

3001

302

Support

3600

2400

01-Feb-2019

28-Feb-2019

0

0

0

3001

303

Support

3600

3600

01-Mar-2019

31-Mar-2019

0

0

-1200

The carve-out amount of the canceled line becomes the impairment amount, which is left out in the revenue contract. It gives provision for you to do customization. The accounting entries that are created when the third line is canceled with the impairment flag being null are listed below:

Table 18: Schedule after collection
NO. RC ID Line ID Account Type Currency Dr Cr Period

1

3

301

Contract Liability

USD

1200

 

Jan-19

2

3

301

Revenue

USD

 

1200

Jan-19

3

3

302

Contract Liability

USD

2400

 

Feb-19

4

3

302

Revenue

USD

 

2400

Feb-19

5

3

303

Contract Liability

USD

3600

 

Mar-19

6

3

303

Revenue

USD

 

3600

Mar-19

7

3

301

Adjustment Liability

USD

 

1200

Jan-19

8

3

303

Adjustment Liability

USD

1200

 

Jan-19

9

3

301

Adjustment Liability

USD

1200

 

Jan-19

10

3

301

Adjustment Revenue

USD

 

1200

Jan-19

13

3

303

Contract Liability

USD

 

1200

Mar-19

14

3

303

Revenue

USD

1200

 

Mar-19

The bottom two entries are created when the cancelation of the third line is collected with the blank impairment flag. The unposted allocation recognition entries are deleted, which are line 11 and 12 in Table 16.

R And R Within SSP

When the Impairment Type flag is R AND R WITHIN SSP, the impairment amount is kept as is and amortized over the term of the ripped contract. The ripped contract is closed for further linking. New POB cannot be collected for the ripped contract. Instead, the new POB will go to a new revenue contract. 

Example 1 - Full impairment

In the following example, a revenue contract has three support lines and starts from January 1 to March 31, 2019. Each line lasts for a period of one month. These support lines are grouped into the same revenue contract based on the RC grouping template, which uses the sales order number as the grouping logic. 

Table 19: Sales order lines collected into Zuora Revenue
SO NO. SO Line ID Line item Ext. List Price Ext. Sell Price SSP % Start Date End Date

4001

401

Support

3600

1200

72

01-Jan-2019

31-Jan-2019

4001

402

Support

3600

2400

72

01-Feb-2019

28-Feb-2019

4001

403

Support

3600

3600

72

01-Mar-2019

31-Mar-2019

The initial entry for carves is created either at the time of schedule creation or at the time of billing when data is collected by Zuora Revenue. First, Ext. SSP Price for each line is calculated based on the following formula:

Ext. SSP Price = Ext. List Price * SSP %

Table 20: Extended SSP price calculation
SO NO. SO Line ID Line Item Ext. List Price

(A)

SSP %

(B)

Ext. SSP Price

(A*B/100)

4001

401

Support

3600

72

2592

4001

402

Support

3600

72

2592

4001

403

Support

3600

72

2592

Total 7776

Then, the RSP is calculated based on the following formula for each line:

RSP = Ext. SSP Price/Sum of Ext. SSP Price

The Allocated Price is calculated based on the following formula:

Allocated Price = Sum of Ext. Sell Price * RSP

The carve-in amount for the first line and the carve-out amount for the third line is derived.

Table 21: Carves calculation
SO NO. SO Line ID Line item Ext. Sell Price

(A)

Ext. SSP Price RSP Allocated Price

(B)

Carves

(B-A)

4001

401

Support

1200

2592

0.3333

2400

1200

4001

402

Support

2400

2592

0.3333

2400

0

4001

403

Support

3600

2592

0.3333

2400

-1200

Total 7200 7776      

The revenue is scheduled based on the UPON BOOKING release event. The accounting entries are shown as follows.

Table 22: Accounting entries
NO. RC ID Line ID Account Type Currency Dr Cr Period Initial Reporting Entry Flag

1

4

401

Contract liability

USD

1200

 

Jan-19

 

2

4

401

Revenue

USD

 

1200

Jan-19

 

3

4

402

Contract liability

USD

2400

 

Feb-19

 

4

4

402

Revenue

USD

 

2400

Feb-19

 

5

4

403

Contract liability

USD

3600

 

Mar-19

 

6

4

403

Revenue

USD

 

3600

Mar-19

 

7

4

401

Adjustment Liability

USD

 

1200

Jan-19

Y

8

4

403

Adjustment Liability

USD

1200

 

Jan-19

Y

9

4

401

Adjustment Liability

USD

1200

 

Jan-19

 

10

4

401

Adjustment Revenue

USD

 

1200

Jan-19

 

11

4

403

Adjustment Liability

USD

 

1200

Mar-19

 

12

4

403

Adjustment Revenue

USD

1200

 

Mar-19

 

The revenue recognized at the end of January is 2400 (1200 contractual revenue + 1200 carve-in revenue). The revenue recognized at the end of February is 4800 (1200 contractual revenue for the 1st period + 1200 carve-in revenue for the 1st period + 2400 contractual revenue for the 2nd period).

After the revenue has been recognized for two months, the RORD line is collected in the Mar-19 period with the impairment flag being R AND R WITHIN SSP to cancel the third line of the contract. Based on the contract modification rule, it triggers prospective allocation for the revenue contract.

Table 23: Impact of line item after change
SO NO. SO Line ID Line item Ext. List Price Ext. Sell Price Start Date End Date Ext. SSP Price

(A)

Carves

(B)

Unscheduled Adjustment Impairment  Amount

4001

401

Support

3600

1200

01-Jan-2019

31-Jan-2019

0

0

0

0

4001

402

Support

3600

2400

01-Feb-2019

28-Feb-2019

0

0

0

0

4001

403

Support

3600

3600

01-Mar-2019

31-Mar-2019

0

0

-1200

0

The adjustment amount remains the same. The carve-out amount of the canceled line becomes the impairment amount. The accounting entries that are created when the third line is canceled with the R AND R WITHIN SSP flag are shown as follows:

Table 24: Schedule after collection
NO. RC ID Line ID Account Type Currency Dr Cr Period Initial Reporting Entry Flag

1

4

401

Contract liability

USD

1200

 

Jan-19

 

2

4

401

Revenue

USD

 

1200

Jan-19

 

3

4

402

Contract liability

USD

2400

 

Feb-19

 

4

4

402

Revenue

USD

 

2400

Feb-19

 

5

4

403

Contract liability

USD

3600

 

Mar-19

 

6

4

403

Revenue

USD

 

3600

Mar-19

 

7

4

401

Adjustment Liability

USD

 

1200

Jan-19

Y

8

4

403

Adjustment Liability

USD

1200

 

Jan-19

Y

9

4

401

Adjustment Liability

USD

1200

 

Jan-19

 

10

4

401

Adjustment Revenue

USD

 

1200

Jan-19

 

11

4

403

Adjustment Liability

USD

 

1200

Mar-19

 

12

4

403

Adjustment Revenue

USD

1200

 

Mar-19

 
13 4 403 Contract Liability USD   3600 Mar-19  
14 4 403 Revenue USD 3600   Mar-19  

Example 2 - Partial impairment

In the following example, a revenue contract has three support lines and starts from January 1 to March 31, 2019. Each line lasts for a period of one month. These support lines are grouped into the same revenue contract based on the RC grouping template, which uses the sales order number as the grouping logic. 

Table 25: Sales order lines collected into Zuora Revenue
SO NO. SO Line ID Line item Ext. List Price Ext. Sell Price SSP % Start Date End Date

5001

501

Support

3600

1200

72

01-Jan-2019

31-Jan-2019

5001

502

Support

3600

2400

72

01-Feb-2019

28-Feb-2019

5001

503

Support

3600

3600

72

01-Mar-2019

31-Mar-2019

The initial entry for carves is created either at the time of schedule creation or at the time of billing when data is collected by Zuora Revenue. First, Ext. SSP Price for each line is calculated based on the following formula:

Ext. SSP Price = Ext. List Price * SSP %

Table 26: Extended SSP price calculation
SO NO. SO Line ID Line Item Ext. List Price

(A)

SSP %

(B)

Ext. SSP Price

(A*B/100)

5001 501 Support 3600 72 2592
5001 502 Support 3600 72 2592
5001 503 Support 3600 72 2592
Total 7776

Then, the RSP is calculated based on the following formula for each line:

RSP = Ext. SSP Price/Sum of Ext. SSP Price

The Allocated Price is calculated based on the following formula:

Allocated Price = Sum of Ext. Sell Price * RSP

The carve-in amount for the first line and the carve-out amount for the third line is derived.

Table 27: Carves calculation
SO NO. SO Line ID Line item Ext. Sell Price

(A)

Ext. SSP Price RSP Allocated Price

(B)

Carves

(B-A)

Released Revenue
5001 501 Support 1200 2592 0.3333 2400 1200 1000
5001 502 Support 2400 2592 0.3333 2400 0 2400
5001 503 Support 3600 2592 0.3333 2400 -1200 3600
Total 7200 7776        

The revenue is scheduled based on the UPON BOOKING release event. The accounting entries are shown as follows.

Table 28: Accounting entries
NO. RC ID Line ID Account Type Currency Dr Cr Period Initial Reporting Entry Flag
1 5 501 Contract liability USD 1200   Jan-19  
2 5 501 Revenue USD   1200 Jan-19  
3 5 502 Contract liability USD 2400   Feb-19  
4 5 502 Revenue USD   2400 Feb-19  
5 5 503 Contract liability USD 3600   Mar-19  
6 5 503 Revenue USD   3600 Mar-19  
7 5 501 Adjustment Liability USD   1200 Jan-19 Y
8 5 503 Adjustment Liability USD 1200   Jan-19 Y
9 5 501 Adjustment Liability USD 1200   Jan-19  
10 5 501 Adjustment Revenue USD   1200 Jan-19  
11 5 503 Adjustment Liability USD   1200 Mar-19  
12 5 503 Adjustment Revenue USD 1200   Mar-19  

The revenue recognized at the end of January is 2400 (1200 contractual revenue + 1200 carve-in revenue). The revenue recognized at the end of February is 4800 (1200 contractual revenue for the 1st period + 1200 carve-in revenue for the 1st period + 2400 contractual revenue for the 2nd period).

After the revenue has been recognized for two months, the RORD line is collected for (-$200) in the Mar-19 period with the impairment flag being R AND R WITHIN SSP to partially cancel the first line of the contract. Based on the contract modification rule, it triggers prospective allocation for the revenue contract.

Table 29: Impact of line item after change
SO NO. SO Line ID Line item Ext. List Price Ext. Sell Price Start Date End Date Ext. SSP Price

(A)

Carves

(B)

Unscheduled Adjustment Impairment  Amount Allocatable Ext. Price Return Flag
5001 501 Support 3600 1000 01-Jan-2019 31-Jan-2019 0 -200 200 0 1000 N
5001 502 Support 3600 2400 01-Feb-2019 28-Feb-2019 0 0 0 0 2400 N
5001 503 Support 3600 3600 01-Mar-2019 31-Mar-2019 0 200 -1200 -1000 0 Y

The adjustment amount remains the same. The accounting entries that are created when the third line is canceled with the R AND R WITHIN SSP flag are shown as follows:

Table 30: Schedule after collection
NO. RC ID Line ID Account Type Currency Dr Cr Period Schedule Type
1 5 501 Contract Liability USD 1000   Jan-19 Revenue
2 5 501 Revenue USD   1000 Jan-19 Revenue
3 5 502 Contract Liability USD 2400   Feb-19 Revenue
4 5 502 Revenue USD   2400 Feb-19 Revenue
5 5 503 Contract Liability USD 3600   Mar-19 Revenue
6 5 503 Revenue USD   3600 Mar-19 Revenue
7 5 501 Adjustment Liability USD   1200 Jan-19 Adjustment
8 5 503 Adjustment Liability USD 1200   Jan-19 Adjustment
9 5 501 Adjustment Liability USD 1000   Jan-19 Adjustment
10 5 501 Adjustment Revenue USD   1000 Jan-19 Adjustment
13 5 503 Contract Liability USD   3600 Mar-19 Revenue
14 5 503 Revenue USD 3600   Mar-19 Revenue
15 5 503 Adjustment Liability USD   1000 Mar-19 Impairment
16 5 503 Contract Impairment USD 1000   Mar-19 Impairment
17 5 503 Adjustment Liability USD   200 Mar-19 Adjustment
18 5 501 Adjustment Liability USD 200   Mar-19 Adjustment

New POB Immediate

When the Impairment Flag value is NEW POB IMMEDIATE, a new line is created with a POB as impairment for the impairment amount. The new line captures all the characteristics of the canceled line. Revenue of the impairment amount is recognized based on the start date and end date of the canceled line and the trigger for revenue release is Upon Booking.

In the following example, the three support lines are grouped into the same revenue contract based on the RC grouping template, which uses the sales order number as the grouping logic. 

Table 31: Lines collected into Zuora Revenue
SO NO. SO Line ID Line Item Ext. List Price Ext. Sell Price SSP % Start Date End Date

6001

601

Support

3600

1200

72

01-Jan-2019

30-Jun-2019

6001

602

Support

3600

2400

72

01-Jul-2019

31-Dec-2019

6001

603

Support

3600

3600

72

01-Jan-2020

30-Jun-2020

The initial entry for carves is created either at the time of schedule creation or at the time of billing when data is collected by Zuora Revenue. First, Ext. SSP Price for each line is calculated based on the following formula:

Ext. SSP Price = Ext. List Price * SSP %

Table 32: Extended SSP price calculation
SO NO. SO Line ID Line Item Ext. List Price

(A)

SSP %

(B)

Ext. SSP Price

(A*B/100)

6001

601

Support

3600

72

2592

6001

602

Support

3600

72

2592

6001

603

Support

3600

72

2592

Then, the RSP is calculated based on the following formula for each line:

RSP = Ext. SSP Price/Sum of Ext. SSP Price

The Allocated Price is calculated based on the following formula:

Allocated Price = Sum of Ext. Sell Price * RSP

The carve-in amount for the first line and the carve-out amount for the third line are derived.

Table 33: Carves calculation
SO NO. SO Line NO. Line Item Ext. Sell Price

(A)

Ext. SSP Price RSP Allocated Price

(B)

Carves

(B-A)

6001

601

Support

1200

2592

0.3333

2400

1200

6001

602

Support

2400

2592

0.3333

2400

0

6001

603

Support

3600

2592

0.3333

2400

-1200

Total

7200

7776

 

 

 

The revenue is scheduled based on the UPON BOOKING release event. The accounting entries are listed as follows:

Table 34: Schedule
NO. RC ID Line ID Account Type Currency Dr Cr Period Initial Reporting Entry Flag
1 6 601 Contract liability USD 200   Jan-19  
2 6 601 Revenue USD   200 Jan-19  
3 6 601 Contract liability USD 200   Feb-19  
4 6 601 Revenue USD   200 Feb-19  
5 6 601 Contract liability USD 200   Mar-19  
6 6 601 Revenue USD   200 Mar-19  
7 6 601 Contract liability USD 200   Apr-19  
8 6 601 Revenue USD   200 Apr-19  
9 6 601 Contract liability USD 200   May-19  
10 6 601 Revenue USD   200 May-19  
11 6 601 Contract liability USD 200   Jun-19  
12 6 601 Revenue USD   200 Jun-19  
13 6 602 Contract liability USD 400   Jul-19  
14 6 602 Revenue USD   400 Jul-19  
15 6 602 Contract liability USD 400   Aug-19  
16 6 602 Revenue USD   400 Aug-19  
17 6 602 Contract liability USD 400   Sep-19  
18 6 602 Revenue USD   400 Sep-19  
19 6 602 Contract liability USD 400   Oct-19  
20 6 602 Revenue USD   400 Oct-19  
21 6 602 Contract liability USD 400   Nov-19  
22 6 602 Revenue USD   400 Nov-19  
23 6 602 Contract liability USD 400   Dec-19  
24 6 602 Revenue USD   400 Dec-19  
25 6 603 Contract liability USD 600   Jan-20  
26 6 603 Revenue USD   600 Jan-20  
27 6 603 Contract liability USD 600   Feb-20  
28 6 603 Revenue USD   600 Feb-20  
29 6 603 Contract liability USD 600   Mar-20  
30 6 603 Revenue USD   600 Mar-20  
31 6 603 Contract liability USD 600   Apr-20  
32 6 603 Revenue USD   600 Apr-20  
33 6 603 Contract liability USD 600   May-20  
34 6 603 Revenue USD   600 May-20  
35 6 603 Contract liability USD 600   Jun-20  
36 6 603 Revenue USD   600 Jun-20  
37 6 601 Adjustment Liability USD   1200 Jan-19 Y
38 6 603 Adjustment Liability USD 1200   Jan-19 Y
39 6 601 Adjustment Liability USD 200   Jan-19  
40 6 601 Adjustment Revenue USD   200 Jan-19  
41 6 601 Adjustment Liability USD 200   Feb-19  
42 6 601 Adjustment Revenue USD   200 Feb-19  
43 6 601 Adjustment Liability USD 200   Mar-19  
44 6 601 Adjustment Revenue USD   200 Mar-19  
45 6 601 Adjustment Liability USD 200   Apr-19  
46 6 601 Adjustment Revenue USD   200 Apr-19  
47 6 601 Adjustment Liability USD 200   May-19  
48 6 601 Adjustment Revenue USD   200 May-19  
49 6 601 Adjustment Liability USD 200   Jun-19  
50 6 601 Adjustment Revenue USD   200 Jun-19  
52 6 603 Adjustment Liability USD   200 Feb-20  
53 6 603 Adjustment Revenue USD 200   Feb-20  
54 6 603 Adjustment Liability USD   200 Mar-20  
55 6 603 Adjustment Revenue USD 200   Mar-20  
56 6 603 Adjustment Liability USD   200 Apr-20  
57 6 603 Adjustment Revenue USD 200   Apr-20  
58 6 603 Adjustment Liability USD   200 May-20  
59 6 603 Adjustment Revenue USD 200   May-20  
60 6 603 Adjustment Liability USD   200 Jun-20  
61 6 603 Adjustment Revenue USD 200   Jun-20  

The revenue recognized for the first line is 2400 (1200 contractual revenue + 1200 carve in revenue) from January to June 2019. The revenue recognized for the second line is 2400 ( 2400 contractual revenue of the second line) from July to December 2019.

After the revenue has been recognized for 2019, the RORD line is collected in the Jan-20 period with the impairment flag being NEW POB IMMEDIATE to cancel the third line of the contract. Based on the contract modification rule, it triggers prospective allocation for the revenue contract.

Table 35: Impact of line item after change
SO NO. SO Line ID Line item Ext. List Price Ext. Sell Price Start Date End Date Ext. SSP Price

(A)

Carves

(B)

Unscheduled Adjustment Impairment  Amount

6001

601

Support

3600

1200

01-Jan-2019

30-Jun-2019

0

0

0

0

6001

602

Support

3600

2400

01-Jul-2019

31-Dec-2019

0

0

0

0

6001

603

Support

3600

3600

01-Jan-2020

30-Jun-2020

0

0

-1200

0

6001

604

 

0

0

01-Jan-2020

 30-Jun-2020

0

0

0

-1200

The carve-out amount of the canceled line becomes the impairment amount. A new line is created for that amount with impairment as its POB. The impairment amount is recognized immediately. See the table below for the accounting entries created when the third line is canceled with the impairment flag being NEW POB IMMEDIATE.

Table 36: Schedule after collection
NO. RC ID Line ID Account Type Currency Dr Cr Period Initial Reporting Entry Flag
1 6 603 Contract Liability USD   200 Jan-20  
2 6 603 Revenue USD 200   Jan-20  
3 6 603 Contract Liability USD   200 Feb-20  
4 6 603 Revenue USD 200   Feb-20  
5 6 603 Contract Liability USD   200 Mar-20  
6 6 603 Revenue USD 200   Mar-20  
7 6 603 Contract Liability USD   200 Apr-20  
8 6 603 Revenue USD 200   Apr-20  
9 6 603 Contract Liability USD   200 May-20  
10 6 603 Revenue USD 200   May-20  
11 6 603 Contract Liability USD   200 Jun-20  
12 6 603 Revenue USD 200   Jun-20  
13 6 603 Adjustment Liability USD   1200 Jan-20  
14 6 603 Contract Impairment USD 1200   Jan-20  
15 6 604 Contract Impairment USD   1200 Jan-20  
16 6 604 Adjustment Liability USD 1200   Jan-20  
17 6 604 Adjustment Liability USD   1200 Jan-20  
18 6 604 Adjustment Revenue USD 1200   Jan-20  

New entries are created when the cancelation of the third line is collected with the NEW POB IMMEDIATE impairment type flag. The unposted allocation recognition entries are deleted.

The impairment amount that gets debited in the canceled line and subsequently credited to the new line is moved to the adjustment liability account and then to the adjustment revenue account. The new POB created with the new line has the name of IMPAIRMENT, which is a seeded POB. The revenue for the impairment POB is recognized based on the start date and end date of the canceled line.