Algorithms Used in Deferred Revenue Recognition

The following table lists the algorithms which are used in the lifecycle of the business object:

Status System Event Algorithm Algorithm Type Description
C1-REVRECSCH C1-REVRECSCH This algorithm is invoked when the status of the bill segment and adjustment financial transactions created against the contracts (of the contract type to which the algorithm is attached) is set to Frozen. It checks whether an active deferred revenue recognition template exists for the distribution code and contract type combination. If so, it creates a deferred revenue recognition using the template and sets the status of the deferred revenue recognition to Draft. It then checks whether the type of the corresponding financial transaction is Bill Segment or Adjustment. If the type of the corresponding financial transaction is Bill Segment, it sets the valid until date of the deferred revenue recognition to the bill segment end date. However, if the type of the corresponding financial transaction is Adjustment, it checks whether the Use Contract Expiration Date (Y or N) parameter is set to Y or N. If the Use Contract Expiration Date (Y or N) parameter is set to Y, it sets the valid until date of the deferred revenue recognition to the contract expiration date. However, if the Use Contract Expiration Date (Y or N) parameter is set to N, it sets the valid until date of the deferred revenue recognition to the financial transaction arrears date. In addition, on creating the deferred revenue recognition, an appropriate log entry is added which you can view in the Deferred Revenue Recognition Log zone. It contains the following parameter:
  • Use Contract Expiration Date (Y or N) - Used to indicate whether the valid until date must be set to the contract expiration date when the type of the corresponding financial transaction is Adjustment. The valid values are Y and N. This parameter is mandatory.

C1-REVRECITM C1-REVRECITM

This algorithm creates schedule for the deferred revenue recognition. It considers the valid until date and accordingly creates the recognition lines within the schedule. If the recognition schedule is Weekly, by default, the recognition day is set to Mon (which means Monday of each week). However, if the recognition schedule is Monthly, by default, the recognition date is set to the last day of the month (i.e. 28, 29, 30, or 31) It contains the following parameters:

  • Use Calendar or Business Days (C or B) - Used to indicate whether you want to use the calendar or business days while generating the recognition schedule. The business days are derived using the work calendar defined on the financial transaction. If you do not specify any value for this parameter, by default, it is set to C. This parameter is mandatory.

  • Override Default Recognition Date (Y or N) - Used to indicate whether you want to override the default weekly or monthly recognition date. The valid values are Y and N. This parameter is mandatory.

  • Override Default Weekly Recognition Day (Mon, Tue, Wed, Thu, Fri, Sat, Sun) - Used to indicate the day of the week when you want to recognize the deferred revenue. The valid values are Mon, Tue, Wed, Thu, Fri, Sat, and Sun. This parameter is required when you want to override the default weekly recognition day.

  • Override Default Monthly Recognition Date (1-31) - Used to indicate the day of the month when you want to recognize the deferred revenue. The valid values are 1, 2, 3, …, 31. This parameter is required when you want to override the default monthly recognition date.

C1-REVRECADJ C1-REVRECADJ

This algorithm creates deferred revenue recognition adjustment using the adjustment type defined on the respective deferred revenue recognition template. Before creating the deferred revenue recognition adjustment, it checks whether the contract for which the deferred revenue recognition is created is cancelled. If so, the status of the deferred revenue recognition is set to Canceled. If all lines in the recognition schedule are recognized, the status of the deferred revenue recognition is set to Closed.

C1-REVITMREC C1-REVITMREC If this algorithm is attached in the deferred revenue recognition template, it is invoked while executing the C1-RRADJ batch. It contains the following parameter:
  • Create Adjustments (Y or N) - Used to indicate whether the deferred revenue recognition adjustment must be created or not when the recognition date is earlier than or equal to the batch business date. The valid values are Y and N. This parameter is mandatory.

C1-DRRTM-INF C1-DRRTM-INF This algorithm generates the deferred revenue recognition template information string which appears throughout the application. It concatenates the following fields separated by a comma in the specified order:
  1. Deferred Revenue Recognition Template

  2. Description

C1-DRRTMPVAL C1-DRRTMPVAL This algorithm validates the deferred revenue recognition template. It checks the following:
  • Whether the data is specified in the mandatory fields, such as Deferred Revenue Recognition Template, Description, Status, Distribution Code, Contract Type, Adjustment Type, Recognition Schedule Generation Type, and Recognition Schedule.

  • Whether an algorithm is attached to the Create Deferred Revenue Recognition Schedule and Generate Deferred Revenue Recognition Adjustment system events.

  • Whether a deferred revenue recognition template already exists for the specified distribution code and contract type combination.

  • Whether special characters except underscore are specified in the Deferred Revenue Recognition Template field.

  • Whether the high proration limit is between 0 to 31 and is greater than the low proration limit.>> Whether the low proration limit is between 0 to 31 and is less than the high proration limit.

In addition, it does not allow you to:

  • Delete a deferred revenue recognition template when it is used to create a deferred revenue recognition.

  • Edit a deferred revenue recognition template when the corresponding deferred revenue recognition is in the Draft status.

  • Inactivate a deferred revenue recognition template when the corresponding deferred revenue recognition is not in the Closed status.

You must attach this validation algorithm to the custom business object which is used to create a deferred revenue recognition template. Otherwise, erroneous results might occur.
C1-DRRSC-INF C1-DRRSC-INF This algorithm generates the deferred revenue recognition information string which appears throughout the application. It concatenates the following fields separated by a comma in the specified order:
  1. Deferred Revenue Recognition Template

  2. Deferred Revenue Recognition Status

  3. Distribution Code

  4. Deferred Revenue Recognition ID

C1-REVMON C1-REVMON This algorithm is invoked when the C1-DRRMO batch is executed. It checks whether there are any deferred revenue recognitions in the Draft status. If there is any deferred revenue recognition in the Draft status, it checks whether the recognition schedule generation type in the respective deferred revenue recognition template is set to Automatic or Manual. If the recognition schedule generation type is set to Automatic, the status of the deferred revenue recognition is changed to In Progress. However, if the recognition schedule generation type is set to Manual, the status of the deferred revenue recognition remains as Draft.
C1-REVRECINP C1-REVRECINP This algorithm creates an appropriate log entry when the status of the deferred revenue recognition is changed to In Progress. It invokes the algorithm attached to the Create Deferred Revenue Recognition Schedule system event of the respective deferred revenue recognition template. Once the recognition schedule is successfully created, the status of the deferred revenue recognition is changed to Active.
C1-REVRECACT C1-REVRECACT This algorithm transitions the current status to the specified status. You can specify the status to which you want the business object to transition in the following parameters:
  • Next Status

  • Next Transition Condition

At a time, you can specify value for either the Next Status or Next Transition Condition parameter. If you don't specify any value for these parameters, the system will transition the business object to the default next status specified in its lifecycle. This algorithm creates an appropriate log entry when the status of the deferred revenue recognition is changed to Active.