What is NetSuite – Customizations

There are multiple ways to customize NetSuite, and while the list below is not all encompassing it should give you a good idea of what types of customizations are available and how you use them. If you would like to learn more about any of these areas you can check out the Where to go from here article in this series.

Fields, Forms and Records: These are normally the first customizations you will make in NetSuite during implementation and are by far the simplest. Customizing fields typically refers to creating new fields on an existing record thus creating a place to store data you want to keep when NetSuite does not provide a native location for that data. An example might be storing a customer’s Facebook or LinkedIn URL on their customer record. Since NetSuite does not provide a native location for this, you could create a custom field that would be stored with each customer. Forms are the primary locations in NetSuite where you enter and access data at a granular level. You can customize how the forms look, what order fields are listed on forms, and some of their behavior. One example of this might be creating several customer forms, so that one form could be used by your sales department to quickly enter the customer data they have, and another form could be used by your marketing department to gather extra data about customers and make marketing decisions, with each form having a layout that is specifically customized to accomplish the primary goal of the users who use that form. Records are another form of customization that allows you to capture information that NetSuite may never have thought about capturing that is unique to your business. For example if you were using NetSuite at a law firm you might create a custom record for each of the other attorneys your firm has gone against, listing specific attributes of those attorneys so that you would know how to help future clients who’s opposing counsel you have gone against in the past. Each of these custom records would have custom fields associated with it that would capture the data in a meaningful way.

Mass Updates: Mass updates, just like they sound are a way to perform a large number of updates across a set of records in an easily scripted and deterministic way; however do not let the term scripted fool you, as the updates are all created through a visual editor and generally do not require programming skill, however they do require some ability to think logically. Mass updates can be run as a onetime event or can be run on a recurring schedule. An example of a onetime event might be a mass update that reassigns customers to the correct sales rep after a company restructures its sales territories. An example of a recurring mass update might be an update that once a month looks at vendors and marks the custom field on the vendor for routine follow up where a purchasing rep then later unchecks the field during the month when they have followed up with the vendor, thus making sure that all vendors are contacted each month.

Imports and Exports: When you first start using NetSuite chances are that Imports will be the primary way that you get your initial data in. Whether you are moving from an existing system to NetSuite, or implementing NetSuite for a brand new company imports will be one large way that your initial data will be loaded into the system. This data can range from employees, customers, and vendors lists, to lists of transactions and journal entries, to imports of custom records, but in any of those cases the process is almost identical. The file will need to be in a CSV (comma separated values) format, and you will use NetSuite’s import tool to perform the import. During the import you will determine the mapping of the fields and data among other steps. Exports are one of the primary ways you will get data out of NetSuite, though in general you can expect the use of exports to go down as you get to know the system and begin to use integrations in place of exports. Still exports can be a great way to quickly grab data from the system. These are typically based on reports or saved searches, and what you see is what you are exporting.

Integrations: At some point most businesses will find there is a need to have the data they keep in NetSuite flow into another system or systems; this is where integration comes in. Integration, which NetSuite refers to as SuiteTalk, can be done between multiple cloud based systems such as using Salesforce for your sales and CRM procedures and using NetSuite for your back office procedures such as accounting, shipping and billing. Or integrations can be between on-premise systems and NetSuite such as an integration between a self-hosted website and NetSuite. In either of these cases, and many others, you will need a third party integrator, which can also be either a cloud based system or on premise software solution, and there are multiple vendors for each piece of software. To provide for integration there are a few methods you can use to get to your data. The first is SOAP and the second is REST. These are both web standards, and are both widely supported, though they operate in different ways. On NetSuite they send data in different ways as well, one using XML and the other using JSON Objects. Without going into the technical details of these two options it is at least good to know that this is how NetSuite supports moving data between other systems and itself.

Workflows: While NetSuite does a good job of capturing many standard business processes, each business is different, and while some processes in your business probably do not make that much of a difference to your bottom line, some processes more than likely define what you do and are even a strategic advantage. Workflows, which NetSuite refers to as SuiteFlow, are a way to capture those business processes in the system using a graphical design interface. There are as many different workflows as there are businesses, and probably more. One example of a workflow could be replacing NetSuite’s native sales order approval process. This workflow might take the discount percent into account, the length of the sales reps tenure with the company, the total dollar amount of the sale, and the country the sale is going to, and based on that information could then route the sales order for an automatic approval, or through one or more approval steps such as having various levels of supervisors approve the order, or having a legal team review the terms. Workflows are kind of a visual way to program NetSuite to do what you want it to do, and they can range from very simple to very complex. Workflows can interact with their environment by modifying records, using saved searches, triggering scripts and integrations, and even calling other workflows or performing other actions.

SuiteScript: If you really want to control the way NetSuite works you can use SuiteScript, which is NetSuite’s scripting engine. SuiteScript is basically JavaScript (at the ECMA 5 level), which despite having the name script in the language is actually very powerful, and supports most things you would expect a modern programming language to support, including functions and objects. There is also a full set of API’s (application programming interfaces) that provide you with access to the data in NetSuite in a programmatic way. SuiteScript allow you to do things ranging from controlling integrations and writing business logic, to creating an entirely new custom interface for NetSuite and pretty much everything in between. Scripts can be run in the users browser (client side), or can be run on NetSuite servers (server side); they can be set to run according to a schedule, can run based on events, or can run when they are called manually. There is so much more information about scripts that cannot be covered here, than there is that can; so if you are interested in scripts I recommend you spend some time familiarizing yourself with them using NetSuite’s help documentation. There is at least one caveat about programming for NetSuite, and that is that in some ways it is more difficult than programming on your own system since you do not control much of the execution. Overall though SuiteScript is pretty decent at what it does and it certainly extends the functionality of NetSuite far beyond what most businesses need.

Bundles: Bundles are basically a way to take a set of customizations, package them together and install then into another NetSuite account. This account may be one that your company owns, an affiliate company, or really any other company that runs NetSuite. You could easily provide these customizations to the general public, though most companies do not do this. Most of the bundles you will install and use will either be created internally by your staff and external consultants, will be provided to you from NetSuite or another company affiliated with NetSuite for free, or will be provided to you from NetSuite or another company affiliated with NetSuite for a fee. Bundles are typically simple to install and configure, so long as you take a few moments and review the documentation about the bundle itself.

Work Centers: These are basically the base look and feel of NetSuite, which includes the dashboards and the menus. Setting up work centers allows you to pretty easily setup a customized look and feel for NetSuite for different roles in your organization. For example you might typically use the classic center with an admin login for the work the administrator does, but you might decide that it would be better to create a custom legal work center for your legal department, and use the built in support work center for your support department. This way those departments would get menus that are customized to their own needs and the way in which their work typically flows. NetSuite does provide a number of custom work centers out of the box as well, such as those for support and accounting. Despite all of this, and though you might be tempted to customize work centers for each role in your company I would say this is generally a bad idea. While a case can be made for customizing each work center to the group of users who will be using it in larger organizations (companies with 500+ NetSuite users). For smaller companies it is generally better to use one work center across the entire organization.

Modules: Modules extend the base code of NetSuite, and are provided by NetSuite for a fee. The fee varies and is sometimes based on use, and sometimes a flat fee. Modules are in some ways very similar to bundles, in that they extend what NetSuite can do, however unlike bundles, modules are always installed by NetSuite and always have a cost associated with them. More importantly modules actually expand on the code base rather than install on top of it, which means that there is functionality that you can get with modules that simply could not be achieved with bundles.

While there are other customizations that are not listed here the bulk of customizations tend to fall in these categories, and this should provide you with a good overview of the customizations that are available in NetSuite.

Hopefully this article provided a good overview of the various customizations you can make in NetSuite. Feel free to leave a comment below and let us know what you think. This article is just one part of the What is NetSuite series available on this website.

Cheers
–Sam