Being active in sectors such as services and softwares, we are often faced with revenue recognition challenges. Although NetSuite’s revenue recognition module allows us to design highly adjustable and complex revenue flows, it can get far more difficult when it comes to creating a flexible process for amortizing charges.
In the case of our customer, it was especially true as they were dealing with partners. These partners would take a referral fee commission on the subscription, or be paid for outsourced implementation services, which in both cases required the users to create a related purchase order. For the sake of accuracy, our customer wanted to recognize charges from the partner purchase order only partially each period of the subscription, in order to align them with the recognized revenue.
Our first idea was obviously to use the standard amortization schedules, which we would associate with each item and which would automatically come into play once the purchase order was billed. However, two main concerns preventing us from moving forward with that solution:
- The contract duration varied a lot, and we would have needed to develop a customization to adjust the from and to amortization dates depending on each individual case.
- More importantly, the partners would often send their bill several periods later and the amortization schedule cannot be set up on the purchase order.
For these reasons, we needed to come up with another custom solution.
In order to ease our customer’s pain and let them focus on their core business we came up with a combined solution, which requires the involved items to be enabled for receipt.
First, as a part of our customization to automate the creation of the partner purchase order, we always have a link to the related sales order, where we have a custom field with the number of periods of the subscription, as well as the start and end dates of the order. On the purchase order, we added another custom field informing on the last time an amortization was acted.
Using this combination of dates fields and other criteria, such as the PO status, a saved search is set up. Inserting this search as a parameter in a Scheduled Script, we create an item receipt for the items on the purchase order.
The quantity of the items is divided by the number of periods found on the sales order. The Scheduled Script also sets the date of the execution of the script on the purchase order; this will let the transaction be picked up by the saved search the next time an amortization needs to be acted.
The item receipts allows the posting of a percentage of the contract on the correct expense account, regardless of the existence of the related partner bill.
When the PO is fully received, all charges will have been recognized. The tax charges, however, are correctly booked with the bill.
This custom solution brings an automatization to the amortization of partner costs for our customers, even without a bill. This also gives an accurate image of the accounting situation of the company by balancing the third-party charges with the related revenue.
- Compliant with accruals accounting logic (amortization before billing)
- Accurate accounting image of the profit and loss for each contract
- Requires development
A question? You would like to implement this solution?