Exploring NetSuite Credit Card and Invoicing / Cash Sale Processing Options

This article is relevant if you are seeking to better understand how NetSuite switches provide options to drive credit card processing and routing from Sales Orders to Invoices or Cash Sales transactions.


During a recent Shopify eCommerce integration for¬†a new client who has been using NetSuite’s native Site Builder shopping system for over eight years, we experienced a challenge getting the configuration we needed to drive proper accounting.¬† Many times, when I am asked to come into existing NetSuite configurations, I find that the¬†there are a number of accounting problems that would like to be worked out.¬† In this case, our new client had a Site Builder configuration that created credit card authorizations and then used Cash Sales transactions to collect funds.¬† While this is fundamentally not a problem, the client issued Cash Sale transactions prior to fulfillment in order to make sure they collect credit card funds¬† — understandably, they were worried about collection of funds before they ship. However, this practice incorrectly recognizes revenue before it is earned via item fulfillments breaking the matching principle.

To plan the Shopify eCommerce integration, we worked with the client to optimize their accounting.  Here, we discussed the merits of the customer deposit record in collecting funds up front.  You may want to see the related article, Using NetSuite Payment Methods to Drive Customer Deposits.  Under this method, we collect funds up from the customer, hold it appropriately as a liability, fulfill on the obligation, and then earn the funds.  This accounting is easy to understand, simplifies order processing, yet produces different considerations around customer expectations for collecting funds up front.

During the implementation, we were challenged by our client’s¬† NetSuite configuration.¬† We had trouble getting an invoice generated against the sales order as it always redirected to a cash sale transaction and it was not quite obvious why.

Understanding NetSuite Sales Order to Cash Sales / Invoice Transaction Flow

To solve the challenge to control if an invoice or a cash sale is subsequently generated from a sales order, we needed to get control over some initial settings during Sales Order creation.  Here is what we learned while working with NetSuite support on built-in Sales Order forms:

  1. Standard Sales Order ‚ÄstCash Sale: If you use this form during your sales order creation, you will always be directed to the cash sale transaction without any option.¬† In our client’s situation, they had customized this form and renamed it — thus we did not understand that we were working with this form fundamentally in their account.¬† We knew we had an issue because we could not get the “Terms” field to be exposed on the form.
  2. Standard Sales Order ‚ÄstInvoice: If you use this form during your sales order creation, you will redirect to an Invoice transaction at the time you are going to recognize revenue.
  3. Standard Sales Order  If you use this form during your Sales Order creation, you will have the option to redirect to a Invoice or a Cash Sale transaction at the time you are going to recognize revenue depending on Sales Order entry options.  If you enter terms on a Sales Order, an Invoice is automatically generated when it is billed. If you enter a payment method, a Cash Sale is automatically generated when it is billed. If you enter neither terms nor a payment method, it generates an Invoice.

Next, we sought to clarify the options for how NetSuite works with Customer Deposits and Sales Orders.  While we were being challenged with the Built-in Form Sales Order РCash Sale transaction, we were also finding that we could not automatically link a Sales Order to a Customer Deposit, as we could in all of our other client accounts.  As such, the following rules helped us steer in the configuration we sought:

  1. Credit Card Payment Processing Profile Allows Authorizations: in this case, when we collect and “charge” a credit card during a Sales Order, we are in an Auth THEN Capture model.¬† NetSuite subsequently forces you to a Cash Sales transaction to Capture funds.
  2. Credit Card Payment Processing Profile Disallows Authorizations, and the Accounting Preference Allows the creation of Customer Deposits: here is the model we sought; we want NetSuite to use the sales order to Auth AND Capture when we “charge” a credit card.¬† Here we get a Customer Deposit that is linked to a Sales Order.¬† When we subsequently Bill the Sales Order, we are going to get an Invoice which will be paid via the previously collected Customer Deposit.
  3. Credit Card Payment Processing Profile Disallows Authorizations, and the Accounting Preference Disallows the creation of Customer Deposits:  In this model, we do not use the Sales Order to work with the credit card.  Instead, we can use subsequent Cash Sale or Invoices to generate payment records.  When creating payment records that do not previously have authorizations, these are Auth AND Captured in one request.

Finally, in order to get a Customer Deposit to allow a link to a Sales Order, that Sales Order must not have a connection to a payment method.¬† The reason is because payment methods will redirect to a Cash Sale transaction which will bypass NetSuite’s automatic mechanism to apply Customer Deposit funds to related Invoices.

Straighten Out Your NetSuite Accounting

I am often asked to review prospective client configurations because “something is not quite right” in their implementation.¬† ¬†It’s not uncommon to see that the original NetSuite implementation was not modeled well — mostly because there are so many options and many folks do not have strong accounting background or NetSuite experience.¬† With so many options, it’s understandable that they “got it to work” but it “is not quite right”.¬† ¬†If it’s time to get in front of your NetSuite implementation to streamline your business operation while properly optimizing accounting, 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

| Category: Accounting, NetSuite | Leave a comment

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>