Accrual Processing in OLFM
Introduction
Accrual is a process of recognizing income. In a lease contract, the payment from customer is spread over number of years. The income from such payment schedule cannot be a recognized in one go but has to spread over the contract life. In some cases, for example when Lessor charges Documentation Fee to the lessee, although the fee is paid at beginning of the contract life, the income from such fee is amortized over the life of the contract. The amortization process has to follow the local GAAP.
OLFM product provides a seamless way of recognizing the income for different kind of contracts. To recognize the income, it generates schedules of streams. Streams are accrued periodically, generally every month.
Sometime when the customer fails to make regular payments, it is required as a good accounting practice to stop accruing income to an income account. Instead it is required to accrue the income to non-income account till such time as the payment becomes current again. Lessor follow different revenue recognition practices. Some of the examples of revenue recognition rules are:
- If 3 consecutive invoices are not paid (overdue), then stop the income accrual and start accruing into non-income account. Reverse the accrual already done for the last three periods.
- If 3 consecutive invoices are not paid (overdue), then stop the income accrual and start accruing into non-income account. However, do not reverse the accrual already done for the last three periods.
- If any invoice is due greater than 90 days, then stop the income accrual and start accruing into non-income account.
These examples may be translated into accrual rules. There may also be rules for catch-up, that is, bringing back accrual to income account. Example of catch-up rules is:
- Start accruing to income account when 0 invoices are overdue. If prior income is reversed, create the catch-up accrual entries.
In this blog, we will explain all the setups which are required to handle different accrual rules.
System Options
In the system options (Setup-> System Options -> Accounting Options), there is a field called Accrual Reversal Days. This field is used to direct the system how many days of accrual should be reversed when accrual rule fails.
Stream Type
In the stream type definition (Setup->Pricing-> Stream types), there are two fields which affect accruals.
Revenue Recognition Basis: This field is used to indicate if the stream type is subject to accrual rules. The possible values in this field are
- Accrual with Rule: Accrual will happen subject to accrual rules
- Accrual Without Rule: Accrual will happen periodically without looking at accrual rules
- Cash Receipt: Accrual will happen when cash is received
Prior Period Accrual: This field captures the action when accrual rule fails. The values in this field can be ‘Reverse’ or ‘Do Not Reverse’. When it is ‘Reverse’, the accrual for the prior periods will be reversed. When it is ‘Do Not Reverse’, the accrual for the prior periods will not be reversed.
Product Setup
In product setup, there is a tab called Accrual Streams. In this tab, there are two blocks:
Streams to Accrue: This block contains all the stream type which need to be accrued for the product.
Billing Streams to Evaluate: This block contains all the stream types which need to be considered for evaluating accrual rule. For example, a lessor may want to consider only RENT when evaluating accrual rules and do not want LATE INTEREST or other fees to be considered.
Accrual Rules
Accrual rules are created as evaluation criteria to stop income accounting and to do non-income accounting. The accrual rules setup can be accessed from Setup->Accounting->Accrual rules.
You can create any kind of Boolean condition using two standard Operands available in this setup:
Limit days: Number of days the bill is overdue
Number of Bills Unpaid: Number of invoices not paid
This screen is also used to create Catch-up rules. For defining catch-up rules also we use the same two operands.
Accounting Templates
If you are using accounting templates for doing the accounting, you will have to setup non-income accrual templates. The difference between income and non-income template is the value of the field Memo Y/N. When non-income accounting is to be done, the OLFM accounting will use accrual template where memo = Y.
So there will be two sets of accounting templates for transaction type of ‘Accrual’, one with memo = ‘Y’ and another with memo = ‘N’. Depending upon the income or non-income accounting, the OLFM will use the corresponding accounting template to derive the accounts.
Accounting Template for Income Accounting of Rental Accrual
Accounting Template for non-income accounting of Rental Accrual
Accrual Concurrent Program
OLFM has a standard concurrent program (Generate Accruals Master – Streams) which can be scheduled to generate accruals on periodic basis. This program has the following logic:
- For the given contract, find the financial product.
- For the financial product, get the stream types to be accrued
- Get the stream elements for this stream type which are not yet accrued and date is less than the parameter date
- Evaluate the accrual rule if the stream type is subject to Accrual rule.
- If Accrual rule is success, then accrue the stream element
- Update the stream element field ACCRUED_YN to Y
- Create an accrual transaction
- Do the accounting of Accrual using Income Accounting template.
- If Accrual rule is failure, then accrue the stream element
- Update the stream element field ACCRUED_YN to Y
- Create an accrual transaction (with a flag as Non-Income)
- Do the accounting of Accrual using Non-Income Accounting template
- If stream type has Prior Period Accrual field as Reverse, then reverse the prior accrual for as many number of days as given in system options.