This article is relevant if you need a way to produce and generate invoices for NetSuite customer deposit requests.
Background
I find many NetSuite organizations who need to send a customers a Proforma Invoice in advance of fulfillment find themselves in a precarious situation. I often see this in international operations because overseas companies need a Proforma invoice to represent what is coming or due. In my practice, I ask for professional service retainers to start engagement work; this is in advance of services. NetSuite’s invoice model coupled from a Sales Order is fundamentally designed for recognizing revenue after a fulfillment, not before. While there are some options for tweaking the timing for when invoices can be generated, there is not a well described method to produce a Sales Order and then ask a customer for funds up front before the fulfillment gets started while making accounting an operations smooth.
Common Approach to NetSuite Proforma Invoice, Retainer and Deposit Invoice Requests
One common approach, for which I have prescribed at clients in the past, is to use a NetSuite Estimate record to act like a form generator. From the estimate, we generate a PDF that is branded as an “invoice” for customer presentation purposes. The key weaknesses in this approach follows:
- There is no aging associated with the estimate record; yet saved searches can emulate it. Usually, the estimate records need to be managed in some type of manual method.
- There is no record to process against when a customer payment comes in. Hence cash receipt operations are cumbersome.
Ultimately, when the monies do arrive, I often suggest using NetSuite’s Customer Deposit record to properly record the liability and book the cash. If the Customer Deposit is bound to the Sales Order, it will automatically be applied to subsequently generated invoices. This is handy!
Solving the NetSuite Customer Deposit Invoice Request Flow
Before I describe the solution, I want to offer that we have two methods (simple and advanced) included in one NetSuite SuiteBundle. Here, I will discuss the advanced method because it fully solves the accounting flows and operating logistics. We call it the “Advance Payment” model because it is about getting monies in Advance of fulfillment.
Step 1: Advanced Payment Invoice Generator
The first step produces an enhancement on the Sales Order that allows you to select a user-configurable percentage of the total invoice amount in advance. Expressed in percentage terms, which can be 100% (all monies due up front), once the Sales Order is saved, a linked invoice is generated which produces an accounting as follows:
Dr AR: a user-configurable AR account to help you distinguish your earned from unearned receivables
Cr Clearing: a balance sheet account that can be used to effectively wash out financial impact from the AR account.
The invoice is special in that it has all the product lines but it also has a payment item reference. These elements help you produce specific customer bill presentation. Importantly, you can, if you choose, leave the Sales Order in an Unapproved state. The benefit of option is that inventory is not committed and no fulfillment will start.
Step 2: Cash Receipt Invoice Payment Operations
Because we now have an invoice from Step 1, all the benefits of that record exist. You can age these invoices against your customers. Importantly, your cash receipt operations smooth out. Simply, cash comes into the organize and it needs to applied. No need to lookup and find “off balance sheet” invoices that were generated from the estimate or otherwise. Here, the accounting is as follows:
Dr Cash: the account you use to deposit monies received
Cr AR: the user-configurable AR account used in Step 1
Step 3: Generate Customer Deposit
As soon as the invoice payment is received, the solution will automatically generate a customer deposit record. Yet, it is intelligent about the work that was done in Step 1. In this case, we need the Customer Deposit to link up to the Sales Order and we need to finish up the accounting as follows:
Dr Clearing: the balance sheet account that was used in Step 1.
Cr Customer Deposit Liability: this is NetSuite’s standard liability account to recognized unearned revenue
In addition to the automated Customer Deposit accounting, we also update specific status information on the Sales Order about the Advance payment. With this status updates, if you so choose, you can then use workflows to automatically approve the Sales Order so that fulfillment can begin.
Get the NetSuite Advance Payments SuiteBundle
We offer this bundle (#100126) without charge to our clients who need this specific type of accounting and record handling. Like all the work we do, we help our clients configure the flows. Many times, the solution opens up the possibility of new work practices which were previously troublesome. Because we are experts with the NetSuite technology platform and accounting, we are often asked to help fit the solution to specific requirements. If you have a similar concern in your operation, let’s have a conversation.
See Related Articles
- Planning for NetSuite Driven Accounts Receivable Controls
- Drive NetSuite Customer Deposit Requests from Sales Order Lines
- Learn How to Drive NetSuite Customer Deposit Requests
- Easily Convert NetSuite Credit Memos to Customer Deposits
- How to Convert NetSuite Accounts Receivable Credits to Customer Deposits
- Overcome NetSuite Payment Link Web Pay Challenges
- Get a NetSuite Accounts Receivable with Customer Deposit Aging
- Understand and Contrast NetSuite Vendor Prepayment Options
- Generate Customer Deposit Request Invoices on NetSuite Projects
- NetSuite Trust Accounting with Move Customer Deposit
- NetSuite Split Tender and Gift Card Programs
- Learn How To Add Amount Remaining on NetSuite Customer Deposits
- Create NetSuite Customer Deposits from Opportunities or Estimates
- Better Visibility: NetSuite Vendor Prepayments and Purchase Orders
- Global NetSuite Locale Based Content Generation
- Using NetSuite Payment Methods to Drive Customer Deposits
Hi there,
do you charge for this bundle?
Regards
Lee
Hi Lee,
We offer this bundle without charge to end customers. We do have a service charge for implementation. We do not offer the bundle through other NetSuite partners.
Marty
Do you have any affliliated netsuite providers in Australia? We currently use J Curve as our provider.
Hello Sarah,
I think this is off topic. Please send your request here so we can have conversation: https://www.prolecto.com/contact-us/
Since you offer this bundle without charge, can we install it in our sand box environment to check whether fit for us?
Hello Ben,
All of our Intellectual property is available for evaluation and use free of charge under our services engagement. Please reach out to me here so we can discuss your specific requirements.
Marty
Marty
You and your company is fantastic.
Every time I think i run into some unique process your website has the solution.
Incredible work!
Hi Marty,
I tried to install the bundle but I got the following error message
You have not been granted access to the bundle.
Do I need your permission to install this?
Thank you,
Sean
Hello Sean,
Please contact me at https://www.prolecto.com/contact-us/ to make the request.
Marty