SuiteCommerce Sales Order Creating Cash Sale Instead of Invoice

in , June 10th, 2024

You may encounter an issue in SuiteCommerce where a sales order is creating a cash sale instead of an invoice in NetSuite. Here's the scenario.

When checking out in SuiteCommerce, a customer selected the invoice option as their payment method and completed their order. In NetSuite, when you billed the created sales order, you expected an Invoice to be created, but instead, a Cash Sale was created.

Why is a Cash Sale Being Created?

This is caused by the payment method field being set on the sales order, which tells NetSuite to create a cash sale. If you are using a custom sales order form rather than the standard forms, the terms AND payment method fields can end up on a transaction form used for the SuiteCommerce store. See the details below:

  • The Standard Sales Order form (or any customized form of this type) displays both Terms and Payment Method fields. When a Payment Method is set, it is always expected that it generates a Cash Sale upon billing.
  • The Standard Sales Order - Cash Sale (or any customized forms of this type) displays only the Payment Method field. Hence, this always generates a Cash Sale.
  • The Standard Sales Order - Invoice (or any customized forms of this type) displays only the Terms field, so it always generates an Invoice.

Solution to Make a Sales Order Create an Invoice in NetSuite

You need to update the Credit Card form and Invoice Form used in SuiteCommerce to display either Payment Method OR Terms, not both. This will prevent the Payment Method from being set on the invoice form.

For the invoice form, make sure terms is showing, but disable and hide payment method, then do the opposite for the credit card form (disable and hide terms and show payment method).

Step-by-step Instructions

Step 1: Go to the Website Setup Record > Shopping > Checkout Preferences section.

Step 2: Note the Transaction Forms in the “Credit Card Form” and “Invoice Form” fields.

Step 3: Navigate to the transaction forms Customization > Forms > Transaction Forms and edit both forms.

Step 4: If the transaction form in both fields was the same, create a duplicate. This new duplicate will act as our invoice form.

Step 5: Find the Payment Method and Terms fields under the Screen Fields Tab on both forms.

  • Payment Method is natively under the Billing:Payment subtab, though it could be located elsewhere depending on how the form is customized.
  • Terms is natively under the Billing subtab, though it could be located elsewhere depending on how the form is customized.
Remember: If you are having difficulty finding either of these fields, simply expand the tabs and search for the field using CTRL + F.

Step 6: For the invoice form, disable and hide payment method and show terms. Save the form upon completion.

Step 7: For the credit card form, disable and hide terms and show payment method. Upon completion, save the form.

Step 8: Go back to the website setup record checkout preferences section and update the forms to use your recently modified forms.

And that's it! The issue should now be resolved.

Author: Matthew Gochee

Got stuck on a step in this article?

We like to update our blogs and articles to make sure they help resolve any troubleshooting difficulties you are having. Sometimes, there is a related feature to enable or a field to fill out that we miss during the instructions. If this article didn't resolve the issue, please use the chat and let us know so that we can update this article!


Want to keep learning?

Our team of NetSuite professionals has written articles on a wide variety of NetSuite topics, from SuiteCommerce tips, to recommended NetSuite solutions, to available support services, and more! 

Your cart