Book Image

NetSuite for Consultants

By : Peter Ries
Book Image

NetSuite for Consultants

By: Peter Ries

Overview of this book

NetSuite For Consultants takes a hands-on approach to help ERP and CRM consultants implement NetSuite quickly and efficiently, as well deepen their understanding of its implementation methodology. During the course of this book, you’ll get a clear picture of what NetSuite is, how it works, and how accounts, support, and updates work within its ecosystem. Understanding what a business needs 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’ll be able to apply your knowledge to configure accounts and test everything with the users. You’ll also learn how to manage both functional and technical issues that arise post-implementation and handle them like a professional. By the end of this book, you'll have gained the necessary skills and knowledge to implement NetSuite for businesses and get things up and running in the shortest possible time.
Table of Contents (27 chapters)
1
Section 1: The NetSuite Ecosystem, including the Main Modules, Platform, and Related Features
5
Section 2: Understanding the Organization You Will Implement the Solution for
11
Section 3: Implementing an Organization in NetSuite
21
Section 4: Managing Gaps and Integrations
Appendix: My Answers to Self-Assessments

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.