Chapter 15: Order-to-Cash Transactions

Every company has something they think of as their sales (which makes up their Accounts Receivables (A/R)), even if they're a non-profit business. For this side of the business, we have the Order-To-Cash (OTC) transactions, including Opportunities, Estimates, Cash Sales and Sales Orders, Fulfillments, Invoices and Payments, and Returns and Credits. We tend to spend a good percentage of time in any implementation project working out the details of these transactions, so get ready for a longer-than-usual chapter.

In this chapter, we will cover the following topics:

  • Using Opportunities and Estimates before sales
  • Recording sales via Sales Orders and Cash Sales
  • Managing Item Fulfillments for sales, transfers, and returns
  • Making the most of Invoices
  • Entering Customer Deposits and Payments
  • How to track Returns, Credits, and Refunds

Your primary contacts for this work will be the client's sales and customer service people and managers. They should have already completed the NetSuite Foundations training before you begin training them further on the system's A/R features.

Using Opportunities and Estimates before sales

For some businesses, sales to new and existing customers are not sure things until they have negotiated quite a bit and worked out all of the details. When this applies to your client, you'll want to help them set up and learn to use the Opportunities and Estimates in their accounts. Opportunities are used to track potential deals; the details typically start fuzzy and tend to get easier to set over time. The items, quantities, and prices can change as negotiations take place.

Here's an example of the top set of fields on a new Opportunity:

Figure 15.1 – A new Opportunity and its Status list in NetSuite

Figure 15.1 – A new Opportunity and its Status list in NetSuite

Opportunities can be created for deals that might never happen, so they're generally regarded as uncertain until they reach the Closed/Won status. These transactions also have a field that's used to track how confident we are about closing them, called Probability, which is expressed as a percentage. Status and Probability, when used together, allow the salesperson tracking them to quickly communicate how close we are to making a deal. This is key for sales reporting in businesses that use these transactions since commissions are common for salespeople who close opportunities. NetSuite also includes Forecast fields on the Opportunity screen, allowing for a range of values (the transaction's total) to be guessed at and allowing us to choose whether to include the value in the sales person's forecasts. These lists and fields can be customized to use whatever ranges and terms the client's sales team is most used to. One other important thing to note about Opportunities is that they do not have Shipping fields by default. Natively, NetSuite doesn't include any shipping charges on these transactions, since they are not meant to track specific sales, but a general potential for sales down the line.

Estimates (which are sometimes renamed as Quotes) are used when we need to make an offer to a customer for a specific set of items and see if it's accepted. These transactions are typically used in government purchases for physical items, or any industry where larger, more expensive sales are made. The default Estimate form has the same Status and Probability fields as Opportunities do and then it adds in the Shipping, Billing, and Accounting subtabs. They do not have the Sales subtab that Opportunities do since fields such as Sales Readiness and Buying Time Frame make no sense here. The item lines add fields for tax calculations

One other use I've seen for Opportunities and Estimates is custom pricing. In these cases, the client wants to negotiate special per-item pricing with some of their customers, and they use the Opportunities and/or Estimates for this purpose. They add custom fields to the item lines to track which items/prices were "won" or accepted and approved for use on other sales transactions down the line. Users can then find the source transaction, select Create Sales Order (for instance) from there, and then all of the prices from the lines are copied onto the new transaction. If the clients want to have the option of building all new sales transactions, using any previously approved items/prices from Estimates, then that requires customization.

As you've seen, these transactions are very handy for tracking sales before they're official/completed, but once the customer is sure about what they want to buy, we typically record a Sales Order, so let's take a close look at those next.

Recording sales via Sales Orders and Cash Sales

NetSuite offers two transactions for recording completed sales: Sales Orders, which are used when the items on the order are not delivered to the customer at the time of the sale, and Cash Sales, for when they are and when payment is received at the same time. Our clients in the Wholesale Distribution, manufacturing, Software, and Services verticals will use Sales Orders. Our retail, e-commerce, and Point of Sale (POS) clients use Cash Sales and Invoices to record their sales.

The sales order in NetSuite tends to be treated like a Swiss Army knife, in that it can serve so many different purposes, depending on how the business needs to use them. We always start to train users on these transactions with the basics, and that starts with how they're created. A Sales Order can be created from an Opportunity or an Estimate from scratch, via an import, or a programmatic method (such as via web services). The clients I've worked with over the years have used all of these methods, so it's good to remember how many options there are – and how common it is to use more than one within any one business.

Here's the default set of fields on a Sales Order item line for reference:

Figure 15.2 – The fields we can see on the item lines on a Sales Order by default

Figure 15.2 – The fields we can see on the item lines on a Sales Order by default

Sales orders tend to be one of the most heavily customized forms for most NetSuite clients, with many custom fields and lists and sometimes subtabs added per the requirements. This is both because orders are the central place for tracking things such as prices, items, discounts, taxes, rebates, and more – and they end up affecting other things such as inventory levels, billing schedules, and revenue.

The following subsections cover a few examples of the many ways that Sales Orders are tweaked for various purposes by different types of NetSuite clients.

Bulk/Blanket Orders and Order Guides

Some businesses allow their customers to order items in bulk or on a blanket type order and then have them shipped out in smaller sets over time. A native Sales Order can serve this purpose, with just the addition of a few custom fields for tracking the dates and delivery timeline, for instance. NetSuite allows us to partially fill each line of an order over time so that we only ship what the customer is ready to receive every week. Order Guides is a NetSuite-provided SuiteApp that makes it easier for customer service representatives to place new orders for items the customer bought previously.

Drop Ship Orders/Special Orders/Special Work Orders

In Chapter 14, Procure-to-Pay Transactions, we talked about how these special types of orders have an effect on the business' purchasing and now we can cover the OTC impacts too. NetSuite allows us to tag each item as available for drop shipments and special orders, and if it's an Assembly type item, it can be tagged for special work orders to be manufactured in-house as well. If an item has a Vendor selected as the Preferred option on the item record, then the system will automatically create Drop Ship or Special Purchase Orders (POs) as soon as a Sales Order is created and reaches the approved status. The SO and the PO are linked in this case, so we can track the fulfillment of the items, even though someone else will ship them to the customer (for drop ships). If your client has an item that requires personalization or customization before it's shipped out, they will most likely want those items to be tracked as Special Orders in the account. This can apply to normal inventory type items and to Assembly items as well, in which case the system will create a Work Order for the items on a new Sales Order.

E-commerce Sales orders

Orders placed via the customer's web store come into NetSuite as Sales Orders and from there, they are treated like most other Sales Orders. If the client has purchased NetSuite's SuiteCommerce or SuiteCommerce Advanced store, then this happens automatically as soon as the checkout process is completed in that interface. Otherwise, orders are typically integrated into the system from an external web store via some connector or SuiteApp. This is one place where we have to be extra careful with the custom fields and custom actions (scripts) we associate with Sales Orders. We usually want to include only some of those in the web store shopper's experience. E-commerce performance is directly tied to completed sales and if we make the web store too complicated, we can negatively impact the client's sales.

Project/service deliverables

Services businesses typically use Sales Orders to record the initial sale of the items and services included in a project. This Sales Order then shows what the deliverables for the service work should include. It's used in conjunction with the project record to track things such as the resources that have been assigned to the project, the billing schedule, and, frequently, the revenue recognition plan (see the Revenue recognition section later for more on that). NetSuite will link this Sales Order to the project but will not automatically update the project when/if the items on the order change over time. Since project work is also commonly tied to a contract of some sort, using an add-on module such as NetSuite's SuiteBilling can help you manage the complexities of the set of transactions involved.

Promotions

Many clients today need to offer a variety of discounts and promotions to garner as many sales as possible with their customers. NetSuite offers a handy SuiteApp for this, known as SuitePromotions, but many businesses have different requirements, so third-party SuiteApps and customer-specific customizations are common in this space as well. We can easily add discounts to the transaction and at the item line level with native NetSuite, and then we can customize the UI and the process around tracking these promotions from there, depending on the client's needs.

Revenue recognition

Software and services operations require special handling for the revenue on their sales orders. Even though these are not seen as "posting" transactions (they don't have a direct General Ledger (GL) impact), they still affect how revenue is recorded in the system, and these types of businesses need to follow strict guidelines around this. If they are a publicly-traded company, then this is even more true and mistakes that are made in this process can cost them a lot of money and potentially new business. Revenue recognition is really an accounting concern, and as such, it touches on more than just Sales Orders in NetSuite, but sales orders are typically the beginning of this process for these companies, so the focus starts here. This topic can be relatively simple or become very complex, especially for companies who will typically see their sales and billing performed in separate accounting periods. If this subject is brand new to you, you can read up on it online in places such as Wikipedia and on the FASB or GAAP reference websites (see https://www.fasb.org). The laws and regulations that will apply to your client will also vary, depending on the part of the world they're in.

NetSuite allows us to enter payments for Sales Orders when that's appropriate, but most of the time, we use a Cash Sale instead when we want to record the payment along with the sale. Cash Sales are like Sales Orders, except they include an assumption that the goods that were sold were delivered to the customer at the time of the sale and that the payment was received in full. If both of these things are not true, use a Sales Order instead. We see Cash Sales used, for instance, when a retail store sells a pair of jeans, or when a services company wants to record the delivery of billable items, time, or expenses that have been paid for. Just keep in mind that a Cash Sale cannot be fulfilled but it can be returned and processed for a refund if needed. I'll cover those topics later in this chapter, in the How to track Returns, Credits, and Refunds section.

Going back to Sales Orders, they can be and almost always need to be fulfilled to make the sale final, so let's explore that topic next.

Managing Item Fulfillments for sales, transfers, and returns

I mentioned earlier that a Sales Order is not a posting transaction, and that's because, as per most modern accounting standards, the sale is not final until the goods or services that were sold are delivered to the buyer. For physical goods, we record that event in the system via Item Fulfillments. These are relatively simple transactions with a copy of the items list from our Sales Order, for those items that are configured as fulfillable and for which we have inventory in stock.

There are a lot of variations to this process, depending on the company and how they deliver their goods to customers, but generally, some time after the sale is made, the goods are sent to the customer, drop-shipped, or manufactured and then shipped or similar. We can tell the system which items were delivered, and for warehouse-based companies, we can assign statuses such as Picked, Packed, and Shipped to track each step of the process. We typically don't bill customers for orders until individual items on the order have shipped in these cases. Most of these companies also tend to be using a warehouse management system (WMS), so we typically see Item Fulfillments created in NetSuite via integration in these cases.

For more use cases on how we might use Fulfillments, check out the NetSuite Help page for topics such as Automatic Location Assignment (which is very handy for companies with both retail stores and warehouses), Fulfillment Requests (when you want to notify the warehouse in advance of the need for a shipment), and Multiple Shipping Routes (for customers who need to record a different shipping method/address on each Sales Order line item).

An Item Fulfillment can be created from other transactions as well, including transfers and returns. Inventory transfers and Transfer Orders are records that are used to track the movement of inventory items from one location (a warehouse, commonly) to another. When the full native process is in use, a Transfer Order is created first and then that gets fulfilled via an Item Fulfillment. An Item Receipt is created to record when the items arrive at their intended destination. An Inventory Transfer transaction is the shorthand version of that multi-step process since it records the move in one step, so an Item Fulfillment doesn't need to be created.

When a customer returns an item to the selling company, we typically record the return as a Return Authorization first and then record an Item Receipt to indicate when we've received the damaged good in the warehouse. If the return process includes sending the customer a replacement item, that's recorded on a new Sales Order and that then gets fulfilled. Companies who allow this sort of thing want to be able to differentiate new orders from replacements, and they include a flag indicating this on the Item Fulfillment.

Once the sale has been recorded and (when needed) the fulfillment has been completed, we can bill the customer for the sale. We'll talk about Invoices next and look at all the options we have when using them.

Making the most of Invoices

For many companies, creating and sending Invoices is just as important as making the sale, since these companies didn't get paid at the time of the sale and the Invoice is their way of telling the customer how much is now owed. This is very common among companies who allow their customers to make purchases on terms (such as Net 30, 60, or 90). Alternatively, when a Billing Schedule is in place, we are billing for goods and services delivered over time. The Invoice looks just like a Sales Order for the most part; they have the same fields and lists and subtabs. By default, NetSuite requires that an Item Fulfillment be created for any sales before they can be billed, but there is an Accounting preference that allows us to change that rule. This is handy for clients who generate an Invoice right after the sale and then deliver the goods separately. For instance, in some industries, such as food services, they want to print the invoice at the time of the fulfillment and include a paper copy on the truck, along with the food being delivered.

Companies in the software and services industries have their own, different requirements for invoices. For starters, they will typically create multiple sales for their customers throughout a given accounting period. They need to send just one Invoice per customer at the end of that period, though, so we usually set up either the Consolidated Invoices solution (older, now deprecated) to handle this. However, now, we have a newer native feature known as Invoice Groups. With both tools, we still have NetSuite generate one native Invoice per sale, and then it also generates one "virtual" invoice, which is what we send to the customer. This way, they see all of the items they've ordered from us, but they are all listed on one bill. Payments can easily be applied against the native Invoices but the virtual invoice is updated as well, for tracking and reporting purposes. This is also where Billing Schedules come in since customers on a contract need to receive a bill for some of their charges, once per month or on some other frequency.

Since Invoices affect revenue (we typically recognize revenue once its items have been billed on an Invoice), they play a big part in the day-to-day operations of companies restricted by these rules. I have customized the GL impacts for several clients over the years, based on exactly how they sold and delivered their goods and services to their customers, variations in the contracts they had, and other factors such as simple formatting preferences on how the Invoices had to look when received by customers. For instance, if the business sells services for some special purpose, a custom GL impact may have been made to the sale, deferring the recognition of the amounts until the time of the Invoice, when the deferral is reversed.

There are also quite a few companies who want Invoices to be created automatically, as soon as it's correct to do so – either when the sale is recorded or when at least some of the items on the order have been fulfilled. In these cases, clients can always use the native Bill Orders screen to generate an Invoice for every Order that is ready for one, but that still requires a user to know how to do that. Otherwise, we frequently create automations, which will generate Invoices for the users, according to the business' rules and timing preferences. The invoice generation step in the OTC process also typically requires quite a lot of Advanced PDF Template adjusting, to make sure that the page layout, formatting, and contents all meet the client's requirements.

Once the company comes to terms with generating Invoices, they need to know how to receive and record payments into the system, so that's the next stop on this OTC journey.

Entering Customer Deposits and Payments

Some businesses want to make their customers pay for part of the sale in advance, and in these cases, we can use the NetSuite native transaction known as Customer Deposits.

This is what the default Customer Deposit screen looks like:

Figure 15.3 – A Customer Deposit with the default, native fields

Figure 15.3 – A Customer Deposit with the default, native fields

These are just like Customer Payments, except they do not have an Apply list and they're usually tied to a single Sales Order. The system will automatically apply a deposit to an Invoice once that's generated if it was linked to a Sales Order. Deposits are frequently used for larger, more expensive items and for services work where the business stands to lose money if the customer changes their mind before the work is completed. We had a client once who sold high-end saunas to consumers and businesses and each cost more than 5,000 USD. The company required a 50% deposit to be made at the time of the sale, and then the balance was due on delivery. This is certainly not the only way deposits are used in the system, though. We can use them any time we need and they can be created directly from a Sales Order in the UI, or as a standalone transaction if we prefer.

Payments are received by modern businesses in many ways – via checks in the mail, cash tendered at a register, credit card transactions, online payment systems such as PayPal and ApplePay, and more. No matter how they happen in the real world, we need to enter a Customer Payment into NetSuite for each, to record the items that were being paid for and the amounts and other details. A customer payment can be applied to any of the open Vendor Bills on the account, and also to Customer Deposits, Credits, and other transactions, such as Journal Entries.

Here's what this looks like in the system:

Figure 15.4 – The Apply sublist on the Customer Payment screen

Figure 15.4 – The Apply sublist on the Customer Payment screen

For instance, consider this scenario:

  • A customer had five sales in the previous month.
  • They deposited 33% of the total of those sales.
  • The customer was sent an Invoice at the end of the month for the remaining amount due.
  • Now, they're paying the total amount due via EFT.

One payment can be created, applied to a list of open Invoices, and the deposit can be applied to that payment record as well. If credit was issued at some point in time for a damaged good, that can be applied at the same time.

Payments can go into the Undeposited Funds account or, if the business knows the correct choice at that time, can be entered into a specific bank account. Also, note that NetSuite will only allow us to apply for money on a payment to Invoices that are using the same A/R account. So, I have often been confused when testing a setup by not seeing the Invoices I expect to see on the Apply sublist, and then remembering this rule!

Assuming all goes well with a sale, this might be the end of the road – the company sold the items, delivered them to the customer, and got paid. But in reality, for many of our clients, there's always the possibility of a return, so let's address that next.

How to track Returns, Credits, and Refunds

When things go south with sold items, they can usually be returned. The company needs to take the items back into inventory and usually give the customer some form of either credit, to be applied against a future purchase, or a refund. Each business decides on the right option for each of its items, depending on the conditions of the sale, the problem being reported by the customer, and other factors.

The process that is followed in NetSuite in cases like this will vary but generally follows this flow:

  1. If the company is using NetSuite's customer service features, they might record a case record during a call or when the customer's email is received.
  2. From this case, they can create a Return Authorization, indicating that they've given the customer the OK to return the product to them.
  3. Next, they might create a Credit Memo, to show that the customer is due some portion of the money they paid initially against a future order.
  4. They might create that new order right away if they need to send out a replacement product.
  5. Alternatively, they might issue a Customer Refund, if the customer has requested their money back.

This is one way to get through these transactions but each company tends to tweak this to suit their needs. For instance, we've helped more than a couple of clients create Refunds automatically as soon as the items are received from a Return Authorization.

Alternatively, Credits can be created as standalone transactions. We might do this while following a customer service conversation on the phone, or to issue credit to the customer to correct a mistake on their last Invoice, for instance. In any case, the system provides us with great flexibility in how we can apply these transactions to each customer, applying just the adjustment that we need to nearly every business case.

Summary

As we've said more than once, knowing your customer's requirements should always precede any steps you take in NetSuite, and the OTC transactions are no different. Using those requirements as your guide, we can always get through this phase of implementation but getting this right takes practice and determination as you work with each new client. From the frontend with Opportunities and Estimates, where we're focused on the sales team's needs, through the Sales Orders and Cash Sales, where sales, customer service, and accounting all have a say in how things are done, the users must become comfortable entering these transactions before they're ready to go live. Adding in the Invoices, Payments, Returns, Credits, and Refunds usually sums up to a lot of learning in a short time, but it's all worth it when the users confirm that they've gotten confident in their new skills. By combining your consultancy, configuration adjustments, and customizations your team and others create, and the training the users receive, you will achieve this goal every time.

Self-assessment

Here's another opportunity to think about what you learned in this chapter by applying your knowledge to a few hypothetical situations:

  1. A software company you're working with wants to enter deals into the system before they're finalized. Their sales always consist of a few software items, services for things such as installation and training, and a maintenance contract for ongoing support after the sale. Which sales transactions will you recommend they use for all of this, and which NetSuite add-ons should be considered to supplement the system's native features?
  2. A university you're working with already sells books in their book store via their live NetSuite account and SuiteCommerce. Now, they want to also offer digital books rentals via a third-party service. They come to you, looking for advice on how to set up the items for these digital books, and how to record the rentals in NetSuite. When a student enters an order on the web store for one of these book rentals, the university forwards them to the book rental company's management website. The money is paid to the third party, who then returns a portion to the school as part of their business arrangement. What are a couple of ways you could approach helping them with this?
  3. One of your clients wants to offer their clients free shipping on all orders over $100 and for some specific items, regardless of the amount purchased. NetSuite has features covering this, but the client wants to track their costs concerning their shipping, for reporting reasons. What steps should you take to help them set up the shipping options, and then track their shipping costs versus items sold, for their financial reports?
  4. Near the go-live date for one of your implementations, you learn that the company needs to consolidate their Invoices by Customer, Department, and the customer's PO number. In other words, if a customer of theirs had 10 sales in the last month, some assigned to one department and some to another, all under two different PO numbers, they would want to see a total of four Invoices sent out that month. What natively supported options can you consider that can help them get something into the account quickly to solve this need?
  5. While you're showing a customer how to manage returns, they complain that there are too many steps involved and ask you to do what you can to streamline the process for their users. You start by showing them Return Authorizations, Receipts, Credits, and Refunds. Think about how you could lead them through a requirements review now, with the goal being to remove any steps they won't need after all, thus making the user's jobs simpler. How else could you offer to automate this process to further speed up their return handling?
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.223.170.21