NetSuite ASC 606 Contract Obligation

This article has been created to help management understand how their contract obligations fit into their NetSuite ERP Requirements. This article provides conceptual ideas, along with a practical approach to implement/migrate to NetSuite’s Advanced Revenue Management for ASC606 Compliance.

I have seen a lot of articles related to NetSuite’s Advanced Revenue Management and their general concept, but I think the missing piece is how to connect the concept and execute it in NetSuite. A lot of times, you learn a concept in Business School, but you may wonder how you can execute it in the actual environment.  There have been a lot of video training courses and articles related to ASC 606, but what should we do with the performance obligations, or specifically, the price allocations?  You know the concept, but if you are a professional accountant and new to NetSuite, you may be wondering how all the revenue arrangements, items and revenue rules come together in a live environment to achieve what you have have seen in the videos.  This article is designed especially to help you connect the dots and carry out the execution.

General ASC 606 Contract Obligation and Price Allocation

One of the main concepts of ASC 606 is price allocation.  For example, you sell an annual subscription with free items as an incentive for signing the service.  ASC 606 wants you to allocate revenue between services and the free items.  In this case, the free services will be recognized over a year while the item’s revenue is recognized immediately as fulfillment.  Below is the table that illustrates the transaction.

Abaci - Streamline Your Business on NetSuite | Excel Screen shot 2 | NetSuite Consulting | NetSuite Solution Provider

Abaci - Streamline Your Business on NetSuite | ARM Blog Post 1 | NetSuite Consulting | NetSuite Solution Provider

As you have learned from the videos or articles, below is what happens to the fair value price allocation in theory.

Abaci - Streamline Your Business on NetSuite | Excel Screen shot 1 | NetSuite Consulting | NetSuite Solution Provider

Abaci - Streamline Your Business on NetSuite | ARM Blog Post 2 | NetSuite Consulting | NetSuite Solution Provider

Mechanics of Advanced Revenue Management

To carry out the above allocations in NetSuite, you need to have Advanced Revenue Management feature enabled in NetSuite.  First, you will set up the fair value pricing for the item above.  In this case, the annual service will be set up with a fair value pricing formula equal to sales price.  Then for the hardware item, on its fair value pricing record, you will set the base price to be 600 and set check the VSOE checkbox.  You will then have to system generate the revenue elements and arrangements depending on your Accounting preferences, either through starting it manually or automatically.  When you see the revenue arrangement navigate to the allocation detail tab, it above will show up. The revenue rule set on item will dictate if the recognition is over 1 year period or immediately, and you can see the planned journal entry by going into the revenue plan which is available on the revenue arrangement record.

The Complications and Why Standard ARM won’t be Enough

So you may ask, if I turn on the ARM Module for my business, then all the problems in the world will be solved and NetSuite make my business ASC 606 compliant.  Well, that is partly true, and partly false. The ARM Module is designed to provide the groundwork for a company to implement ASC 606, but it is not a one stop solution that fixes all the problems in the world.  In particular, if you have a transaction that can’t all fit into the same sales order, you will encounter a situation where two revenue arrangements get generated.  For example, you are a software company, and you provide subscription service to the customer.  The customer has the right to renew the contract at the end of the term.

In ASC 606, a situation may arise where you have to recognize revenue of material on a contract, and you have to allocate part of the first year of service revenue. You may also need to recognize revenue when the renewal is executed.  Now, lets say you have to add a new line item on your sales order with a price of zero. You must recognize the revenue over a period of one year for the annual service item over the year after the price is allocated.  To complicate the matter, if the customer decides not to renew the contract, you have to recognize the revenue immediately when customer cancels the service in the middle of the year.  If the customer decides to renew the contract, you will have to merge the two revenue arrangements, the old ones and new ones, together.  Although you can do the merging manually with ARM’s functionality, if you have hundreds of the sales orders, you may be better off to use scripting to do the merge.

To further complicate the matter, ASC 606 states that if a customer renews a contract with substantial price changes from the existing contract, you cannot count the new contract as the standalone new contract.  Imagine that you are a construction company and it is routine that your construction project to be modified.  There are three different ways to handle the contract modifications according to ASC606.

Now you see that ASC 606 is very vague and you basically need someone to verify and design the Accounting recognition process.  In addition, there is a lot of other topics related to ASC 606, such as warranty, price, expected revenue, etc. that can further complicate the revenue recognition process.

How to Protect your ASC 606 Implementation from Failure

From this article, you may gather that  implementing Advanced Revenue Module according ASC 606 standards in NetSuite requires a lot of documentation and sign off from authorities outside your company.  Your company needs to work with your auditors and internal business team to verify and sign off on the requirements. It may also be beneficial to hire outside consultants to help.  Between auditors and your management team, you will likely need someone in the middle who has thorough knowledge of both NetSuite and ASC 606 standards.  You may also want to develop scripts that would reduce the number of manual efforts needed in the future to maintain compliance with ASC 606.  The benefit of hiring outside consultants is to reduce cost while you have a team to protect you from over-budgeting while maintaining communication with your auditor. This will allow you to have someone to work on your behalf to get the requirements to fit your need while providing technical guidance and training to your team.


We at Abaci have a team of programmers and functional consultants who can help you.  Our team is composed of CPA’s and Certified NetSuite personnel who have experience migrating various companies to ASC 606 standards under the NetSuite Advanced Revenue Module and are available to help guide you through your implementation of the advanced revenue module under ASC 606 standards.  If your implementation for ASC 606 has not started or you are in the middle of it and encounter difficulties, we are happy to talk to you and provide consultation.  We can help you reduce payroll and stay compliant with ASC 606 while minimizing the operational changes needed to accommodate a new implementation.  We want to carry out the smooth transition and maximize the user acceptance.  Only a certified consultant who understand NetSuite’s Advanced Revenue Management Enabled acknowledgment, and have undergone rigorous training and passed NetSuite’s ARM demo test can turn on or implement this tool.