Friday 5 August 2016

Netsuite Customization

Well, all organizations have their unique need and everyone wants to implement something different, thus where customizations comes in to picture.
Netsuite allows not only to leverage the core functionality of CRM & ERP but much more with customization.

Object level customization :
  • Lists & Fields :  These all are basically comes under object level customization. Lists allows you to create a list of values that you can use by attaching to anyof the record and it will be appear as a dropdown with your created set of list values in that record.
          e.g : Say, I want a list of product category to group different items based on category.
          T-shirts,Hoodies,Shirts,Trousers etc.
  • Fields : Customizing fields basically refers to creating fields on an existing record thus allocating some place to store your data for which NetSuite does not provide a native field type.
e.g : Say, I have a vendor and he wants to display his T&C in the webstore on the T&C page.   Since NetSuite does not provide a native storage for storing this information, we could  create a custom field of some type (depends on requirement) that would store with each vendor to accommodate his T&C.

Form level customization :
Forms are basically the UI interface in NetSuite where you enter and access data in more generic and user-friendly way. You can customize how your forms should look like, in what order your fields should appear on your forms. You also can group fields on the form to modularize it and there are lots more you can achieve.

e.g: 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.

Record level customization :
Record customazation allows to capture your unique bussiness requirement for which Netsuite doesn't provide any interface. You can create fields, customize forms and you can have total control over your custom record.

e.g: Say, You're implementing an Employee Leave management in Netsuite. You can create a custom record and define certain fields which can accomodate your business requirement.

Or say, you want to maintain a log for your script execution details. You can create a custom record with specific field types to cater your business needs.

Mass Updates:
Mass updates allows you to perform a large number of updates across a set of records in an easily time saving manner. Mass updates can be run as a onetime event or can be run on a recurring schedule.
Imports and Exports:
Imports & Exports are not new in data management, it is the primary way of data exchange in many business systems. In Netsuite, this data can range from employees, customers, and vendors lists, to lists of transactions and journal entries, to imports of custom records. The file will need to be in a CSV (comma separated values) format, and you will have to use NetSuite’s import tool to perform the import by specifying the correct mappings for the appropriate fields.

Integrations:
Many times a business needs to integrate with another external business systems to achieve its functional requirements. Netsuite integrations provides a flexible solution for multi tenant cloud based on premise data exchange between multiple cloud based systems such as Salesforce, Magento, Wordpress, Outlook,Bedrock data and many more. For integration between two external system/application Netsuite offers different methods. The first is SOAP(XML based approach) and the second one is REST(Restlet Netsuite version of server side Javascript). These are both web standards, and are both widely supported.

Workflows: 
Netsuite Workflow or Suiteflow enables you to automate the way of the application behaviour. Earlier, administrators had to use SuiteScript to provide automation in Netsuite(Before Workflow). Workflow can give you an appropriate way to set up complicated workflows with a graphical interface.

This can allow you to set up various workflows for different activities, like subscription updates. Workflow can also allow users establish reminders, customer notifications, tasks and sales processes (follow up tasks, mandatory data entry, rep notifications) and customer support processes (inactivity reminders, service level agreement enforcement and escalations).

The new graphical interface can easily automate almost every process. Another excellent feature while building a workflow is the Release Status field. This is visible on the Workflow Definition Page. With this Netsuite Workflow feature, you can define whether you want workflow to run in released mode, testing mode or not run.

When a workflow is just in testing mode, it will only run when the workflow owner allows it to run. In such cases, there won’t be any interruptions. A user can even use the Execution Log to notice certain actions and transitions which can or can not be executed during the run of the workflow.

Some of the key benefits of NetSuite Workflow are below:

Boost System Performance
Suiteflow has been popular for context multi-select feature. It can be used to stipulate different conditions under which the user should execute an action. For example, if the user creates a customer record, workflow used to perform this action may also print the copy for the sale rep’s files or send an email to the sales rep.
On the other hand, if the user is importing a batch containing over 100,000 customer records with a CSV import tool, he may not want the workflow to generate an email or print copies. With context multi-select from workflow, you can easily stipulate appropriate conditions under which certain actions need to be taken. It allows unnecessary workload on the network and servers.

Save Time
Workflow condition builder can be very useful in making individual workflows very useful in multiple situations. For example, instead of constructing many different workflows for submission of expense reports to various department heads, only one workflow can be used with multi-select conditions. The workflow would automatically choose the right approve on the basis of department or some other criteria.

Faster Troubleshooting
The logging tool includes more details like action parameters, events triggered, results of condition evaluations and more. Even when you’ve disabled logging, the errors will still be logged to provide extensive information on workflow execution. Both developers and business analysts troubleshoot with log viewer.

Build Reusable Workflows
With Netsuite Workflow, users can easily create individual workflows which can be reused whenever required. In other words, you can also avoid creating one huge workflow with many duplicate processes. This tool also makes sure workflow components can be matched and mixed. Therefore, a single workflow component can be easily used by various other record types and workflow actions.
In order to make processes more efficient and productive, Netsuite Workflow can be one of the best tools for a business organization.

SuiteScript: 
SuiteScript is the NetSuite platform specfic JavaScript that enables complete customization and automation of business processes. Using the SuiteScript APIs, core business records and user information can be accessed and manipulated via scripts that are executed at pre-defined events. For example, field change, form submit, before read, before write, or Web requests. They can also be scheduled to run at specific times.

SuiteScript is comprised of several components enabling the most useful customization in SaaS:

  • Suitelets — Extensions to SuiteScript let you build a custom interface that is hosted within the NetSuite framework. Suitelets allow for completely custom HTML, Flash or NetSuite-based front-end development that can be build from scratch or by leveraging revolutionary SuiteScript UI Objects. Suitelets can also serve as the back-end for external HTML interfaces, providing complete flexibility in developing application extensions to NetSuite.
  • SuiteScript UI Objects — Serve as extensions which let you build a custom interface that runs invisibly within the NetSuite framework.
  • Portlet SuiteScript — Scripted Dashboard portlets allow for listing of any NetSuite content on the Dashboard or inclusion of external data-feeds via RSS, HTML or Flash, as well as Web 2.0 mashups (e.g. instant messaging, maps, blogs, more) via embedded Inline HTML fields, or iFrames.
  • Scheduled SuiteScript — Facilitates business process customization via JavaScript extensions and allow for records to be processed as a scheduled batch to automate workflows such as re-assignment of stale leads, drip-marketing or scheduling of collection calls based on days overdue.
  • User Event SuiteScript — SuiteScript can be used to enforce data validation and business rules. User Event SuiteScripts are triggered as users work with records and data changes in NetSuite as they open, edit or save records.
  • Client SuiteScript — Field-level calculations, alerts and business logic are facilitated by SuiteScripts which run within the user's browser as they work with data and records within NetSuite. Additionally Server SuiteScript APIs can be invoked via the Client SuiteScript code to apply business logic beyond a single record.

Bundles:
Bundles are basically a way of packaging set of customized objects,scripts and forms,so that one can install it into some other NetSuite account. If you want some logic  be executed as part of bundle installation and/or update, you can write a installation script. A bundle installation script can contain triggers to be executed before install, after install, before update, and after update.

1 comment: