35,99 €
ERP and CRM consultants can effectively implement NetSuite for a client organization with the aid of NetSuite for Consultants, revised with the latest features and best practices for NetSuite 2023.
After reading this book, you’ll have a thorough understanding of how to configure the NetSuite ecosystem for any business. You’ll learn how to apply new features such as the Manufacturing Mobile application, NetSuite budgeting features, and tools for handling rebates and trade promotions. This edition also includes expanded coverage of technical topics such as SuiteQL and the SuiteTalk REST API.
Understanding what a business requires is a crucial first step toward completing any software product deployment, and this NetSuite guide will teach you how to ask meaningful questions that ascertain which features, basic and new, you will need to configure for your client.
Most importantly, you’ll not only learn how to perform a NetSuite implementation; you'll also learn how to prepare clients to use the software confidently, which is the true test of a great consultant.
Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:
Seitenzahl: 561
Veröffentlichungsjahr: 2023
Preface
Who this book is for
What this book covers
To get the most out of this book
Get in touch
Section I: The NetSuite Ecosystem, including the Main Modules, Platform, and Related Features
Introduction to the NetSuite Ecosystem, Platform, and Related Features
NetSuite the company, NetSuite the product
NetSuite editions, features, accounts, and centers
NetSuite accounts
Production accounts
Sandbox accounts
Development accounts
Release Preview accounts
Data in NetSuite accounts
Sandbox refreshes
How NetSuite is updated
NetSuite people – sales, support, and services – and partners
NetSuite’s product offerings
Other ways NetSuite is enhanced
The NetSuite SuiteCloud platform
SuiteBuilder
SuiteScript
SuiteFlow
SuiteTalk (SOAP and REST)
SuiteAnalytics Connect
NetSuite’s mobile apps
Summary
Self-assessment
Selecting and Applying an Implementation Methodology
What is a methodology and why do we need one?
Selecting from the different approaches
The waterfall method
The agile method
Adapting the methodology to each client
Starting with waterfall, applying agile when necessary
Summary
Self-assessment
Creating a Project Plan
What goes into a project plan?
Setting project goals
Defining the tasks in the project plan
Conference room pilots, walkthroughs, and testing
Applying your methodology to the project plan
Living with the plan as changes occur
Summary
Self-assessment
Section II: Understanding the Client’s Organization
Documenting the Organization’s Requirements
Understanding the organization’s industry
Manufacturing
Miscellaneous
Not-for-profit
Retail
Software
Services
Wholesale/distributor
Understanding the organization’s business and people
The main point of contact is sometimes called the project manager
The subject matter experts
The users/testers
Other project helpers
Use case – differences between a wholesale distributor and a software company
Gathering requirements and interviews
Project kickoff
Business process reviews
Demos, conference room pilots, and walkthroughs
User Acceptance Testing (UAT)
Go-live
Documenting requirements
Summary
Self-assessment
Analyzing the Organization’s Users and Roles
Understanding departments, teams, managers, and users
Accounting
Accounts payable
Accounts receivable
Administrators/upper management
Information technology
Sales
Support
Warehouse
Grouping people with roles in NetSuite
Does the user need to view, create, edit, or fully manage a given record or list?
Which custom records does the role need access to?
Which reports will the role need access to?
What do you want the role’s dashboard to have on it?
Which forms and searches should be the role’s preferred versions?
Creating and managing employees
Grant access
Assign roles
Set up their supervisor
Set up their expenses and other approvals
Managing users with multiple roles
Summary
Self-assessment
Understanding the Organization’s Accounting and Finance
Enabling features and setting up the accounting basics
Defining the general ledger and Chart of Accounts
Setting up segmentation—subsidiaries, locations, departments, and classes
Subsidiaries
Locations
Departments
Classes
Custom segments
Understanding the Accounts Payable feature
Understanding the Accounts Receivable feature
Use budgeting to plan and control finances
Summary
Self-assessment
Getting to Know the Organization’s Entities and Items
Differentiating client leads, prospects, and customers
Implementing customer projects and resources
When to use contacts versus sub-customers
Managing vendors, partners, and other entity types
Identifying items and their types
When we use special-purpose items
Lot numbered items
Serial numbered items
Matrix items
Other charges
Summary
Self-assessment
Identifying the Organization’s Main Transactions
Grouping records by business process
Gathering requirements for RTR transactions
Gathering requirements for PTP transactions
Gathering requirements for OTC transactions
Analyzing the other process groups
Design to build
Lead to quote
Call to resolution
Hire to pay
Marketing to ROI
Revenue recognition
Return to Credit (RTC)
Project to delivery
Web to order
Summary
Self-assessment
Section III: Implementing an Organization in NetSuite
Custom Forms, Records, and Fields
What is SuiteBuilder and when should you use it?
Customizing the entry and transaction forms
Removing fields the users do not need to see or will not use
Adding fields the users need that were not included out of the box
Rearranging the fields and lists on the form
Enabling related features and settings
Storing the form with the record
Actions
Roles
Using custom record types to store additional non-standard data
Defining custom lists and fields
Checkbox versus list
Single-select lists versus multiple-select lists
Image versus inline HTML
Change management for all your custom objects
Requirements or use cases
Issues or defects
System change
Summary
Self-assessment
Centers and Dashboards
Setting up native centers
Customer center
Employee center
Partner center
Vendor center
Using custom centers for even greater control over the UI
Use case – setting up and using the Customer center
Setting up dashboards for groups by role
Summary
Self-assessment
Items and Related Lists
Enabling item types, inventory management options, and so on
Defining the item forms and fields
Defining purchase prices and sales pricing for items
Setting up matrix item types and item options
Setting up other item types as needed
Description
Discount
Assembly items versus item groups versus kits
Other charges
Subtotal
Special feature: Supply Chain Control Tower
Summary
Self-assessment
Customers, Vendors, Contacts, and Other Entities
How to set up customers in the account
Duplicate records
Bad addresses/phone numbers
Records that are otherwise invalid
Do you need contacts, and should you create them?
Defining vendors for positive PTP processes
Multiple subsidiaries
Addresses
Financial considerations
Vendor bill/three-way matching
Setting up competitors, partners, and other entities
Managing projects and resources
Summary
Self-assessment
Financial Transactions and Period Closes
Setting up and using the GL
Implementing currency management
Customer and vendor currency lists
Exchange rates for multiple currencies
Setting up and using banking features
Using Journal Entries
Reversals
Advanced versus normal Intercompany Journals
Revenue Recognition
Elimination
Statistical journals
Performing and managing Period Closes
Manage accounting period
Override period restrictions
Overview of NetSuite’s tax features
Summary
Self-assessment
Procure-to-Pay Transactions
Using Requisitions, Purchase Requests, and Purchase Orders
Managing Special Orders and Drop Ship Orders
Utilizing Inbound Shipments and processing Item Receipts
Planning for and using Vendor Bills
Tracking Vendor Prepayments and making Vendor Payments
Processing Vendor Returns and Vendor Credits
Summary
Self-assessment
Order-to-Cash Transactions
Using Opportunities and Estimates before sales
Recording sales via Sales Orders and Cash Sales
Bulk/blanket orders and Order Guides
Drop Ship Orders/Special Orders/Special Work Orders
E-commerce Sales Orders
Project/service deliverables
Promotions
Revenue recognition
Managing Item Fulfillments for sales, transfers, and returns
Making the most of invoices
Entering Customer Deposits and Payments
How to track Return, Credit, and Refund transactions
Summary
Self-assessment
Other Transactions and Custom Transactions
Using Work Orders and Assembly Builds for manufacturers
Assembly Items
Work Orders
Assembly Builds
WIP/Manufacturing Routing
Managing revenue recognition with Advanced Revenue Management
Advanced Revenue Management
Revenue recognition rules
Revenue recognition plans
Revenue Arrangements
Revenue allocation
Amortization
Using Cases and Issues for customer support
Creating custom transactions for special sales and purchases
Summary
Self-assessment
Analytics, Reports, and Data Exports
Using searches and views to find information
Creating reports for in-depth analysis
Utilizing datasets and workbooks to look even closer
Linking datasets for even more flexibility
Creating exports with SuiteAnalytics Connect
Summary
Self-assessment
Section IV: Managing Gaps and Integrations
Managing Gaps and Creating Custom Automations
Identifying gaps and needs for automation in requirements
Customizing NetSuite processes with workflows
Making NetSuite work for you with scripts
Client scripts
User Event scripts
Scheduled and Map/Reduce scripts
Suitelets and RESTlets
Documenting customization requirements and solutions
Managing customizations over time, including their deployments
Summary
Self-assessment
Managing Integrations
Talking to clients about integrations
Talking about data preparation for integrations
Collecting information about and documenting integrations
Managing data coming into NetSuite
Option 1 – SuiteScripts
Option 2 – SuiteTalk SOAP
Option 3 – SuiteTalk REST
Option 4 – SuiteScript RESTlet
Creating custom exports from NetSuite
Summary
Self-assessment
Managing Data Migrations
Planning for the data migration process
Performing imports for data migration testing and other reasons
Testing the data in phases
Data migration performance
Planning the cut-over activities
Migrating inventory and trial balances
Performing the final data imports before going live
Summary
Self-assessment
Appendix: My Answers to Self-Assessments
Other Books You May Enjoy
Index
Cover
Index
NetSuite for Consultants
Second Edition
Your comprehensive guide to becoming a successful NetSuite consultant in 2023
Peter Ries
BIRMINGHAM—MUMBAI
NetSuite for Consultants
Second Edition
Copyright © 2023 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
Senior Publishing Product Manager: Ashitosh Gupta
Acquisition Editor – Peer Reviews: Tejas Mhasvekar
Project Editor: Namrata Katare
Content Development Editor: Matthew Davies
Copy Editor: Safis Editing
Technical Editor: Karan Sonawane
Proofreader: Safis Editing
Indexer: Pratik Shirodkar
Presentation Designer: Ganesh Bhadwalkar
Developer Relations Marketing Executive: Monika Sangwan
First published: November 2021
Second edition: May 2023
Production reference: 1240523
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham
B3 2PB, UK.
ISBN 978-1-83763-907-6
www.packt.com
Peter Ries is a consulting technical director at Oracle, where he has provided technical guidance for NetSuite implementations since 2012. For many other software companies, he has been designing solutions and solving difficult business problems for over twenty years.
He enjoys learning about people and businesses, developing software, and integrating systems to improve business processes. When he is not working, he spends time with family and friends, reads a lot, and listens to music.
I would like to thank my family for their love and support, and all of the hard-working, generally underappreciated consultants and others at NetSuite who’ve helped me succeed over the years. Special thanks to Alan Jenkins and Rich Fiorella for reviewing the first edition of this book, and Bhagya Sodem for steering me in the right direction multiple times early on in my NetSuite career.
Julio C. Hernandez is an experienced IT consultant with more than 30 years in the IT field. He started as a junior report writer for Unisys, Guatemala and later became an implementation specialist their Unisys leading products at that time; such as Unisys Finesse 2000 and Unisys Counselor 2000. Julio joined the Latin American and Caribbean division of Unisys Corporation Co., participating in several implementation projects in Colombia, Venezuela, the Dominican Republic, Peru, and Puerto Rico.
After that, Julio was transferred to the Asia-Pacific division for a special project in Australia. He was involved in the implementation process of the NetSuite ERP application, later becoming part of the team and then team leader. He then progressed to become a project manager.
Naman Udeshi is originally from Mumbai, India where he started his career as a NetSuite consultant in 2015. He has a Master of Science degree in Information Systems from Georgia State University. He now works as a senior principal consultant at Oracle NetSuite. He works on numerous different implementation projects to help clients of all sizes across different industries get up and running on NetSuite.
To join the Discord community for this book – where you can share feedback, ask questions to the author, and learn about new releases – follow the QR code below:
https://packt.link/UytqI
NetSuite was created in 1998, in Northern California, from a desire to bring small- and medium-sized business processing into the internet age. A few people who worked for Oracle at the time wanted to create a CRM and ERP product you could run in your web browser without ever having to install anything in your offices. They received seed money for this new company, and embarked upon their 20+ year journey to making the set of products we use today.
I began working for NetSuite in 2012 as a technical consultant, delivering customizations and integrations for clients who were just about to go live on the platform. I’ve been working at that ever since, and one thing I’ve learned is that every business is unique and brings its own challenges when it comes to implementing NetSuite. At the same time, however, all companies share a few common traits when it comes to introducing them to the NetSuite line of products.
With this book, I hope to share what I’ve learned about helping clients use NetSuite. I’d like to think I can help make the process of getting a company up and running on NetSuite less painful and faster than it might otherwise be. I hope you find this useful and will engage with me and the rest of the NetSuite user community in online discussions regarding this topic.
This book has two intended audiences. One is people who work for a company that helps other businesses implement NetSuite. We generally refer to those companies as NetSuite partners or vendors, or sometimes system integrators. They have lots of people on staff whose job is to work with NetSuite client companies and help them get started on the platform. These folks need to learn more about NetSuite and how to work with clients.
The other audience for this book is anyone working at a NetSuite client company who needs to help their users do more with the product – or maybe they’re considering whether they could self-implement without the help of a partner. This will always be a large, challenging task, but you might feel more confident about taking this on after reading this book.
Chapter 1, Introduction to the NetSuite Ecosystem, Platform, and Related Features, is where we start, with an explanation of what NetSuite is all about and what you can do with it.
Chapter 2, Selecting and Applying an Implementation Methodology, covers implementation project methods and how to select the right one for every client.
Chapter 3, Creating a Project Plan, discusses what a NetSuite implementation project consists of and how you can schedule your time.
Chapter 4, Documenting the Organization’s Requirements, covers all of the challenges of gathering requirements and techniques you can use to streamline the process, which is the most important step at an early phase in every implementation.
Chapter 5, Analyzing the Organization’s Users and Roles, explains how people make the system work, and so we need to understand who they are and what they will do in the system.
Chapter 6, Understanding the Organization’s Accounting and Finance, delves into the accounting and finance functions in a NetSuite account to help you learn how to work with these users to understand their needs.
Chapter 7, Getting to Know the Organization’s Entities and Items, talks about gathering requirements relating to the business entities, items and projects and how important they are to the rest of the implementation process.
Chapter 8, Identifying the Organization’s Main Transactions, covers the transactions that are a day-to-day operational need for most businesses. You’ll learn how to talk to clients about the transactions they will use the most.
Chapter 9, Custom Forms, Records, and Fields, moves on from requirements gathering to the first steps we usually take when configuring an account to work as the client needs it to.
Chapter 10, Centers and Dashboards, covers how, given that organizing the data and activities in an account for users is an important task for the implementation team, you can set up the home screen and other areas for maximum efficiency.
Chapter 11, Items and Related Lists, details how to help a client get items and related lists set up correctly the first time, whether you’re tracking inventory items or services.
Chapter 12, Customers, Vendors, Contacts, and Other Entities, covers how the entity lists in NetSuite allow us to keep track of all the other companies we do business with. Getting them set up well requires a solid understanding of your client’s requirements plus the native NetSuite features.
Chapter 13, Financial Transactions and Period Closes, covers how to configure and train your users on financial transactions – journal entries and such.
Chapter 14, Procure-to-Pay Transactions, covers purchasing transactions and everything you need to know about all of the options available in NetSuite.
Chapter 15, Order-to-Cash Transactions, covers all the native transactions in the order-to-cash business process.
Chapter 16, Other Transactions and Custom Transactions, addresses a couple of special use cases, not having the room to cover all of the many transactions that NetSuite supports, to explain how we handle unusual conditions when we need to.
Chapter 17, Analytics, Reports, and Data Exports, goes into all of the amazing options we have for reporting on our data within the product, including information on SuiteQL.
Chapter 18, Managing Gaps and Creating Custom Automations, covers NetSuite’s SuiteCloud platform, and all of the amazing customizations and automation we can create with it to fine-tune the suite to work for each client.
Chapter 19, Managing Integrations, explains the basics of integrations, which allow us to bring outside data into the system, or export our NetSuite data elsewhere, although a lot of experience is required to know how to handle this well.
Chapter 20, Managing Data Migrations, explains how to plan for a migration, test it to ensure your success, and pull it off as part of the client’s go-live process.
You should have access to a NetSuite account in order to follow along with each chapter. Access to the NetSuite Help system and SuiteAnswers, or the public documentation available at https://docs.oracle.com, will help a lot as well.
Every NetSuite account has different features enabled within it, so your account may not always give you access to all of the features shown in this book. When you can’t use a feature in your account, I hope the book explains its use sufficiently clearly.
After you’ve read this book, please visit the companion website at https://implementingnetsuite.com/ to follow the conversation or reach out to me.
We also provide a PDF file that has color images of the screenshots and diagrams used in this book. You can download it here: https://packt.link/UEXej
The text conventions used throughout this book are as follows:
Bold: Indicates a new term, an important word, or words that you see on screen. For instance, words in menus or dialog boxes appear in bold. Here is an example: “The following is a screenshot from NetSuite and is an example of a Requirements tracking record from the free, NetSuite-provided ONE Implementation Bundle.”
CodeInText: Indicates database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. For example: “As you are helping a client import their Employee list for the first time, the client asks if they can attach a custom record to employees.”
Warnings or important notes appear like this.
Tips and tricks appear like this.
Feedback from our readers is always welcome.
General feedback: Email [email protected] and mention the book’s title in the subject of your message. If you have questions about any aspect of this book, please email us at [email protected].
Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you reported this to us. Please visit http://www.packtpub.com/submit-errata, click Submit Errata, and fill in the form.
Piracy: If you come across any illegal copies of our works in any form on the internet, we would be grateful if you would provide us with the location address or website name. Please contact us at [email protected] with a link to the material.
If you are interested in becoming an author: If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit http://authors.packtpub.com.
Once you’ve read NetSuite for Consultants - Second Edition, we’d love to hear your thoughts! Please click here to go straight to the Amazon review page for this book and share your feedback.
Your review is important to us and the tech community and will help us make sure we’re delivering excellent quality content.
Thanks for purchasing this book!
Do you like to read on the go but are unable to carry your print books everywhere? Is your eBook purchase not compatible with the device of your choice?
Don’t worry, now with every Packt book you get a DRM-free PDF version of that book at no cost.
Read anywhere, any place, on any device. Search, copy, and paste code from your favorite technical books directly into your application.
The perks don’t stop there. We also offer exclusive access to discounts, newsletters, and great free content in your inbox daily.
Follow these simple steps to get the benefits:
Scan the QR code or visit the link below:https://packt.link/free-ebook/978-1-83763-907-6
Submit your proof of purchase.That’s it! We’ll send your free PDF and other benefits to your email directly.In this section, we will understand what NetSuite is, how it works, and how accounts, support, updates, and so on work within its ecosystem. We will also learn how to select an implementation project methodology and how to plan the work within a project.
This section has the following chapters:
Chapter 1, Introduction to the NetSuite Ecosystem, Platform, and Related FeaturesChapter 2, Selecting and Applying an Implementation MethodologyChapter 3, Creating a Project PlanWelcome 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. We’ll provide some of those details in this chapter, before we dig into all the remaining details in the rest of the book.
In this chapter, we’re going to cover the following topics:
NetSuite the company, NetSuite the productNetSuite editions, features, accounts, and centersNetSuite people – sales, support, and services – and partnersThe NetSuite SuiteCloud PlatformNetSuite’s mobile appsThis chapter will introduce you to all those topics and more, ensuring you go down the right path to NetSuite consulting.
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. At that time, only larger enterprises were offered a single application offering – everything a company would need to run its 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 up and maintain. When companies outgrew QuickBooks, they had to move up to the larger, on-premises-installed applications. The market was not geared toward 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 your account will always be online, 24 hours a day, every day.
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 its own records. Companies that require greater performance can purchase premium 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: https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/subsect_159162378384.html.
Each NetSuite client can have access to one or more NetSuite accounts, which is a separate instance of the NetSuite system they can work in. Next, we’ll cover the different types of NetSuite accounts and how each can be used: Production, Sandbox, Development, and Release Preview.
When an organization signs up for NetSuite, they 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
Let’s quickly talk about each of them.
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.
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, they then have a separate database reflecting the changes that were made in the Sandbox account. One way to move things from a Sandbox’s configuration to a Production account is via the Copy to Account feature, which we’ll talk a bit about in Chapter 18, Managing Gaps and Creating Custom Automations.
One other big difference with Sandbox accounts is that they don’t send emails to their intended addressee. Instead, they are redirected either 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.
With each Sandbox a client purchases, NetSuite provides three additional accounts of this type. They have a separate database as well, but they are never 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.
Just before NetSuite’s biannual 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.
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 Sandbox accounts 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 re-import 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.
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.
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, at the time of writing, clients will be updated to 2023.1 in April and 2023.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 is known as either e-fixes or hot pushes. An e-fix is 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.
You can find the revision number; it’s just not in an obvious place. Sign in to NetSuite, right-click the home page in your web browser, and select 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 [ 2022.2.0.96 ] --> <!-- COMPID [ 1234567 ] URL [ /s.nl ] Time [ Sun Jan 10 15:36:03 PST 2023 ] --> <!-- Not logging slowest SQL --> 2022.2.0.96In 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 was founded in northern California but now is truly a global organization. Oracle’s headquarters 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 and 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, ensuring that 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.
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 eCommerce 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 are needed!)SiteBuilder is the simpler, legacy product, and SuiteCommerce and SuiteCommerce Advanced (SCA) are the current basic and full-featured eCommerce offerings.
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 Lite and Advanced versions, 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 warehouse 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.The Customer center allows a client’s customers to directly sign in to a limited version of the NetSuite UI and place orders, review invoices, or see the status of previously placed orders.
The 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.
The Employee center allows a simplified UI for a client’s employees; typically, these are the people who do not otherwise sign in to NetSuite. This can make it easy for them to submit time-off requests or expense reports, for instance.
All these centers require additional (and very limited) licenses to be purchased. For this reason clients should first consult the NetSuite sales team, who will allow them to understand additional costs and limitations for each type of license before they plan to use them. We’ll look at these again in more detail in Chapter 10, Centers and Dashboards.
In addition to these main products, NetSuite sells the system via a few important editions. Those editions fall into two main categories: Financials First and starter editions. Financials First is what you want if you’re a growing company, looking to nail down your accounting, finances, and CRM with NetSuite at first. This option allows a company to start using NetSuite very quickly with the basics – Journals and Invoices, Customers and Vendors – but then build on success over time to add additional features as they need. The starter editions are more feature-rich and industry-specific. NetSuite offers starter editions for advertising, consumer packaged goods, manufacturing businesses, non-profits, and much more. Companies can start with either edition and then grow to use more NetSuite features over time.
In addition to the starter editions, some businesses need extra functionality right from the start. Here are a few of the most popular add-ons or custom solutions some companies choose to start using from day one:
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: 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.Oracle CX Cloud: Marketers and advertisers need advanced features when it comes to getting their message in front of consumers, and this advanced offering from Oracle can help with that process. (This module replaces the previous NetSuite offering, Bronto, which was strictly about marketing via email.)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 Planning and Budgeting: NSPB allows finance departments to focus on the future by giving them a single place to perform detailed budgets and forecasts, model what-if scenarios, and generate related reports. These users will love the collaborative features that support the development and approval of budgets and forecasts.NetSuite SuiteCommerce InStore: Starting around 2010, Retail Anywhere offered an in-store retail Point-of-Sale (PoS) system, and NetSuite acquired them in 2013. Since then, Oracle has sold this offering as NetSuite SuiteCommerce InStore. This solution integrates a PoS terminal (tablets, cash registers, and so on) with your NetSuite financials, inventory, and order management for a seamless experience. SuiteCommerce is the web store component and SuiteCommerce InStore is the PoS component; they can be used together or separately.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 a business’s 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.
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 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: The 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 to keep track of the current configuration and customizations – and that’s what StrongPoint’s tools help with. The StrongPoint spider searches through an account and automatically catalogs all custom objects, scripts, and so on, and notices when they change.The key with all these SuiteApps is that they are provided by third parties, and so a separate Purchase & Contract is needed in each case. As well as the SuiteApp website, you can 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!
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 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, 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.
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 situations 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.
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.
Scripts are automations or customizations that allow almost any custom logic to be triggered just when you need it:
Client side: In the browser, this is used 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 data is written to the database (beforeSubmit), and after data is committed to NetSuite (afterSubmit).Suitelets and RESTlets: These scripts allow you to create custom UI pages as needed or make microservices that listen 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 that comes up is 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.
This is NetSuite’s custom workflow, 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 these SuiteCloud tools, getting trained first is a really good idea to avoid this kind of trouble. We will cover SuiteFlows in more detail in Chapter 18, Managing Gaps and Creating Custom Automations.
NetSuite introduced SOAP web services many years ago, and nearly all 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.
