NetSuite for Consultants

By Peter Ries
    Advance your knowledge in tech with a Packt subscription

  • Instant online access to over 7,500+ books and videos
  • Constantly updated with 100+ new titles each month
  • Breadth and depth in over 1,000+ technologies
  1. Chapter 1: Introduction to the NetSuite Ecosystem, Platform, and Related Features

About this book

Used by thousands of organizations worldwide, NetSuite's customer and financial management solutions expedite daily financial transactions, accelerate the financial close, ensure compliance, and so much more. With companies around the world choosing to run their business on this cloud-based SaaS solution, the demand for NetSuite professionals is ever increasing. This book takes a hands-on approach to help you grasp the implementation and associated methodologies in no time.

You'll start by exploring what NetSuite is, how it works, and how accounts, support, and updates work within its ecosystem. Understanding a business’ requirements is a critical first step toward completing any software product implementation, so you'll learn how to write business requirements by learning about the various departments, roles, and processes in the client's organization. Once you've developed a solid understanding of NetSuite and your client, you can apply your knowledge to configure accounts and test everything with the users. Finally, you'll get to grips with managing both functional and technical issues that arise post-implementation and learn how to handle them like a professional.

By the end of this book, you'll have gained the knowledge necessary to implement NetSuite for businesses and get things up and running in the shortest possible time.

Publication date:
January 2022
Publisher
Packt
Pages
320
ISBN
9781801818773

 

Chapter 1: Introduction to the NetSuite Ecosystem, Platform, and Related Features

Welcome to NetSuite for Consultants. In this book, I trust that you've already started to learn about NetSuite's ERP and CRM products, and I will cover everything you should know when starting to implement the product for your own company, or as a solution provider or consultant. I'll explain the soft skills a consultant should have, how to get to know the client's business and people, how to analyze and document client requirements, and much more. We'll then dig into the process we follow when implementing NetSuite and break that down by the business process. Finally, I'll cover how to handle gaps you find between the client's requirements and NetSuite's features, so you know how to handle whatever comes your way.

To implement NetSuite, you've got to understand a lot of details about the company, the product, the customization platform, and so on.

In this chapter, we're going to cover the following main topics:

  • NetSuite the company, NetSuite the product
  • NetSuite editions, features, accounts, and centers
  • NetSuite people – sales, support, and services – and partners
  • The NetSuite SuiteCloud Platform

This chapter will introduce you to all of those topics and more, ensuring you go in the right direction down the path to NetSuite consulting.

 

NetSuite the company, NetSuite the product

NetSuite is both a company and a product. The company was founded as NetLedger in 1998 by ex-Oracle employees, with the dream that someday, a complete ERP system running in the cloud would be a good fit for many small and mid-sized companies. Only larger enterprises were offered a single application offering – everything a company would need to run their business. Smaller companies had to piece together applications such as accounting, warehouse operations, and billing themselves, with the help of system integrators. The accounting software of the day was either like QuickBooks, which ran on a personal computer with a local database, or a much more complicated server application with a relational database, which required a team of IT specialists to set it up and maintain. When companies outgrew QuickBooks, they had to move up to the larger, on-premises-installed applications. The market was not geared to mid-sized companies at that time, though options from Microsoft and others did fit the bill for some of the main ERP functions.

NetSuite's founders' vision was to build a web-based application to replace those on-premises applications and, in the process, relieve their customers of all the IT headaches that come with running servers as well as installing, maintaining, and integrating many complex business applications. And so, NetSuite was born!

NetSuite initially offered the simplest options for basic company accounting and customer record management, under the name NetLedger.com. It has, however, grown over the years to truly be a massive suite full of useful options for nearly every type of business and non-profit organization. In 2017, Oracle acquired NetSuite and the product has continued to grow and cover more ground since then.

Since NetSuite is cloud-based, you can access it from almost any internet-connected device with a web browser. With your PC or tablet (or maybe even your phone), you can log in and do whatever you need in your NetSuite account to run your business. NetSuite maintains many separate data centers around the world, thanks to Oracle's expertise and reach in this industry. Whether your employees are all in one city, or your people are spread across continents, they can easily share one common interface, any day of the week. NetSuite's multi-tenant approach to cloud computing means that you never have to worry about which server your account is running on; you trust that NetSuite is making sure that account will always be online, 24 hours a day, every day.

 

NetSuite editions, features, accounts, and centers

Oracle NetSuite (the company) has built the NetSuite product so that clients don't need to worry about which server their NetSuite account is running on. When a business first signs up for the service, the NetSuite sales team will size up the organization and help them choose the right package. This includes getting them on the correct server tier. A basic starter account for a smaller company typically runs on a shared application server platform so that computing resources are efficiently shared among a set of companies. However, the data that's accessed by each is completely segregated, so each company will only ever have access to their own records. Companies who require greater performance can purchase higher server tiers, and can even request dedicated servers if the need arises. This is typically done for companies with high transaction volumes, who cannot afford to ever be slowed down by another company's activities on a shared server account. Read the NetSuite Help page titled NetSuite Service Tiers for more on this.

Next, we'll cover the different types of NetSuite accounts and how each can be used.

NetSuite accounts

When an organization signs up for NetSuite, it will always start with one main Production account. They will access their account via a URL such as https://1234567.app.netsuite.com. This is where they are expected to run their business, once they're ready to. There are other types of accounts available though, depending on their needs.

The following diagram shows the account types that are available at the time of writing:

Figure 1.1 – NetSuite account types

Figure 1.1 – NetSuite account types

Let's quickly talk about each of them.

Production accounts

Most NetSuite clients have just one of these but it's possible to ask for more under special circumstances. This is where your data will primarily live, where emails are sent and integration connections are made. For most of a client's users, this is NetSuite as far as they are concerned. And for that reason, the data in these accounts is critical to the organization and should be treated as such.

Sandbox accounts

Think of these as temporary accounts where customizations or any sort of testing can occur, without causing any problems for the production data. NetSuite sells these individually for an extra fee. Sandboxes are refreshed from the production account on an as-needed basis and when that occurs, then have a separate database reflecting the changes that were made in the Sandbox account.

One other big difference with Sandboxes is that they don't send emails to their intended addressee. Instead, they are either redirected to a set of named users or to the NetSuite user who was logged in when the email was generated. Otherwise, NetSuite cannot send emails at all.

Development accounts

With each Sandbox a client purchases, NetSuite provides three additional accounts of this type. They have a separate database as well, but they are not ever refreshed from production. Instead, they are used just to develop standalone customizations that can then be deployed into any of the other accounts for testing or production use.

These development accounts can be very helpful for companies who think of their development like a SuiteApp partner would, where they're building standalone customization. For almost any other purpose, they can be more trouble than they're worth since they can't automatically get data from production and you have to manually set up everything you want in them, such as bundles and other customizations.

Release preview accounts

Just before NetSuite's bi-annual major updates are released, the company offers each client a copy of their production account for advanced testing of the new features.

Each NetSuite client must request their Release Preview (RP) account to be set up, but there is no additional fee for this service.

These RP accounts only last for a few weeks though, just enough time to test new features and confirm that existing configurations and customizations will continue to operate as expected.

Work with your NetSuite account manager whenever you want to make a change to any of a client's accounts.

Data in NetSuite accounts

NetSuite maintains daily internal backups of every account. However, no client should ever assume that the backup is going to be there to cover any mistakes they might make, or worse, to recover from failed experiments. Instead, a carefully planned data management approach is needed. Most clients can run their accounts for years without any incidents, so they won't need to restore a backup, which is largely different from most on-premises software applications. This is because NetSuite (the company) takes such care to make sure the application runs without errors or other things causing any harm to the data. There are, however, many ways a client or users can cause issues themselves. For instance, NetSuite includes two features known as CSV Import and Mass Updates, which are very powerful but also very dangerous if they're used incorrectly or carelessly.

I've seen more than a few cases where someone ran CSV Import and overwrote important data incorrectly or inadvertently. The same goes for Mass Updates. Generally, these features are restricted to NetSuite administrators and should stay that way, but if a client gives an inexperienced user (including consultants like us) the power to use any of these powerful features, bad things can happen.

A client can contact NetSuite Support and request data to be restored, but that should be left as a last resort option. Instead, every time anyone is thinking of making any sort of bulk update to data, or maybe changing data they're not very familiar with, it's a best practice to make a manual backup of that data first, via a CSV export, for instance. Nobody should rely on NetSuite to provide backups, but you may ask them in emergency cases. Just note that when NetSuite Support restores a backup, it will be the entire account; they cannot just restore one item or sales order, for instance.

This situation is mainly for the data in production accounts, but there are times when the data in sandboxes can be just as critical. In a typical implementation, we might import lists of things such as customers and items fairly early on in the project, and once those are in, we don't want anyone erasing them or making large-scale changes without careful planning. Having to reimport a lot of data mid-way through a project can introduce unplanned delays, if not done correctly. Also, keep in mind that when a sandbox is refreshed, all of its current data is erased/lost and replaced with the data that was found in the production account at that time. Clients and implementation teams need to carefully review the data in the sandbox before these refresh events, to be sure nothing important in the account is in the production account at the same time.

Sandbox refreshes

In the life of a typical mid-sized or larger NetSuite client, when going through a typical implementation process, we usually end up following a schedule that looks something like this:

  • Day 1:
    • Start to configure the production account.
    • We'll set up the first users, enable features, and start to choose options.
  • About a month or so later:
    • Request a refresh for the first sandbox.
    • The client usually does this once they've got the OK from all the teams working in the production account.
    • This is where customizations, integrations, and data migrations will be developed and tested.
  • Sometime later:
    • Request a refresh for a second Sandbox.
    • This is where UAT will happen, before going live, so this can only happen after all the elements needed for that full round of end-to-end testing have been configured or installed.
  • Days before going live:
    • Deploy to production.
    • This is when we move all the customizations, integrations, and final data for migrations into production.
    • Sandboxes cannot be refreshed in production, so we usually use other features at this time, such as suite bundles and the SuiteCloud Development Framework (SDF).
  • And then we perform the other cut-over activities.

We'll cover this in more detail later in this book, but keep this general process in mind as you continue reading. And note that this is entirely dependent on the size and complexity of the organization that's being implemented. Many smaller companies can get through their entire implementation process with just their production account, for instance, which greatly simplifies and speeds up this process.

How NetSuite is updated

Since NetSuite runs in the cloud and not at every client's office, it is NetSuite's job to keep the application software up to date. Due to this, the product receives updates automatically, twice per year, typically around April and November. The first of these major updates is known as the .1 release for that year, while the second is known as .2. So, this year, clients will be updated to 2021.1 in April and 2021.2 in November. These updates include both fixes for reported problems and new features and enhancements to the product.

In-between these two major updates, NetSuite can also patch any part of the system via what are known as either eFixes or Hot Pushes. An eFixis a small update that's used to fix defects reported by NetSuite clients and rolled out to the live systems only when needed. Hot Pushes are fairly rare as they are emergency patches needed by one or more clients, usually to resolve a recently introduced product defect. For instance, this kind of update might be used if a problem with a major release causes issues for many clients simultaneously.

NetSuite clients cannot choose to never receive any of these updates; however, they can sometimes choose when they receive them and which of their accounts will be updated first. When this is needed, the client can work with NetSuite Support to request alternatives to the default rollout plan.

Whenever a major update is about to be released, NetSuite's clients and their partners should start to plan for how to adapt to the new features and incorporate them into their business process. For instance, on occasion, a new feature is released that can replace a customization a client had developed in the past. When this happens, the client should evaluate the new feature, compare its setup, records used, and so on to their custom solution, and then define a plan for how the business will migrate into the now native feature (assuming that makes sense). Generally speaking, it's usually better for a client to run with as few custom solutions as possible, so this kind of thing is usually the right choice. This is where using those Release Preview accounts mentioned earlier can be very helpful, although it's always important to keep their temporary nature in mind. Don't ever start a development project in a Release Preview account!

Since major updates are automatically applied to each account twice per year, nothing special ever needs to be done by the client to enable/facilitate this. The upgrade usually happens overnight (depending on where the client is); when you first sign in the next day, the account's version number will have changed. The same goes for Hot Pushes, except the minor revision version number indicating a change at that level is not displayed on the home page. At that point, conscientious clients (and partners, among others) will perform smoke testing for their main business processes to ensure that everything works as expected. It is very rare for issues to arise because of an upgrade, but it's always better to find them via testing than to find out after a week or more that some critical function is no longer delivering the expected result.

Tip

You can find the revision number; it's just not in an obvious place. Sign into NetSuite, right-click the home page in your web browser, and select View Source or View Page Source. Scroll to the very end of that source listing and look for a block of text that looks like this:

<!-- Host [ abcdef ] App Version [ 2020.2.0.96 ] -->

<!-- COMPID [ 1234567 ] URL [ /s.nl ] Time [ Sun Jan 10

15:36:03 PST 2021 ] -->

<!-- Not logging slowest SQL -->

2020.2.0.96

In this example is the full version number of the account you're looking at. That's generally not a number anyone needs to keep track of, but now and then, it can be useful to know how to find this information.

Generally, NetSuite is very, very careful to ensure that every update they release is well tested and that it will not break any existing configuration or customization clients might have. When the company knows that a change is going to cause issues, they almost always provide many months' advanced notice so that clients can prepare their systems and integrations to support the new approach. This is especially true for things such as integration protocols such as SAML for single sign-on, or various features of the SuiteCloud Platform. In my 9 years of working on the product, I've not seen more than three or four cases personally where an update caused an issue and the client wasn't given months of notice before the change took place.

Now that we've looked at what NetSuite is, let's look at the people who work to make NetSuite the incredible product it is – and how they can help you do your job too.

 

NetSuite people – sales, support, and services – and partners

NetSuite, the company, was founded in Northern California but now is truly a global organization. Oracle's headquarters just moved from California to Austin, Texas, at the beginning of 2021 but NetSuite's people reside in many countries around the world.

You'll find most NetSuite employees in North America still, but there are teams in Australia, Europe, Asia, and Central and South America too. Salespeople are the frontline points of contact, helping new clients get started on the product. The sales teams are divided into two groups – Direct Sales and Account Managers. The Direct Sales team gets you started and the Account Managers take over just before an organization goes live.

NetSuite's Customer Success teams offer professional services for any client looking for help with their implementation (or any time after that, really) but NetSuite also sells services from third parties just as often. These partners have many well-trained and experienced professionals such as in-house consultants and again, they can be found in all NetSuite markets and provide all of NetSuite's ERP, CRM, and such related services, from accounting to private equity consulting, to software development.

NetSuite's Education Services and Support people are some of the most patient and knowledgeable people you can work with. While the trainers are available in every market, the Support team is mostly found in the Philippines and near Toronto, Ontario, Canada. NetSuite offers a variety of training and support packages, but most recently has been encouraging clients to sign up for the always available subscription services to make sure all of the organization's employees are well trained and can get help when they need it. To this end, Education Services offer a Learning Cloud Support subscription, which means your employees can typically receive online training on any subject, whenever they need it (not just in the time right before going live, in other words). Support offers something similar called Advanced Customer Support, which extends their basic tech support option to include dedicated resources that know your account and business and apply that knowledge to each issue you need help with.

NetSuite's infrastructure and network people, product engineers, developers, and testers are distributed all around the globe, but most are either in the US, Canada, Spain, or the Czech Republic. Since NetSuite has acquired many other companies over the years, these developers work on a large range of products under the NetSuite umbrella.

NetSuite's product offerings

If we tried to list all of NetSuite's features and options, the list would stretch over many pages, but the product's main offerings can be summarized as follows:

  • ERP and CRM: These products include things such as finances, procurement, and order management. This is where we'll talk about Customers and Contacts, Items and Inventory tracking, Purchase and Sales Orders, GL Accounts and Journal Entries, Revenue Recognition, and many more topics. NetSuite changes how they sell this every so often, but generally, they offer a package for small companies (those who have outgrown QuickBooks, for instance), mid-sized companies, and larger enterprises.

    Most NetSuite ERP customers purchase the OneWorld product, which allows for things such as multiple subsidiaries, currencies, and accounting books (when needed).

    This is where we will focus most of our time in this book since there is so much under this heading – we always begin new implementations with these features.

  • SiteBuilder and SuiteCommerce: These are NetSuite's built-in e-commerce platforms and they include everything needed to sell products or services via the web, with all of the customer and transaction data directly tied into the same NetSuite account. (No integrations needed!)

    SiteBuilder is the simpler, legacy product, and SuiteCommerce Advanced (SCA) is the current and full-featured offering.

    Broadly speaking, about one-third of all NetSuite clients run their web store on the SCA platform, but many others have tied an external web store into their NetSuite accounts via integration.

    This can be a very complex topic since most companies' web stores are heavily specialized and often customized, so it could easily require an additional set of chapters to cover properly. For these reasons, I will mention this subject again as appropriate but most SCA learning will not be covered in this book.

  • NetSuite WMS: For companies in the Wholesale Distribution (WD) or Manufacturing (MFG) industries, a Warehouse Management System (WMS) is key to running a highly efficient warehouse operation.

    NetSuite's own WMS offering includes many of the features a small to mid-sized company needs to tie their inventory and production management into their accounting systems, such as warehouse location tracking (via lots and bins, and so on), fulfillment (picking, packing, and shipping), inventory counts, and more.

    A while ago, NetSuite offered this in a Lite and an Advanced version but today they just have NetSuite WMS (which was the Lite version).

    There are a few partners with solutions as well, and Oracle has its own WMS offering for larger operations or those with more complex fulfillment requirements.

    Again, this topic would require more space than we can provide in this book, but I will mention it a few times where appropriate.

  • The special-purpose, limited access Centers: NetSuite also offers a set of alternative UI Centers as web-based extensions for people other than the client's full-license users.

    Customer Center allows a client's customers to directly sign into a limited version of the NetSuite UI and place orders, review invoices, or see the status of previously placed orders.

    Vendor Center is similarly set up for a client's vendors, enabling them to work with purchases placed by the client and to interact with them.

    Employee Center allows a simplified UI for a client's employees; typically, these are the people who do not otherwise sign into NetSuite. This can make it easy for them to submit time-off requests or expense reports, for instance.

    All of these Centers require additional (and very limited) licenses to be purchased. This allows them to be used with the NetSuite sales team, which allows them to understand additional costs and limitations for each type of license before they plan to use them.

In addition to these main offerings, NetSuite has many smaller optional packages available as add-ons. Here are the most popular of those add-ons or full-blown custom solutions:

  • SRP: NetSuite's Services Resource Planning features are geared toward companies that send people out in the world instead of selling products.

    This includes Project and Resource management features, Advanced Timesheets and Expenses, and the specialized accounting options they require.

  • SuitePeople: This is the extension of NetSuite's native Human Resources features for companies that have more than a few hundred employees, or just have more complex employee management requirements (depending on their locale and industry).

    NetSuite now refers to this as Human Capital Management.

  • SuiteBilling: Just announced a few years ago, this is the advanced Billing package NetSuite offers to companies who need to support subscriptions or contracts and such.

    NetSuite has consolidated its billing features under this heading, replacing what used to be known separately as either the Contract Renewals bundle or Subscription Billing.

    This is typically used by companies in the Software vertical.

  • Advanced Revenue Management: Any organization that needs to control its revenue recognition or uses billing schedules can take advantage of this package.

    This is also typically used by software companies since their product sales are not as simple or direct as physical item companies, and they must adhere to relevant accounting principles.

  • Advanced Inventory Management: NetSuite offers what most smaller companies need to keep track of the items they purchase and sell in the basic, starter package, but for companies with multiple locations (warehouses or retail stores) or those that want to offer items for sale with more complicated pricing schemes, the Advanced Inventory module is required.

    And then there are a few other companies that NetSuite has acquired that offer separate products any company can sign up for. Some of these are also integrated with NetSuite ERP to various degrees.

  • Bronto: NetSuite acquired Bronto, a provider of email marketing products and services, in 2015.

    Any NetSuite client who requires more in this area than the native marketing emails features offered can take advantage of the Bronto mail, mobile, and social marketing options.

  • OpenAir: For companies that want even more in the realm of service management, NetSuite offers a product they acquired in 2012 called OpenAir.

    This is a full SRP package in a separate UI that companies can either use in conjunction with NetSuite ERP/CRM or can be sold as a standalone product.

    It includes timesheets and expense reports, as well as management dashboards and reports.

  • NetSuite SuiteCommerce In-Store: Starting around 2010, RetailAnywhere offered an in-store retail Point-of-Sale (PoS) system and NetSuite acquired them in 2013. Since then, Oracle sells this offering as NetSuite SuiteCommerce In-Store.

This solution integrates a point-of-sale terminal (tablets, cash registers, and so on) with your NetSuite financials, inventory, and order management for a seamless experience.

Other ways NetSuite is enhanced

There are many, many more options available to every NetSuite client (far too many to list here). In a typical sales process, NetSuite's salespeople will work to understand the business' industry and specific needs and then recommend just the right list of features and options to be included in each client's package. In all cases, NetSuite tries to recommend what they refer to as the leading practice; that is, the set of native and predefined features and components available off the shelf, versus a custom solution for each client. That same approach should be applied to implementations as well, as we'll explain later. Most of the time, those features and options will come directly from NetSuite. However, the system of partners and other third-party application developers for the NetSuite SuiteCloud Platform has grown significantly over the years, so solutions can come from these folks as well.

Important Note

When we talk about the NetSuite SuiteCloud platform, or sometimes just the Platform, we're talking about the customization and integration options designed for the NetSuite product, which allow us to extend the native feature set as we need. NetSuite's designers built features such as custom scripts, workflows, and web services into the product since they knew that a modern application can rarely stand entirely on its own. So, the Platform includes all of these additional options, such as SuiteScript, SuiteFlow, SuiteTalk, and SuiteAnalytics Connect, which we'll talk about next and then in the implementation context in the last few chapters of this book.

Today, many very important tools and applications are only available from partners via the SuiteApp.com website or the SuiteApp Marketplace within every NetSuite account's UI. Think of this as the app store for NetSuite clients who want to add new functions to their NetSuite accounts without building the customization themselves – which is generally a good idea. These partner solutions are in use already and have been tested by many other clients, which means they offer higher reliability and ROI.

Here are a few good examples of the most popular SuiteApps today:

  • Avalara : AvaTax: In the US, tax laws vary from state to state and Avalara makes keeping your sales in line with them all a piece of cake.

    The AvaTax package can be installed in an account and adds improved tax-related records and fields to Sales and other screens where needed.

  • Boomi: Dell's Boomi service is a large-scale data middleware provider that makes it easier than ever to connect NetSuite to any external service that doesn't already have its own NetSuite connector yet.
  • eMerchant services: Provides credit card processing and more for payment services.
  • Expensify: Provides advanced employee expense management with tight integration into the NetSuite product for any type of business.
  • Pacejet: Provides shipping and logistics integration, extending NetSuite's native features with things such as real-time rating and advanced package management.
  • StrongPoint: For those who maintain one or more NetSuite accounts, with all of the many settings and features and with many people possibly making changes all the time, you need a change management process for keeping track of the current configuration and customizations – and that's what StrongPoint's tools help with.

    The StrongPoint spider searches throughout an account and automatically catalogs all custom objects, scripts, and so on, and notices when they change.

The key with all of these SuiteApps is that they are provided by third parties and so a separate Purchase & Contract is needed in each case. You can check out all of the available apps at SuiteApp.com or check out the relatively new SuiteApp Marketplace within the NetSuite UI. Reach out to those other companies for more information. For more complex SuiteApp solutions, NetSuite clients will need a separate services contract and support agreement with the app's provider. Keep this in mind when you're scheduling an implementation!

Important Note

It's important to say here that as a NetSuite consultant, one key aspect of your job is to make sure your clients know about all of the viable options available for solving their problems, including all of the SuiteApps out in the marketplace. Depending on how your business is set up, you may also recommend some solutions in particular, but ultimately, the client has to make the final decision on which to contract with, for the good of their business. Work with your company's people and the client's management to guide them to the right choice – the one that will serve them best in the long run.

Now that you know a bit more about the NetSuite product and the options we have for enhancing its features, we'll explain a little about what we should do when those options are not enough to meet a client's full requirements. This is where customizations come into play.

 

The NetSuite SuiteCloud platform

When none of the earlier options will satisfy a particular client requirement and they are adamant that their business cannot function without it, then customization built with the SuiteCloud platform will be needed. We usually refer to these as gaps in the client's requirements since they are not covered by native NetSuite features, including simple custom configurations or any existing partner solutions.

In these cases, you can help the client define their requirements and then design a customization to satisfy them. Depending on the complexity of the gap, this can mean a short delay while the custom solution is created, or it can sometimes become the largest chunk of work being completed by the implementation team. We'll discuss these types of customizations in Chapter 18, Managing Gaps and Creating Custom Automations, but for now, just note that you should always work with the client to find acceptable workarounds to avoid having to create a custom solution on the NetSuite platform. I spend most of my time at NetSuite designing and building this kind of customization as I work with my clients, but I only do this after exhausting the easier/faster options. Nobody wants to delay the client from going live, so avoiding customizations whenever you can is very important.

Again, though, sometimes, you just have to customize NetSuite. And that's why it's a very good thing that the system's architects have given us the toolset we have today.

SuiteBuilder

This feature includes custom records and fields, subtabs, and sublists. With these, we can add a custom table for things such as warranties or shipment packages, built just right to suit the client's needs.

This also includes things such as custom segments for when departments, classes, and locations are not enough. And we can use custom transactions for those rare times when the native transactions don't allow enough flexibility or a client has some other special requirement.

SuiteScript

Scripts are automations or customizations that allow almost any custom logic to be triggered just when you need it:

  • Client side: In the browser, whenever a page is first loaded, a field value changes, a line is added to a list, and so on.
  • Server side on a user event: These are a little more limited in their triggering moment, including before the page loads (beforeLoad), after the user clicks Save but before the data is written to the database (beforeSubmit), and after the data is committed to NetSuite (afterSubmit).
  • Suitelets and RESTlets: These scripts allow you to create custom UI pages as needed or make microservices that are listening for requests coming into NetSuite from other external sources.
  • Scheduled and Map/Reduce: These background processes run on a predefined schedule, such as once per day or every 2 hours, for those times when you need some data to be updated, but it's not urgent.

And then there are a few miscellaneous options, scripts for creating custom dashboard portlets, scripts that affect the outcome of a mass update, and so on.

One common reason for creating a script comes up when a client wants to limit native fields, for instance. In those cases, NetSuite doesn't let us use the configuration screens to directly control native fields the way it does custom fields, so we typically write a script to change the behavior of the field instead.

SuiteFlow

This is NetSuite's custom workflows, configured with a point-and-click interface in the same NetSuite UI we use every day, allowing more control over things such as approval processes, email notifications, and simple validation/error handling.

For instance, if a client wants a warning to be displayed whenever a quote is saved without two fields being populated, a workflow can do that easily.

Most intermediate to advanced NetSuite users can learn to create these when needed, so they're NetSuite's no-code alternative to writing scripts.

But just note that for now, if you don't know what you're doing, it's also easy to create a workflow that harms performance or worse, causes a NetSuite screen to misbehave. For all of these SuiteCloud tools, getting trained first is a really good idea to avoid this kind of trouble.

SuiteTalk (SOAP and REST)

NetSuite introduced SOAP web services many years ago, and nearly all of the large-scale connectors of the product use it today. SuiteTalk is essentially a service within the NetSuite cloud, always listening for requests to be sent to it, which can then react to those requests in a predefined way.

For instance, if your third-party web store needs to tell NetSuite that an order was just placed, you could develop the SOAP calls to do this, and NetSuite would react by creating the matching order in the NetSuite database.

SuiteTalk integrations are always created outside of NetSuite, so you need a server of some sort for them to run on. NetSuite doesn't say anything about that, so you have a world of options in that regard.

More recently, NetSuite introduced the REST API, which works a little differently from the SOAP interface but serves the same purpose. Whereas SOAP messages are sent in XML format, REST uses JSON, so this might be familiar to more folks today.

SuiteAnalytics Connect

The overall SuiteAnalytics feature includes all of the native reports, datasets, and workbooks. Those things are all great if you're already working in the NetSuite UI, but that's not always true for all the employees of a typical NetSuite client.

Connect is an ODBC/JDBC/.NET connection that you can use to extract data from a NetSuite account to any external database or data warehouse. This is a good option for when you want to pull data out of NetSuite regularly.

A common example would be a client with the need to export all inventory and sales order data from a NetSuite instance into a data warehouse so that they can slice and dice the data for custom reports.

 

Summary

In this chapter, you learned how NetSuite is set up and works, how the company is organized, and have an understanding of what you can do with the NetSuite product.

Armed with this knowledge, we can explore the first steps we must take in implementing clients on NetSuite – the methodology we will use and how we can apply it in the real world.

 

Self-assessment

I'm going to include this section at the end of every chapter. This will allow you to think about the topics that were covered and see how they apply to your work:

  1. When does a company need to move up from the base tier in NetSuite to a more premium version? Have you worked with a client who has needed this?
  2. If you create something custom in a Sandbox, what's the easiest way to move it into the Production account?
  3. What is the difference between SuiteCommerce Advanced and SuiteCommerce InStore? What are the benefits of each product and what kind of company should purchase each option?

About the Author

  • Peter Ries

    Peter Ries is currently employed as a consulting technical director at Oracle NetSuite. He has been providing high-quality consulting for innovative software solutions for many years.

    He enjoys solving problems, developing new software tools, and integrating applications to make his clients' businesses run on NetSuite. He works with all sorts of up-to-date technologies and loves the fact that he can continue to do so. When he is not working, he likes to read a lot, blog, and ride bikes as much as time allows.

    Browse publications by this author
NetSuite for Consultants
Unlock this book and the full library for $5 a month*
Start now