NetSuite Split Tender and Gift Card Programs

This article is relevant if you are using NetSuite to account for a third party gift card sales and redemptions program or you need to learn how to accept multiple payments on a Sales Order.


In our work as a NetSuite Systems Integrator, we were recently asked to enhance our “Shopify Integration” to support the Shopify’s gift card system. The challenge demanded that we took care of two concerns:

  1. Third Party Gift Card Sales and Redemptions: properly accounting for an external system that sells and redeems gift cards.
  2. Split Tender: accepting more than one payment on a sales order from a third party system.

As I developed the architecture and accounting for this solution, and led our consultants in the implementation, I recognized that the NetSuite community may find it meaningful to understand the method so they too could design their business flows.

Third Party NetSuite Gift Card Programs

The first matter to think about is the Gift Card Program. If you are using NetSuite’s built-in gift card program, this does not apply. However, there are many third-party systems that issue and manage the gift card issuance and redemption. In those cases, it is important to break the concepts into two major components:

  1. Gift Card Sales: how do we sell and account for gift cards?
  2. Gift Card Redemptions: how do we accept gift cards for redemptions and provide the proper accounting?

Fundamentally, a gift card program is a merchandising practice that effectively allows you to accept liabilities between multiple parties. The initiating party generates the liability. The redeeming party releases the liability. For the purposes of this discussion, we will trust that the external system issuing and tracking the gift cards is trustworthy — thus, we can think about the external gift card system as a sub-ledger to NetSuite.

Let’s first consider the easier of the two-part challenge, the gift card sale.

Third Party Gift Card Sales in NetSuite

The gift card sale is relatively easy. In an eCommerce based shopping cart system, the shopper adds another item to the cart and pays for it at check-out. We assume that the third party eCommerce system produces the proper mechanics for card issuance (digital or otherwise) and tracking.

In this case, we create a NetSuite Non-Inventory item representing the gift card and we route the credit to a Gift Card Liability general ledger account. Thus, when we produce the sale, perform the fulfillment (digital: it’s already done; physical: via delivery shipment), and produce the related invoice, the following accounting occurs:

Dr Cash $60
  Cr Gift Card Liability $60

This should not require any custom programs or special setup outside of the standard NetSuite item definition requirements.

Third Party Gift Card Redemption and Split Tender in NetSuite

The gift card redemption is where the second real challenge lies. This is where I see the most confusion (coupon programs, discounting, all kinds of things). Thus to straighten it out, I now need to talk about the Split Tender concept so I can expand capacities and then tie it all together with proper accounting.

NetSuite Split-Tender Processing

What is split-tender or split-payment processing? A split tender is a transaction where the total amount due is divided between multiple payment transactions. Most people think of this when we go to a restaurant and we divide the check between the friends to pay for the meal. In invoicing transactions, NetSuite natively supports this via cash receipt processing. But when you have a sales order, the idea of payment processing is more closely related to customer deposits (note, if you feel you can get away with collecting money and going straight from a sales order to a cash sale or an invoice, you may want to check your revenue recognition assumptions — I have helped a number of new clients untangle previously led implementations where the accounting became a mess).

At the time of this article, for sales order processing, NetSuite does not support split-tender processing natively. This may not mean it is not supported in the NetSuite Point of Sale solution and I suspect over time, split-tender will be better supported. The good news is that the clue to solving this challenge is to understand the customer deposit system connected to the sales order.

I have spoken much about the customer deposit processing as I believe it is the least understood and often the most significant mechanism available to streamline payment and accounting operations. Consider these customer deposit related articles:

  1. Exploring NetSuite Credit Card and Invoicing / Cash Sale Processing Options
  2. Solved: NetSuite Customer Deposits and Advance Payment Accounting
  3. Create NetSuite Customer Deposits from Opportunities or Estimates
  4. Using NetSuite Payment Methods to Drive Customer Deposits
  5. Applying NetSuite Sales Order Customer Deposits on Independent Invoices
  6. Learn How To Add Amount Remaining on NetSuite Customer Deposits
  7. Yes You Can: Generate a NetSuite Customer Statement on an Invoice with Customer Deposit Accounting

The idea in split-tender processing is to collect a separate customer deposit for each payment and link it to the sales order. That way, when you fulfill and invoice, NetSuite will automatically consume the deposits on hand. If you partially fulfill, no worries; NetSuite will consume only what it needs. Any customer deposits against sales order that have not been fulfilled are effectively liabilities. Perfect for what we need for gift card redemption practices!

Gift Card Redemption Processing with Customer Deposits

With split-tender being solved via customer deposits, what is the flow for the gift card program? It is easier to express this through an example. See related image.

In any sale, we need to separate the product sale elements from the money elements. Thus, in the sale, we need to collect as many payments provided to us and transform them into customer deposits. In a gift card redemption situation, it is best to think of it as another payment method just like you might with credit cards. Thus, we want to create a customer deposit (one type of liability) and release the existing gift card liability.

To do this, we perform the following:

  1. Setup a Gift Card payment method. Route the related general ledger account to a “zero balance account” cash account. If the program is working right, this account is always zero. If it has a balance, something is wrong and can be investigated.
  2. Create a customer deposit and use the Gift Card payment method for payment.
  3. Use SuiteGL (via SuiteScript GL plug-in or our reclasser tool) to change the general ledger routing of the payment method to go against the gift card liability.

Here is what the accounting looks like:

NetSuite native customer deposit
Dr Zero Balance Account Cash $60
  Cr Customer Deposit Liability $60

SuiteGL enhancement
Dr Gift Card Liability $60
  Cr Zero Balance Account Cash $60

Under this method, we effectively moved the gift card liability to the customer deposit liability because, you can say, the liability is now in hand and we have a specific transaction we are working to fulfill.

Gift Card Liability Control

Under this method, if we trust our third-party gift card systems, we can ask for a report of all outstanding gift cards that have not been redeemed. We can take the summary of that report and compare it to our gift card liability account. It should equal.

Get Gift Card and Split Tender Processing

This pattern has been used to solve gift card and split-tender program challenges in our clients’ accounts. We built it into our “Shopify Integration”. The implementation typically can be done via a bit of SuiteScript and intelligent transaction routing. Like all the things we do for our clients, we give them our previously created software so we can focus on their specific implementation and refine as desired. If you have a split-tender or gift card program challenge, 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, Marketing | 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>