Reading Time: 7 minutes

AppWrap Solving Complex NetSuite Customizations: Automating Fair Value Allocations Leveraging NetSuite ARM

BACKGROUND

A large SAAS company with several different products focussed mainly on the Government and government entities required revenue recognition and fair value allocation automation.

This company has Fair Values based on various attributes including

  • Item

  • Nature of the item (SAAS, On-Perm, Training, Professional Services)

  • Currency

  • Type of the customer

  • Product Type

  • Usage

  • Whether it is a new or a renewal order

Adding to this complexity, the company had on-perm (perpetual) items that required a split of maintenance and license revenue based on the license term (rather than a fixed split). Given that the company sold multi-year deals with ramp discounts, the sales team was capturing these as individual lines in the CRM. But as these are deals with no Term for Convenience, there was a need to evaluate the pricing across multiple lines in the order. In certain cases, the fair value of the item would be the sales price but still would require adjustments for multi-year ramps.

AppWrap leveraged NetSuite Advanced Revenue Management (“ARM”) to build a solution that solves these common challenges.

Key Highlights of the Solution and Outcome:

  • Item group was used to split the single ‘Term license’ item into License and maintenance. Multiple line-level attributes were captured from the main line to the child lines.

  • Usage tier was derived based on the actual contracted usage information provided at the order level.

  • Different fair value prices were set based on items, currencies, and 5 different ARM dimensions (e.g. customer type).

  • Additional scripted fields were created to get the combined term and combined sales price for a specific item across the order. This considered the need for grouping based on other line-level attributes like class, etc. There was also a calculated field to capture the line-level number of days based on the start and end dates.

  • A FV formula was set to do the carve-out for the perpetual license that considered the multi-line scenario and calculated the percentage of carve based on the actual length of the maintenance. The perpetual license was recognized immediately. For the maintenance item, FV is carved out after the perpetual license and prorated across multiple lines based on the term dates.

  • For items that used sales price as fair value, the system combined the sales price across multiple lines and prorated it across the lines to calculate the FV. This ensured the spread of ramp discounts over the full period of the contract.

  • For items that had defined FV, similarly, the prorated FV was calculated and then allocated to various lines based on the term for each line as compared to the whole contract.

  • Apart from these complex items, there were other items such as professional services that had Quantity based fair values.

  • Revenue recognition patterns were mostly based on the start date, end date, or POC(integration with projects), or immediate. There is also a need to capture the ‘proof of delivery’ before the revenue recognition ( compressed dates rather than backlogged). This was accomplished using item fulfillment.

  • A separate custom record was created to capture transaction details from the sales orders so that it allowed better reporting. This record also helped identify all related transactions (multiple Sales Orders, RMAs, standalone invoices/CMs) for a single contract.