This article is relevant if you are using NetSuite and you need flexible methods to generate commissions and royalties to one or many parties.
Background
Over the many years acting as a NetSuite Systems Integrator, I have written about the concerns and challenges of automating commissions. Please consider these articles:
- 2013: NetSuite Driven Commissions – Your Way
- 2014: NetSuite Transaction Line References Between Invoices and Commissions
- 2019: Fundamentals for Driving NetSuite Commissions and Royalties
- 2020: Understand Fundamental Record Structures to Support NetSuite Commission Tracking and Reporting
We have been asked a number of times to solve commissions challenges for our clients. Where we can, we will use NetSuite’s provided software. But most of our clients come to us when they are perplexed by software limitations.
The bottom line is that Oracle’s NetSuite Incentive Compensation module has a number of challenges when encountering complex models. The major weakness in the module is that, for the most meaningful areas, the API is closed (locked up from customization). Furthermore, the connections between the source transactions and related obligation records are not linked making it hard to audit or explain records that are generated.
For the last three decades that I have worked with clients, commissions are often challenging to implement due to the creative way that organizations invent compensation programs.
In our most recent request for a commission system, we determined that we must leverage our expertise to craft the software logic using patterns that can become building blocks to help our existing and future clients.
Introducing the Prolecto Commission / Royalty Engine
We went ahead and built an adaptable framework so we can allow our clients the flexibility they need to produce commissions and royalties. The platform is meant to be shaped to meet our clients’ special rules. To do so, as discussed in my article, Fundamentals for Driving NetSuite Commissions and Royalties, we addressed the major commission topics needed to solve incentive obligation assessments.
Click on images to better understand the framework.
Commissionable Criteria
It’s important to be able to express the criteria on records, such as invoices, that meet the commissionable basis. For example, are particular items or item categories relevant? Is it connected to the salesperson on the transaction? The idea is that a transaction is evaluated to determine if it meets the criteria for a commission — and if so, it gets treatment.
We went further than the standard custom record approach. Through an app setting, we can define complex criteria definitions and use a plug-in technology to allow our algorithms to perform any type of calculation necessary to address specific requirements.
Price / Rate Information
Once a transaction is commissionable, we need to define what the rate will be with the transaction elements (header or lines) acting as the input. You should be able to specify a percentage, a flat rate, or other information that effectively gets the price of the charge.
In our model, we define these as “Rate Cards”. You can define as many rate cards as you want and if a transaction qualifies, all the applicable rate cards can be applied simultaneously against the source transaction. Consider a situation where you need to pay a salesperson for commissions on a sale — but at the same time, you need to pay a royalty to a third-party supplier for the same sale as well.
Measurement Information
We need to know when we measure commissionable events. The most common situation will be an invoice for a sale and a credit memo for a return. But it is possible to use any other record in NetSuite to act as the input to be measured in order to drive commissions. For example, one of our clients paid commission not when they delivered service, but simply when their customers paid funds. Thus, we could connect the engine to a customer deposit record (an uncommon source in my experience) and pay commissions — even though we had yet delivered the service.
Obligation Tracking
Using the power of a NetSuite Custom Transaction, we created a commission obligation record that gets special general ledger treatment. Because we wanted maximum flexibility, we allowed the analyst to set up rate cards that defined the debit and credit treatment. Thus, it was possible to produce the following accounting:
Dr. Commission Expense Cr. Commission Payable
This is simple accounting — but perhaps it could have been expressed as:
Dr. Cost of Goods Sold: Royalties Cr. Accounts Payable
This accounting makes it easy to pay out via the accounts payable system and affects the right areas on financial statements.
The point is we want to give the analyst maximum flexibility to invent the accounting necessary to express the obligations in their system automatically.
Furthermore, using NetSuite Custom Transaction statuses, it is easy to build an approval flow so that a control/audit environment can be crafted so that transactions are reviewed before they are posted to the general ledger. As custom transactions, they can be treated as sub-ledger elements and thus we can build a number of controls to ensure the application runs trustworthy.
Payout Management
There may be different inputs required for payouts. Consider these models as the basis for commissioned obligations:
- Earned: pay out commissions when we have earned our revenue. This also can be expressed as margin. Note, measuring margin is not always easy to know in the NetSuite system. Please consider my 2018 article, Learn how to Reliably Measure NetSuite Gross Profit and Margin.
- Paid: pay out commissions based on cash receipts of revenue/margin that has been earned. This can be tricky because customers make partial payments. Also, we may need control over the effect of credit memos in these flows.
- Cash: in contrast to “Paid”, pay out commissions when cash arrives, no matter the reason.
Commission Reporting
With good linkages between rates cards and transaction sources, obligation records become the basis for producing quality commission reporting. The nature of the application will generate obligation records either immediately or in the background (to preserve good day-to-day transaction record performance) so that we can produce views and reports to all interested parties using the power of NetSuite dashboards and sublists.
Furthermore, shaping the accounting to post to the general ledger allows the accounting department to gather transactions into the accounts payable application naturally. Thus, we can easily see our accruals and explain the sources for commissions payments.
Watch Video Demonstration of the Commission / Royalty Engine (6:31)
See a video demonstration (6:31) of the application.
Get the Prolecto Commission/Royalty Engine
Like all the algorithms we create in our NetSuite Systems Integration Practice, we do not charge a license fee for our pre-built software. Instead, we think of these tools as accelerators to solve our clients’ challenges so they may realize the promise offered by the NetSuite platform. Thus, we have packaged the software into a bundle to make it easy to distribute into our clients’ accounts.
Instead, our unique value is the superior capacity to listen to our clients’ business system challenges, consider all the built-in capacities offered by Oracle NetSuite, and then bring our intellect to innovate and craft solutions. We have been told that our solutions are elegant and of high value — we believe a relationship that focuses on concerns, not on products, is more valuable when dealing with complex challenges indicative of business ERP.
If you found this article relevant, feel free to sign up for notifications to new articles as I post them. If you are ready to tackle your unique commission and royalty challenge with the NetSuite platform, let’s have a conversation.
Marty:
This whole problem that you’re solving with your special IP is because the sales organization is used to having free reign to do whatever they want but then finance installs NS and has to bend over to support all the spaghetti that the sales team has created over the years. Therefore, I would also throw in the mix here that change management is very important: finance needs to put rails around what sales is allowed to do, i.e., what NS can support out of the box. I’ve see this problem, too, with contract terms not being supported in SuiteBilling because the sales team is used to being able to do whatever they want “to get the deal”. As a company grows, all those custom things become a PITA to fulfill, so the solution is to stop the sales team from doing things that NS cannot support.
Thank you Nick. I see what you see all the time. In my mind, it may be idealistic to think that we can change a culture that does what you suggest. These concerns are in the domain of leadership.
The pragmatic reality is this. The costs will be higher for organizations that do not coordinate with all business actors when they attempt to implement their programs. Those organizations that do contemplate the impact of their programs should be able to drive more profit and thus be more sustainable. In addition, I can see the power of a cohesive narrative where folks are aligned more frequently than misaligned.
I appreciate your comments.
Marty
Nonetheless, better tools and actors helps close the gap.