Converting NetSuite Customer Deposits to Credit Memos

This article is relevant if you are wish to change your NetSuite customer’s deposits to credit memos.

Customer Deposits Not on Accounts Receivable Aging Report

NetSuite’s customer deposit records do not show up on an Accounts Receivable Aging report. ¬†However, credit memos do. ¬†And because of this, NetSuite customers may wish to convert their customer deposit records to credit memos. ¬†But how?

Customer Deposits Represent Credits

A NetSuite customer deposit typically comes into existence by receiving monies before producing an invoice. ¬†We have clients that have third party eCommerce systems with separate credit card processing systems with policies to ship the same day they get the order. ¬†For convenience, when the eCommerce orders are electronically entered into NetSuite, we constitute sales orders and we create ¬†associated customer deposit records. ¬†The deposits represent liabilities and is meant to be “funds on account” to be applied to invoices after you deliver on your customers’ order.

A customer deposit, in essence, is a liability.  As such, it should contain a balance sheet credit.  If you never deliver on the order, the idea is that you resolve your customer obligation by issuing a cash refund.  However, the more typical case is to generate an invoice and then apply the customer deposit to effectively close the invoice as paid.

This is great functionality. ¬†However, NetSuite’s default Accounts Receivable (AR) Aging doesn’t bring customer deposits into view. ¬†A separate report is required to see deposits. ¬†This may frustrate AR accountants who want the AR aging to represent the total customer balance due on account. ¬†I believe the reason NetSuite does not bring the customer deposits into the AR aging is because deposits are tracked on a different GL Account. ¬† And the AR aging needs to tie out to the AR account balance.

How to Change a Customer Deposit into a Credit Memo

To change a customer deposit into a credit memo, we need to work through an invoice document.  The trick is to create a special purpose item for this purpose.  Here is an approach you can use:

  1. Create a non-inventory item type, perhaps, “Utility: Convert Deposit to Credit Memo” and point it to a balance sheet account called, “Utility: Zero Balance”. ¬†The idea is that this account should always equal Zero and if it doesn’t, something is wrong.
  2. In the ¬†amount of the deposit, create a customer invoice using this new item. ¬†This will effectively debit AR and credit “Utility: Zero Balance”.
  3. Apply the customer deposit to the invoice to effectively close the invoice.  This will debit Customer Deposits and credit AR.  Now the customer deposit is consumed.
  4. From the new invoice, create a credit memo for the entire amount. ¬†This will debit “Utility: Zero Balance” and credit AR.
If you have a batch of these customer deposits to work through, you can create a custom Mass Update with SuiteScript that will effectively perform this automatically.  These scripts are relatively simple with good SuiteScript skills and we write them frequently for our clients.
If you find this helpful, or see other ways to handle this situation, let us know below.  If you need help automating NetSuite or cleaning up accounting issues, contact us


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 | 22 Comments


  1. Dan
    Posted March 6, 2014 at 10:46 am | Permalink

    Can I apply a customer deposit to an already existing invoice?

    Thank you and best regards,
    Dan Bernal
    Sr. Accountant
    Mattco Forge Inc
    Paramount, CA

  2. Posted March 6, 2014 at 10:55 am | Permalink

    Hi Dan,

    If the invoice has not been paid and the customer deposit is of the same currency, you can apply it. Yet, the customer deposit may be connected to an originating Sales Order which may be preventing it to connect to unrelated Invoices. Is that your experience?


  3. Posted March 13, 2014 at 2:16 pm | Permalink

    Write Dan responded offline and agreed we could continue the post:

    “Thank you for your valuable time and rapid response.

    The open invoice and deposit are of the same currency but it is not tied to a Sales Order. The previous accountant made the deposit as a debit to “cash” and a credit to “undeposited funds” which is another current asset account. My customer is concerned because they do not see their $68K plus payment taking off the invoices they paid off their statement and I have a huge credit sitting on the balance sheet in a current asset account which is not a “contra” account.

    I tried using the help in NetSuite and was not much help then I took to the web and stumbled on to your site.

    I see where you suggested to create a “credit memo” using a non-inventory account but my boss is hesitant about setting up a new account unless I can prove the validity of doing so.

    Please please advise.

    Again thank you Marty for your valuable time and assistance.

    Best regards,

  4. Posted March 13, 2014 at 2:18 pm | Permalink

    The beauty (or not so beautiful…) of NetSuite is that you can delete the transaction. Can you do this and book it properly? Be very careful booking anything to the Undeposited funds account besides the normal Accept Payments and Customer Deposits functionality; especially credits in a journal entry manner. The application tools do not recognize “negatives” in that account.

    I have a client going through it now.


  5. Gregory
    Posted February 2, 2015 at 9:29 am | Permalink


    I have a process at my company where our customers buy product and at the end of the year they get a “rebate” from our Vendors. Instead of the Vendors sending them the check directly the Vendor sends us the check and asks that I apply it to their account. Out of courtesy in our old system we created a credit memo and put it on their account. Our last system was not an all in one ERP system. With that in mind we didnt take into account all the other affects doing it this way had. Now with Netsuite if we apply a credit memo to a customer it will affect sales reports for that customer of which shouldnt happen b/c this is a rebate from our Vendor to our customer. And just other reports are affected as well. We then thought why not just put it as a deposit on their account. and that doesnt show up correct on the statement for the customer b/c it shows up as a payment and not as a credit memo. Our customers would get confused if they saw it this way and not the credit memo way.

    With that in mind the solution above seems to be the correct way to handle this. I wanted to know if you had other customers where they got rebates from their vendors for their customers and had to issues credit memos. Are they handling it this way?

    Thanks in advance

  6. Posted February 2, 2015 at 9:12 pm | Permalink

    Hi Greg,

    That’s a great problem. Here is how I would handle this:

    1. The Customer Deposit produces the right accounting. And I like the way you can apply it to future invoices.
    2. We can modify the customer deposit to include a new custom field. Perhaps we create a field called “Vendor Rebate?” as checkbox.
    3. We take advantage of NetSuite’s new Advance PDF tools to generate a tailored invoice so that it detects this type of Customer Deposit and produces the right customer messaging.

    I love these kinds of relative quick fixes as you exploit the power of the NetSuite platform. If you get these frequently enough, it may well be worth the effort. Good luck!


  7. Gregory
    Posted February 5, 2015 at 3:08 pm | Permalink

    Thanks Marty! I’ll give it a try

  8. Dan Bernal
    Posted May 22, 2015 at 10:10 am | Permalink

    Hello Marty,

    I misapplied a payment in one customers account which now has a credit balance, can I apply that cash to the proper account?
    Thank you for your valuable time and assistance.

    Kind and best regards,
    Dan Bernal

    Sr. Accountant
    Mattco Forge Inc.
    Paramount, CA

  9. Posted May 22, 2015 at 10:28 am | Permalink

    Hi Dan,

    Can you delete the payment and do another? Or is the period closed?

    You may need to create a dummy invoice to eat the credit and then do the proper credit memo to offset the dummy invoice. Play with the line pointers so you control the GL impact.


  10. Dan Bernal
    Posted May 22, 2015 at 10:43 am | Permalink

    Thank you Marty for your valuable time and response. Yes sir it is in a closed period. I will take a look at the dummy invoice thing…
    Thank again.
    Dan Bernal

  11. LC
    Posted July 9, 2015 at 11:36 am | Permalink

    Hi, Marty, I have to be overthinking this…we have some customer deposits that were made by individuals to us. The corresponding sales orders are with dealerships (different customer record). I don’t see a way to apply Mr. Smith’s $500 to XYZ, Inc.’s sales order and the receipt of the deposit is in a closed period. If I do a dummy invoice for Mr. Smith, I use a non-inventory item coded to that Utility: Zero balance account? If I do a CM from that invoice, won’t I have the same problem – not able to apply the CM to the dealer’s sales order?

  12. Posted July 24, 2015 at 6:51 pm | Permalink

    Hi LC,

    I am a little confused. Are you trying to apply a customer deposit on one customer to another customer by crossing a boundary via credit memos and fake invoices?


  13. Nik
    Posted April 25, 2016 at 11:37 pm | Permalink

    This is really strange, for one simple work of deposits, now i have to go and create couple of extra steps? I am not able to understand why deposit cannot be a part of aging. This is universal everywhere

  14. Posted April 26, 2016 at 4:39 am | Permalink

    I understand. It does seem peculiar. Yet, I understand that NetSuite’s approach to the aging is that it is simply a summary of the AR GL Account. Deposits are controlled by a different GL account. I plan to write an article on how to get this information collected in a aging formate in a Saved Search.


  15. Gabriel Lawrence
    Posted August 10, 2016 at 7:21 am | Permalink

    Hi Marty,

    Is there a way to have NetSuite automatically apply credits (either overpayments or credit memos) to new invoices. This seems like a really good feature for lots of businesses, I’m surprised I can’t find more information about it.



  16. Posted August 25, 2016 at 7:37 pm | Permalink

    Hi Gabriel,

    Yes, via SuiteScript, you can apply these to invoice according to your rules you invent. We have done it for a number of our clients.


  17. Alon Flaxer
    Posted October 12, 2016 at 2:45 pm | Permalink

    Hi Marty,
    I googled a lot but couldn’t find it – how do you apply credit memo to invoice with SuiteScript?


  18. Posted October 13, 2016 at 4:27 am | Permalink


    To make a credit memo from an invoice via the API, use the record.transform (v 2.0) method.


  19. Rajitha K S
    Posted April 11, 2017 at 8:35 pm | Permalink

    I want to create a customer deposit(creditcard payment) from sales order using suitescript. I created but it says not deposited status.please help me?

  20. Posted April 12, 2017 at 4:45 am | Permalink

    Hello Rajitha,

    The status on the customer deposit is controlled by the cash account defined in the payment method. It appears you are creating a deposit and it is landing in the Undeposited Funds. Reference a payment method that references a bank account and the record will move to Deposited.


  21. Rajitha K S
    Posted April 12, 2017 at 9:11 pm | Permalink

    Thank you for your valuable time and response. Earlier i have created a customer payment(creditcard) from invoice using the suitescript.That time i was able to select an account “1415 Receivable for Pending CC Receipts”. But in sales order customer deposit , that “1415 Receivable for Pending CC Receipts” is missing in account list. For moving my deposit from “not deposited” to “deposited” status,i want add the deposit to the “1415 Receivable for Pending CC Receipts” account.How can add this into the list?

  22. Posted April 13, 2017 at 4:56 am | Permalink

    Depending on how you are attacking the code, as it sounds like you are starting from a Sales Order, you may need a beforesubmit script on the customer deposit record to set the value. Generally, I do not recommend setting the account; instead, the business can define a payment method with a reference to that 1415 account. Then, you select that payment method in script.

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>