Skip to main content

Netting process

Zuora

Netting process

The accounting entries booked in Zuora Revenue are always on the Contract Liability side unless the Right to Bill flag is set to Yes for the line. In this circumstance, for the balance sheet to be correctly reported, the over-recognized amount needs to be moved from contract liability (CL) to contract asset (CA). To accomplish this goal, you must run the netting process in Zuora Revenue. The netting process can be done at two levels:

  • Transaction line level

    The netting entries are created against each line for the revenue contract that is eligible for the netting process.

  • Application level

    The MJE functionality is used to book the entries for the netting amount.

Only the revenue contracts that are not put on hold can participate in the netting process.

Required system configuration

The netting process requires the following setups in Zuora Revenue:

  • Setups > Application > Profiles

    • The ALLOW_NETTING_PROCESS profile is set to Yes to enable the netting process.

    • The NETTING_PROCESS_LEVEL profile is specified to determine whether the netting process is done at the application level or transaction line level.

    • The NETTING_ON_NEGATIVE_RC profile determines whether to create netting entries for the revenue contract that has all negative lines. 

    • The NETTING_RC_MJE profile specifies whether to include MJE lines in the revenue contract for CA/CL netting.

  • Setups > Application > Revenue Books

    • If the netting process is to be done at the application level, the Contract Asset and Contract Liability accounts must be assigned to the revenue book for each company code. To do this, hover over the target book and click the Assign Accounts icon icon-assign-account.png.

      clipboard_ee5f04402ec77cecd8a5d0e5ae39ad692.png

  • Setups > Application > Accounting Setup > Account Type

    • The Include In Netting switch is toggled to Yes for each account that will participate in the netting process.

  • Setups > Security > Roles

    • The role of the user who will start the netting process has full access to the Netting Process sub-menu in the role privilege settings.

Procedure

Complete the following steps to start the netting process in the UI:

  1. Navigate to Reports > Schedule Jobs.
  2. Click icon-add.png . The Schedule Job/Job Groups window is displayed.
  3. In the Schedule Program tab, select RevPro3.0 Netting Process as the program name and specify other fields as necessary.

  4. Click the Program Parameters tab to specify the required parameters.

  5. To start the job, click Submit Job.

  6. (Application level only) If netting is enabled at the application level, after the Rev3.0 Netting Process program is complete, navigate to Accounting > Netting Process and then click Perform Netting.

Processing logic

For the current open period, Zuora Revenue determines whether the revenue contract is in CL or CA position for the account types with netting enabled based on the following rules:

  • If the recognized revenue amount is more than the invoice amount (Cr - Dr < 0), the revenue contract is in CA position.

  • If the recognized revenue amount is less than the invoice amount (Cr - Dr > 0), the revenue contract is in CL position.

Netting currency

When there is more than one transaction currency in the revenue contract, the Lowest Common Currency is identified for all related account types and used for the netting process. The exchange rate of each line is used to identify the value in the lowest common currency, which can be one of the following:

  • Transaction currency

  • Functional currency

  • Reporting currency

Scenario - Netting in transaction currency

In the following scenario, the transaction currency of all lines is the same. The lowest common currency is transaction currency, USD. The net contract liability amount (Cr - Dr) in USD is -1000, which is negative. This revenue contract is eligible for netting.

Company Code RC ID Line ID Account Type Cr - Dr T.curr F.curr F.Ex.Rate G.Ex.Rate Ex. Rate Date Cr - Dr
(T.curr)
100 121 1

Contract

Liability

-1000 USD USD 1.00 1.00 01/01/2019 -1000
100 121 1

Adjustment

Liability

-300 USD USD 1.00 1.00 01/01/2019 -300
100 121 2

Adjustment

Liability

300 USD USD 1.00 1.00 01/01/2019 300

Scenario - Netting in functional currency

In the following scenario, all the lines have the same functional currency. The lowest common currency is the functional currency, USD. The net contract liability amount in USD is -1250, which is negative. This revenue contract is eligible for netting.

Company Code RC ID Line ID Account Type Cr - Dr T.curr F.curr F.Ex.Rate G.Ex.Rate Ex. Rate Date Cr - Dr
(F.curr)
100 122 1

Contract

Liability

-1000 USD USD 1.00 1.00 01/01/2019 -1000
100 122 1

Adjustment

Liability

-300 USD USD 1.00 1.00 01/01/2019 -300
100 122 2

Contract

Liability

-1000 SGD USD 0.25 1.00 01/01/2019 -250
100 122 2

Adjustment

Liability

300 SGD USD 1.00 1.00 01/01/2019 300

Scenario - Netting in reporting currency

In the following scenario, the transaction currencies of the lines are all different. As a result, the reporting currency is used in netting. The net contract liability amount in reporting currency is -700, which is negative. This revenue contract is eligible for netting.

Company Code RC ID Line ID Account Type Cr - Dr T.curr F.curr F.Ex.Rate G.Ex.Rate Ex. Rate Date Cr - Dr
(R.curr)
100 123 1

Contract

Liability

-1000 USD USD 1.00 1.00 01/01/2019 -1000
100 123 1

Adjustment

Liability

-300 USD USD 1.00 1.00 01/01/2019 -300
100 123 2

Contract

Liability

-1000 SGD USD 0.25 1.00 01/01/2019 -250
100 123 2

Adjustment

Liability

300 USD USD 1.00 1.00 01/01/2019 300
100 123 3

Contract

Liability

-1000 SGD SGD 0.25 1.00 01/01/2019 -250
100 123 3

Adjustment

Liability

300 SGD SGD 1.00 1.00 01/01/2019 300

Netting at transaction line level

When netting is done at the transaction line level and the revenue contract is in CA position, different actions are taken on each transaction line, depending on the net CL amount (Cr - Dr) of the line:

  • If Cr - Dr = 0, no accounting entry is created for the line.

  • If Cr - Dr > 0, the CA account gets credited and the balance sheet account type is Debit.

  • If Cr - Dr < 0, the CA account gets debited and the balance sheet account type is Credit.

For example, there is one revenue contract 121 in the system.

RC# Company Code CA Amount CL Amount T.Curr F.Curr Ex.Rate.Date F.Ex.Rate G.Ex.Rate
121 100 1000   USD USD 01/01/2019 1.00 1.00

After the netting process is run at the transaction line level, the accounting entries are created as follows:

Company Code RC ID Line ID Accounting Type Period Dr Cr
100 121 1 Contract Asset JAN-19 1000 0
100 121 1 Contract Liability JAN-19   1000
100 121 1 Contract Asset JAN-19  300  
100 121 1 Contract Liability JAN-19    300
100 121 2 Contract Asset JAN-19    300
100 121 2 Contract Liability JAN-19  300  

Netting at application level

When netting is done at the application line, the top-sided journal entries are created for the CA amount.

For example, there is only one revenue contract 121 in the system.

RC# Company Code CA Amount CL Amount T.Curr F.Curr Ex.Rate.Date F.Ex.Rate G.Ex.Rate
121 100 1000   USD USD 01/01/2019 1.00 1.00

Zuora Revenue will book the following MJE:

JE Header JE Line# T Curr F Curr Ex. Rate Date F. Ex Rate G. Ex Rate Amount
JE-125 1 USD USD 01/01/2019 1 1 1000

After MJE is approved, the following schedules are created.

Company Code Accounting Type Period Dr Cr
100 Contract Asset JAN-19 1000 0
100 Contract Liability JAN-19   1000
100 Contract Asset FEB-19   1000
100 Contract Liability FEB-19 1000