Consider the following example, which illustrates how revenue is recognized:
A company sells a package consisting of three items: a software subscription license, the related support services, and upgrade services. The duration of the contract is two years, and the transaction price is $1,000. The standalone selling prices (fair value prices) for the license, support, and upgrades are $750, $500, and $250, respectively. The revenue is calculated as shown in the following table.
The revenue of each item will be recognized evenly during two years—one half in the first year and the other half in the second year.
To use the revenue recognition according to IFRS 15 and ASC 606, you should configure the following settings and create the following documents:
The configuration settings described above should be applied for each unreleased document if the Revenue Recognition by IFRS 15/ASC 606 feature has been enabled on the Enable/Disable Features form without posting unreleased documents. If this is the case, when a user tries to release an AR or SO document created before the feature was enabled or view the deferred schedule for such documents, the system displays an error message.
A reallocation pool is a table in the system where the inputs and outputs of the reallocation process are stored. The reallocation process collects data about sold packages from invoice lines and splits these packages into separate performance obligations. Then for each sales order, the process collects the fair value (or best estimated) price from the list of sales prices, and allocates the transaction price among the sales orders in proportion to their standalone prices. The resulting sales orders and their amounts are used to create a deferred schedule and its components.
The share of each component in the transaction price depends on the following:
The following diagram illustrates how data for the reallocation pool is retrieved and calculated. All these actions are performed automatically by the system.
The results of these calculations are shown on the Reallocation Pool tab of the Deferral Schedule (DR201500) form.
The system uses the following input data entered on the Sales Prices (AR202000) form to select the fair value prices used by the revenue reallocation process:
For inventory items, multiple prices with different goals may be available in the system. The system searches for prices according to the price search priority (highest to lowest) and stops the search when an applicable price for an item is found. The system uses the standard Acumatica ERP price priorities when selecting fair value prices with the following exceptions:
If no applicable price is found, the system displays a warning message; a document with a warning message cannot be released.
Invoice lines or revenue components of the inventories with the MDA type can contain items marked by deferral codes with flexible types (Flexible by Period, Prorate by Days, or Flexible by Days in Period). In AR invoices containing these items, you have to enter the term start date and the term end date in the Term Start Date and Term End Date columns on the Details tab of the Invoices and Memos (AR301000) form. If fair value prices selected on the Sales Prices (AR202000) form have the Prorated check boxes selected for them, the effective price for these inventories will be increased or decreased in proportion to the term specified for the invoice line. The following formula will be used for calculating the price:
EP = FVP * (([Term end] - [Term start] + 1 day) / 365)
The symbols in the formula have the following meanings:
Acumatica ERP supports the residual approach for allocating the transaction price to the performance obligations. This approach can be used by companies that cannot establish observable standalone selling prices (fair value prices) for a performance obligation or for multiple performance obligations on the same invoice. In this case, the ASC606 standard allows companies to use the residual approach described in ASC 606-10-32-34, where revenue for these performance obligations is allocated on a residual basis.
For revenue components, the Residual allocation method is available to be used with ASC606. This allocation method can be used for one of the revenue components of an item with the MDA deferral code.
The allocation method for a component can be changed at any time. The updated method will be used in new deferral schedules or when the existing deferral schedules are recalculated.
For fair value prices of selected performance obligations, runtime computation is used. For specific prices, the system can calculate the effective fair value prices at runtime by applying to them the discounts for which the Apply to Deferred Revenue check box is selected on the Discount Codes (AR209000) form and the Discountable check box is selected on the Sales Prices (AR202000) form. These effective fair value prices will be used for revenue allocation.
To configure the Residual allocation method, you perform the following actions:
Revenue components are used in documents according to the following rules:
Any document that is subject to revenue reallocation may be in the base currency or a foreign currency. If the document is in the base currency, the best estimated or fair value prices specified on the Sales Prices (AR202000) form must also be in the base currency. For documents in a foreign currency, the prices used for reallocation can be in either the base currency or the foreign currency, depending on whether the Use Fair Value Prices in Base Currency check box on the Deferred Revenue Preferences (DR101000) form is selected. Regardless of the currency, the prices must be defined on the document date for all inventories registered in document lines or revenue components; otherwise, the system will not be able to prepare data for the reallocation pool and will display an error.
Deferred schedules are always created in the base currency, as well as further revenue recognition. If a document is in a foreign currency, the system will recalculate its transaction price from the foreign currency to the base currency.
If the Multiple Base Currencies feature is enabled on the Enable/Disable Features (CS100000) form, the system searches for fair value prices according to the following rules:
If a document has not been released and the status of its automatic schedule is Draft, you can change the branch in any document line and the base currency in the document. The system will delete the existing draft of the schedule and create a new schedule with the updated branch and base currency.