Using NetSuite Payment Methods to Drive Customer Deposits

This article is relevant if you need a way to produce NetSuite customer deposits using payment methods.


In my article Solved: NetSuite Customer Deposits and Advance Payment Accounting, I discussed two methods to automatically produce customer deposits to assist in business flows that need better accounting when asking customers for monies in advance of fulfillment.  Those flows take care of significant challenges for invoicing customers to request monies and subsequently properly recognize liabilities for holding funds before fulfillment.   Note, we offer this as a free software bundle to our customers.

In our practice, my firm regularly produces custom integrations between eCommerce systems, such as Shopify or Magento, as well as many other lesser known systems.  When we lead the design for an eCommerce to NetSuite integration, one key discussion is the payment model.  Most companies want to accept credit cards (old school) as well as PayPal.  I also see Amazon used more often as a payment platform.  For readers that follow my articles, they also know that I advocate the use of the Bitcoin payment model (see my previous articles on NetSuite and Bitcoin here) due to it superior capacity to eliminate fraud, extend reach globally, eliminate chargebacks and dramatically lower transaction processing fees (thus, new school).

Since the world is still learning about Bitcoin, most companies seek credit card acceptance.  In this old school method of accepting payments on an eCommerce site, there are generally two approaches:

  1. Authorize AND Capture: money is accepted at the time of purchase or sale.
  2. Authorize THEN Capture: money is accepted at the time of delivery.

The old school payment systems use centralized payment processors (e.g, VISA, MasterCard, PayPal) which have a number of rules that govern the fee structure and ongoing merchant account relationships.  The rules favor companies that are trustworthy.  When I see my clients have no trouble producing the delivery of their goods and services from the time an order is placed, I advocate the use of the Authorize AND Capture payment model.

Why Choose the Authorize AND Capture Payment Model?

Under this model, you are electing to receive monies before you actually deliver on your promise. ¬†I suggest that most customers think that the money has moved when paying with a credit card on an eCommerce site. ¬†They believe they are at risk and they naturally expect delivery within the promised timeframe. ¬†Customers also know they have a dispute mechanism to pull back funds (the chargeback) should they not be satisfied with the eCommerce company’s performance.

Under the Authorize AND Capture payment model, most merchants enjoy that there is no concern for an¬†Authorization¬†to expire (usually this is a concern if you authorize a card and five or more days pass between the time you deliver the good). ¬†However, receiving monies in advance does not mean it has been earned. ¬†It is important to recognize a liability when the money is received. ¬†Thus, this is the power of the NetSuite Customer Deposit. ¬†It has the proper accounting to collect cash (or other money substitutes) and record the liability. ¬†Furthermore, if the Customer Deposit is linked to a Sales Order, once that Sales Order is invoiced, NetSuite will automatically “pay” the invoice using Customer Deposit’s available funds.

This capacity is especially valuable if you partially ship and thus produce a back order.  When designing accounting flows, I generally advocate that each shipment be linked to a respective invoice so that revenue is earned and matched with the respective cost of goods sold generated during item fulfillment.  In a partial shipment situation, the invoice will automatically be paid with Customer Deposit funds.  On a subsequent shipment of the back ordered good, that too will be invoiced and the rest of the Customer Deposit is consumed.  There is no need to worry about getting another credit card authorization because the entire funds are in hand.  Bottom line, this method lowers the cost of the business operation by keeping labor out of payment concerns.

NetSuite Built-In Payment Method Customer Deposit

NetSuite finally offers a way to setup credit card processing profiles to support the Payment Method Customer Deposit. ¬†Here, you need to modify two switches. ¬†One is available in Setup, Accounting, Accounting Preferences, Items/Transactions, Payment Processing and then activate the “Enable ‘sale’ payment operations on a sales order by automatically creating a customer deposit.” ¬†See image. ¬†Finally, you then need to turn off the “Authorization” switch on the Credit Card Payment Profile ¬†See image.

A Custom Payment Method Customer Deposit

Now back to our eCommerce example.  Suppose that the eCommerce system is the one charging the credit card, not NetSuite.  Here, NetSuite does not have a built-in offer.   However, we have enhanced our Customer Deposit bundle  (#100126)  to effectively support this operation.  All you need to do is create a Sales Order, select a configurable payment method,  and upon Sales Order save, the application will automatically generate a Customer Deposit linked to the respective Sales Order.  Thus, in our eCommerce example, during the integration design, we focus on the specifics of the eCommerce order to NetSuite Sales Order and simply supply the payment method because our app will do the handiwork to generate the linked Customer Deposit.

Finally, this application is not limited to use only in eCommerce integrations.  There may be cases where another payment processor is used and you may need a way to quickly generate a linked Customer Deposit to the Sales Order during order entry.  No problem.

Optimize Your NetSuite Business Processing

My hope is that this article offered new thinking as it relates to receiving monies in advance in a NetSuite managed world. ¬†Furthermore, the ability to drive NetSuite using the SuiteScript platform affords the opportunity to smooth operations while producing the right accounting. ¬†My firm specializes in helping NetSuite driven companies get more out of the platform. ¬†If you are interested in obtaining this Payment Method driven Customer Deposit bundle, we are happy to help configure it for your use case. ¬†Drop me a message and let’s have a conversation.


Be Sociable, Share!

Marty Zigman

Holding all three official certifications, Marty is Southern California's NetSuite expert and leads a team of senior professionals at Prolecto Resources, Inc. He is a former Deloitte & Touche CPA and has held CTO roles. For over 25 years, Marty has produced leadership in ERP, CRM and eCommerce business systems. Contact Marty to set up a conversation.

More Posts - Website - Twitter - Facebook - LinkedIn - Google Plus - YouTube

| Tags: , , | Category: Accounting, NetSuite | 7 Comments


  1. Posted October 12, 2016 at 6:17 pm | Permalink

    Great tip Marty, i like this approach. Although in this scenario all the items in the sales order gets shipped. If for any reason an item is no longer available or the customer wants to cancel a portion of the sale, what would happen?

  2. Posted October 13, 2016 at 4:23 am | Permalink

    In the case when you partially ship (or don’t ship for that matter), you simply issue a refund on the customer deposit. The beauty of customer deposits is the money is in hand; there is no need to go back and reauthorize amounts and you have some flexibility of when/what/how you deliver.


  3. Jaysen
    Posted April 19, 2017 at 9:25 pm | Permalink

    What if the customer would like to increase the item quantity on a sales order? Would it be advisable for them to create an entirely new sales order with accompanying deposit or are you simply able to update the total on the existing deposit?

  4. Posted April 20, 2017 at 5:24 am | Permalink

    Hi Jaysen,

    You can go either route. It’s more of a business policy. The business system supports it.


  5. Posted August 24, 2017 at 6:59 am | Permalink


    I am a fellow NS Consultant. I have a lot of issues with scripting/automations around auth then capture for retail implementations. Most of the issues arise around partial shipments and backorders.

    I‚Äôve advocated to my customers to just do capture up front, but I get a lot of pushback from them that it‚Äôs not a best practice or ‚Äúcompliant‚ÄĚ ‚Äď that only capturing at the moment of fulfillment is the compliant process.

    I would also love to advocate for the simplicity of full capture/customer deposit at the time of order. Wondering if you’ve ever received the same feedback?


  6. Posted August 26, 2017 at 11:19 am | Permalink

    Hello Stephen,

    I agree that there are guidelines on the processing model. Here is a reference to a Visa policy which states that customers expect to be charged at the time of the shipment. In my conversations with clients, I offer that if they are confident they can ship goods immediately, this method of processing simplifies matters. However, I never push hard on it as they alone must decide the business environment and concerns they face. I do have clients processing significant numbers of transactions under the customer deposit model without concerns.


One Trackback

  1. […] Deposit Accounting: in the client’s model, they were working with a Authorize AND Capture credit card processing model. In this use case, NetSuite needs a supporting customer deposit record […]

Post a Comment

Your email is never published nor shared. Required fields are marked *


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>