What functionality enhancements are expected in NetSuite ERP release 2016.2?

NetSuite Release 2016.2 will be rolled out over the next few months. NetSuite have published plans which include the areas listed below. It is recognised that some features may not be available in the 2016.2 release timeframe.


  • Change to Merging Accounts Quick Close Accounting Period
  • Statutory Chart of Accounts
  • Cumulative Translation Adjustment (CTA) Balance Audit Report
  • Enhancements in Advanced Revenue Management
  • Journal Entry Approval Workflow
  • Legal Name in Chart of Accounts
  • Change to Accounting Periods Feature in Accounts That Are Not OneWorld
  • Allocation Schedule Enhancement
  • Fixed Assets Management Enhancements

Employee Management

  • Management
  • Weekly Timesheets
  • Time Tracking Enhancements
  • Time Approval Enhancements

Items and Inventory Management

  • Commit Orders Scheduling
  • Replenish Location by Transfer Order
  • Withdraw by Transfer Order
  • Phantom BOM
  • Transfer Order Enhancements
  • Item Ordering Enhancements
  • In-Process Work Order and Assembly Build Editing
  • Matrix Items Name Template

Order Management

  • Fulfilment Requests
  • Location Record Enhancements
  • New Advanced Order Management Setup Page
  • New Fulfilment Workload Distribution Rule
  • Rerun Automatic Location Assignment
  • Void Payment Authorizations
  • Changes to How Charges Are Added to Some Transactions
  • Customer Hierarchy Size Limit
  • Support for FedEx Services
  • Support for ZPL Label Printing Format
  • Preview Payment Processing Profiles for Websites and Subsidiaries
  • Updated Payment-Processing Field Labels
  • Contract Renewals Enhancements
  • Automatic Chargeback Workflow Processing
  • Electronic Payments Enhancements
  • Grid Order Management Enhancements


  • Project Billing Rate Cards
  • Project Revenue Recognition
  • Project Template Enhancements

SuiteScript 2.0 with 2015.2

Version 2015 Release 2 introduces the beta version of SuiteScript 2.0, a complete re-factor of the SuiteScript model.The introduction of SuiteScript 2.0 does not change how SuiteScript 1.0 scripts are written. There is only one SuiteScript 2.0 enhancement that impacts SuiteScript 1.0 – the enhancement to the Script record creation process.

Advantages to SuiteScript 2.0

  • Modular Architecture
  • Modern JavaScript Syntax and Behaviour
  • New and Improved API Functionality
  • Asynchronous Client Side Processing (Promises)
  • New Batch Processing Framework (Map/Reduce Script Type)

Modular Architecture

SuiteScript 2.0 is built on modularity. With it, you have access to a complete set of new APIs, contained within modules. These modules are organized based on behaviour. SuiteScript 2.0 also enables you to create your own custom modules. You can use these custom modules to organize helper functions (as a replacement for SuiteScript 1.0 libraries). Additionally, you can add custom modules to SuiteApps and expose those modules to third parties.

Dependency Management and Improved Performance

SuiteScript 2.0 gives you built-in dependency management. It also gives you improved performance. With SuiteScript 2.0, you define the dependencies that must load prior to module execution. This means that you are required to load only those modules that are needed. Because you are not loading all available dependencies at one time (as you do in SuiteScript 1.0), your script loads faster. Plus, when possible, required dependencies are loaded asynchronously in client-side scripts.

Modern JavaScript Syntax and Behaviour

The underlying design principle of this new version of SuiteScript is that SuiteScript 2.0 is JavaScript. SuiteScript 2.0 scripts are clean and intuitive.

SuiteScript 2.0 is modelled to look and behave like modern JavaScript. To facilitate that objective, SuiteScript 2.0 methods and objects are not prefixed with nlapi and nlobj.

This change also reflects the modular organization of SuiteScript 2.0. SuiteScript 1.0 methods and objects respectively belong to the nlapi and nlobj namespaces. SuiteScript 2.0 methods and objects are encapsulated within various modules.

Properties and Enumerations

SuiteScript 2.0 adopts the usage of properties and enumerations. Most SuiteScript 1.0 getter and setter methods are replaced with properties. Enumerations encapsulate common constants (for example, standard record types).

Updated Sublist Indexing

The standard practice in the development world is to start indexing at 0. This behaviour is observed in the majority of programming languages. To bring SuiteScript into alignment with modern JavaScript, sublist indexing within SuiteScript 2.0 begins at 0.

Consistent Behaviour

  • All SuiteScript 2.0 methods take a plain JavaScript object as an input. Within the SuiteScript 2.0 API, all method inputs are named options. For example, the record.load signature is listed as record.load(options).
  • All SuiteScript 2.0 Booleans take a value of true or false. All other Boolean values (for example: T or F) throw an error.
  • Parameter types in SuiteScript 2.0 are strictly adhered to. You must pass in valid parameter types, as listed in the SuiteScript 2.0 help. SuiteScript 2.0 does not convert invalid parameter values to valid values.

New and Improved API Functionality

SuiteScript 2.0 includes the following new functionality.

Expanded Support for HTTP Content Type Headers

SuiteScript 2.0 adds support for most HTTP content types.

New Encryption/Encoding Functionality

SuiteScript 2.0 adds enhanced encryption, decryption, encoding, and hashing functionality.

Asynchronous Client Side Processing (Promises)

With SuiteScript, synchronous processing is especially important in client remote object scripts. These are client scripts that make a call to the NetSuite server to create, load, edit, submit, or delete an object. You can use nested callback functions to increase performance and efficiency, but this method is confusing when dealing with complex operations. The end result is often code that is difficult to read.

In SuiteScript 2.0, all client scripts now support the use of promises. With promises, developers can write asynchronous code that is intuitive and efficient. SuiteScript 2.0 provides promise APIs for select modules (see SuiteScript 2.0 Promise APIs). In addition, you can create custom promises in all modules that support client scripting.

A promise is a JavaScript object that represents the eventual result of an asynchronous process. After this object is created, it serves as a placeholder for the future success or failure of the operation. During the period of time that the promise object is waiting, the remaining segments of the script can execute.

A promise holds one of the following values:

  • fulfilled – The operation is successful.
  • rejected – The operation failed.
  • pending – The operation is still in progress and has not yet been fulfilled or rejected.

When it is first created, a promise holds the value pending. After the associated process is complete (from success or failure), the value changes to fulfilled or rejected. A success or failure callback function attached to the promise is called when the process is complete. Note that a promise can only succeed or fail one time. When the value of the promise updates to fulfilled or rejected, it cannot change.

SuiteScript 2.0 Promise APIs

To make promises more accessible, SuiteScript 2.0 provides client-side promise APIs for the following modules:

  • email
  • error
  • http
  • https
  • record
  • search
  • transaction

The available promise APIs are named so that they correspond with their synchronous counterparts. The distinction is that the promise APIs have names that are suffixed with .promise. For example, the search.create(options) API has a promise version named search.create.promise(options).

New Batch Processing Framework (Map/Reduce Script Type)

Map/reduce is a programming model that enables large amounts of data to be efficiently batch processed. The initial task of parsing the data is broken up into several categories of smaller tasks. In general (not specific to SuiteScript), the basic flow of map/reduce is as follows:

  • Take in a large data set (INPUT).
  • Parse the data into key: value pairs (MAP).
  • Group values based on keys.
  • Evaluate the data in each group (REDUCE).
  • Output the results (OUTPUT).

SuiteScript 2.0 introduces a new script type based on the map/reduce model. Map/reduce scripts provide a structured framework for batch processing scripts. In addition to batch processing, SuiteCloud Plus users can also use map/reduce scripts to process records in parallel across multiple work queues. This script type replaces the parallel processing functionality utilized in SuiteScript 1.0 scheduled scripts. Users manually select the number of work queues to utilize from the script deployment record.

Note: The map/reduce script type automatically tracks governance usage and yielding.

Map/Reduce is a new server-side script type that batch processes large data sets. It goes through at least three of five possible stages when a script is executed.

Important: A map/reduce script is not required to go through both the Map and Reduce stages. One of these stages can be skipped, but the script must go through one of them.

The stages are processed in the following order.

  • Get Input Data – Takes in the original data set. This stage is always processed first and is required. When the data is processed across multiple queues, this stage runs sequentially.
  • Map – Parses data into key: value pairs. If this stage is skipped, the Reduce stage is required. When the data is processed across multiple queues, this stage runs in parallel.
  • Shuffle – Groups values based on keys. This stage is automatically processed after the Map stage is processed. When the data is processed across multiple queues, this stage runs sequentially.
  • Reduce – Evaluates the data in each group. If this stage is skipped, the Map stage is required. When the data is processed across multiple queues, this stage runs in parallel.
  • Summarize – Summarizes the metadata of the task. This stage is optional and is not technically a part of the map/reduce process. When the data is processed across multiple queues, this stage runs sequentially.

With the map/reduce script type, SuiteScript 2.0 also introduces a new map/reduce API. The map/reduce API includes four entry point functions that control the script’s flow into the stages listed above.

  • getInputData() – Starts the map/reduce process. Takes the script into the Get Input Data stage and returns an array. This entry point function is required.
  • map() – Takes the script into the Map and Shuffle stages and returns key: value pairs. Note that the Shuffle stage is automatically processed after the Map stage is processed. If this entry point function is skipped, reduce() is required.
  • reduce() – Takes the script into the Reduce stage and then outputs the result. If this entry point function is skipped, map() is required.
  • summarize() – Takes the script into the Summarize stage. This entry point function is optional.

The script record for map/reduce scripts is similar to the script record for scheduled scripts.

Deployment is also handled in the same manner. Both script types have three options for deployment: by schedule, from the Save and Execute option on the deployment record, or through the task module.

wholesale distribution

2015.2 for Wholesale Distributors & Manufacturers

The latest version of NetSuite which will be rolled out to all users in the next few months includes three features specifically targeted to meet the needs of Wholesale Distributors and Manufacturers.

Group Average Costing

Group average costing enables you to track one average cost for an item across multiple locations within a defined group.

Group average costing is available only when you have enabled the Multi-Location Inventory feature. Group average costing is available for inventory items and assembly items.

Each time an inventory related transaction with costing impact is processed for a location costing group member, a group average cost is recalculated. The single average cost is calculated by dividing the total inventory value across locations by the total quantity across all locations. This calculated cost is synced within the group and is used in costing calculations for all locations.

All inventory and assembly items within a location that are assigned the Group Average costing method are included in the location costing group assigned to that location.

If an item is assigned the Group Average costing method, but one or more of its locations are not included in a costing group, then for those locations, the item’s costing method is effectively Average, not Group Average because no grouping calculations are done for those locations.

New procurement dashboard

Whilst NetSuite allows for and provides the tools to allow the creation of any role with specific authorities and a user designed dashboard it is more straightforward requiring less thought or work to use ‘out-of-the-box’ roles and dashboards.

This dashboard gives KPIs, reminders, reports and searches specific to procurement, allowing a procurement manager to then drill down into any areas causing concern or requiring action. Examples of what are provided: vendors’ on-time delivery performance or reminders when purchase contracts get close to expiration.

Simpler requisitions for dealing with preferred vendors


The order requisitions page will now be populated with all pre-approved vendor contracts with associated pricing to enable a buyer to select the best vendor for any one order. For an item that does not have a preferred vendor, alternative items can be shown that do have a preferred vendor to ensure that a buyer always has the information available to purchase the most cost-effective item.

Order Requisition Enhancements

Previously, the Order Requisitions page grouped requisition lines on a purchase order based on all requisition lines having the same transaction date.

Now, on the Order Requisitions page, you can add multiple order lines to a purchase order regardless of the entry date or expected receipt date. The number of lines consolidated onto a single purchase order is limited only by the maximum identified in the Maximum Requisition Lines to Consolidate preference.

Improved warranty and repair

NetSuite now support the processing of warranties associated with items sold through indirect channels. Previously this was only possible through a third party product or bespoke addition to NetSuite. Information about warranty registrations can be added either manually or via an import feature.

The process of managing warranties has also been simplified in terms of both finding a warranty quickly and entering it, reducing the need to re-enter information.


Update for Service Industries

2015.2 for Service Industries

A number of key enhancements have been made that are of relevance to various Service Industries and in particular to Software Companies.

Enhanced resource allocations

With the Resource Allocations feature, you can now allocate resources directly to project tasks. Previously, project resources were first allocated to the project and then assigned to individual tasks.

For each project, it is recommended that you choose to either to allocate resources directly to project tasks or allocate resources to the project and then assign to project tasks. Using both resource allocations to project tasks and task assignments can create inconsistencies in your project data.

Resources allocated to individual tasks can track time against those project tasks. If an allocation is deleted, the resource is no longer able to track any additional time against those project tasks.

There are also two new fields on both project and project task records—Allocated Work and Percent Complete by Allocated Work. The Allocated Work field displays the total number of hours allocated to the task and the project. The Percent Complete by Allocated Work field displays the progress of the project based on the allocated resources. This field can be useful in showing when projects require more effort than was originally planned.

Charge-Based Billing Enhancements

The following improvements have been made to the Charge-Based Billing feature.

  • Billing Caps for Split Time
  • New Employee Field on Charges
  • Recurring Fixed Date Charge Rules

Billing Caps for Split Time

Time-based charge rules can now split time transactions when fulfilling billing caps. Previously, a time-based billing cap required the exact amount to be tracked to fulfil a billing cap.

Billing caps for time-based rules are honoured and do not require an exact match from time transactions.

For example, you create a time-based charge rule with a billing cap of 10 hours. Your project resource tracks eight hours and six hours toward the project on two consecutive days. When you generate charges, the rule will generate charges for the eight hours plus two additional hours from the second day. The remaining four hours from the second day are listed on the time transaction as remaining time. If additional time-based rules are used to generate charges, the remaining four hours will be used to fulfil any new rules.

When a time transaction has time remaining or generates charges from multiple rules, a new Charges subtab is displayed with a list of the corresponding charges.

New Employee Field on Charges

For time-based and expense-based charges, an Employee field is now available on charge records. The Employee field automatically shows the employee generating the time or expense transaction. The Memo field is also automatically populated from the corresponding time entry or expense line generating the charge.

Recurring Fixed Date Charge Rules

You can now set a recurrence schedule for fixed date charge rules. When creating a new fixed date rule, you can select to have the rule be a single, daily, weekly, monthly, or yearly event. Within each selection there are additional choices you can make to define the recurrence schedule.

You can also set both a start and end date for the series. Previously, the Date field was required when creating a fixed date rule. Now, the Date field has been replaced by the Series Start Date field. Any scripts or workflows utilizing the Date field will be transferred to the Series Start Date field.

When generating a forecast for a recurring fixed date charge rule without an end date, NetSuite includes each occurrence through the end date of the project plus one occurrence. When generating actual charges for a recurring fixed date charge rule without an end date, NetSuite continues to generate charges as long as the project is active.

After charges have been generated, a recurring charge rule can no longer be edited. You may inactivate a recurring charge rule if it is no longer necessary. To inactive a charge rule, click Inactivate at the top of the charge rule record. When you inactivate a recurring charge rule, all forecast charges based on the rule are deleted and the Inactive box appears checked on the charge rule record. You may reactivate an inactive recurring charge rule by clicking Activate at the top of the charge rule record.

Recurring Billing Enhancements

NetSuite Version 2015 Release 2 includes a number of enhancements to the Recurring Billing SuiteApp, which of particular use by service organisations who offer services with complex recurring charges.

Multi-Queue Support for Recurring Billing Batch Processes

This is introduced to improve the performance of these processes. In Recurring Billing version 15.2, the charge creation and subscription creation processes are enhanced to support multi-queue implementation.

Billing forecast reports

Enhancement to standard billing forecast reports include:

  • Customer and Subscription fields are added as additional filters for the report.
  • Group by Primary Subscription Item and Group by Secondary Subscription Item are added to the report display options.
  • The Billing Forecast report is generated in PDF file format.
  • An option to save an XML file of the generated report is available

Rollback Bill Date

The new Rollback Bill Date feature enables the rollback of bill dates of subscriptions that when the billing needs to be redone. These rollbacks can be performed by mass update or by clicking the Rollback Bill Date button on the subscription record.



NetSuite 2015.2 enhancements

NetSuite 2015.2 has introduced a number of enhancements covering functional areas for both general use and vertical markets plus significant technical enhancements.

General Use functional enhancements


Period Close by Accounting Book for Multi-book accounting


If Multi-Book Accounting (introduced in 2014) has been implemented you can individually close and reopen accounting periods associated with any accounting book, without impacting your other accounting books.

When you enable the Extended Accounting Period Close Process feature, unique period close checklists become available for each of your accounting books including newly activated secondary accounting books. However, if required all books can be closed at the same time.

Custom Segments

The Custom Segments, which is part of the SuiteGL feature introduced in 2014.2 lets you create custom classification fields similar to class, department, and location. You can create an unlimited number of custom segments, define possible values for each segment, and add the segments to specific record types. People working in NetSuite can then use the segments to classify records appropriately.

In the list of available segment values, you can create hierarchal relationships. For example, a segment called Sales Region might have values such as Americas, APAC, and EMEA. However, you may also want to add options that are more specific. When you create the new options, you can specify in the segment definition that they are children of the broader geographic categories.

If appropriate, you can configure a segment to default to a specific value. You have the following options:

  • You can configure a segment to default to a static choice. This default is used on any record type where the segment appears, unless overriden. For example, suppose you have a segment called Sales Region, which includes the values Americas, EMEA, and APAC. If the majority of your records require a value of Americas, you could specify that Americas is the default.
  • You can create dynamic defaulting for specific categories of record types, such as transactions and entities. For example, you may have a segment called Sales Region that you have applied both to the Customer record type and to all sales transactions. You can configure the segment so that, when it occurs on a sales transaction, it defaults to the value selected on the corresponding customer record. This type of defaulting overrides static defaulting.

In some cases, you may want to limit a segment’s available values based on choices the user made for other segments on the same record.

For example, suppose your organisation sells merchandise worldwide. You may have multiple sales channels, such as brick-and-mortar stores, a web store, and partner outlets. However, although you may permit customers everywhere to use your web store, other channels may be available only in certain geographic regions.

In this case, you could create two segments, Sales Region and Sales Channel. You could configure a record’s Sales Channel values to be filtered based on the selection the user makes for Sales Region. For example, you could configure a Sales Region called Denmark to permit the selection of only two Sales Channel values.

You can also set up more complex filtering. You can configure a segment’s available values to be dependent on multiple segments and on other classification fields, as described below.

Filter a Segment’s Values Based on Class, Department, Location, and Subsidiary

You can set up a segment so that its values are filtered based on choices the user made in the Class, Department, Location, and Subsidiary fields. This capability is similar to the behaviour described in Filter a Segment’s Values Based on Other Segments.

For example, consider a company that sells clothing and accessories. This company may have a segment called Profit Centre, with values such as Clothing, Shoes, and Jewellery. If the company markets products to both men and women, it may also have departments called Men’s and Women’s.

Both the Men’s and Women’s departments may sell clothing and shoes, but jewellery might be available only for women. In this case, you could configure the Profit Centre segment so that its values are filtered based on the value of the Department field. A record with a Department value of Men’s would show only two of the three Profit Centre values.

You can configure segments to appear on the GL Impact page. Additionally, standard NetSuite reports can be customized to use segments as filters and columns. When a segment is used as a column, it can also be grouped with other columns.


Mobile enhancements

Whilst NetSuite is fully available via web access Android and iOS apps provide access integrated into the mobile phone or tablet. These apps have been enhanced with 2015.2 and NetSuite for Android has had upgrades largely to implement NetSuite’s strategy of creating a fully unified user experience across Android and iOS devices.

NetSuite for Android 2.0


NetSuite for Android 2.0 requires Android version 4.2 and higher.

It includes the following enhancements:

  • Complete support for all mobile supported records
  • Full record customization support (SuiteCloud), including SuiteScript, Workflow, and other record-level customization
  • Scheduling through the native Calendar feature
  • Search functionality – global and saved search support
  • Add to favourites

Scheduling via Built-in Calendar

NetSuite for Android 2.0 introduces two mobile-optimized calendar views, Week and List. These views enable you to check your NetSuite activities directly within the application. Users can create and accept new activities, as well as customize which calendar to display based on an entity, group, or resource. Users can also filter the type of activity to display based on events, phone calls, and tasks.

iPhone enhancements

Theses enhancements include: push notifications, time tracking with time bill records and Apple Watch integration

Vertical market specific enhancements

A number of enhancements have been introduced that are most relevant for particular markets, but may be of interest to other organisations, especially if controlling procurement is an issue.

Wholesale Distributors & Manufacturers

The latest version of NetSuite which will be rolled out to all users in the next few months includes three features specifically targeted to meet the needs of Wholesale Distributors and Manufacturers.

  • Group Average Costing
  • New procurement dashboard
  • Simpler requisitions for dealing with preferred vendors
  • Order Requisition Enhancements
  • Improved warranty and repair

For more details see 2015.2 for Wholesale Distributors and Manufacturers.

Service organisations


Enhancement specifically designed for service organisations include:

  • Enhanced resource allocations
  • Charge-Based Billing Enhancements
    • Billing Caps for Split Time
    • New Employee Field on Charges
    • Recurring Fixed Date Charge Rules
  • Recurring Billing Enhancements
    • Multi-Queue Support for Recurring Billing Batch Processes
    • Billing forecast reports
    • Rollback Bill Date

For more details see 2015.2 for Service Organisations.

Technical enhancements

Hierarchical Custom Record Types

Version 2015 Release 2 supports hierarchies between records of the same custom record type. A new Hierarchy option is available on the custom record type definition page. When this option is enabled, you can define a parent-child hierarchy between two records of that type. This hierarchy can be defined either on the parent record or on the child records.

For example, if you have defined a custom record type that stores employee information, you can set up hierarchies among records of this type to reflect each employee’s supervisor. First, you must enable the Hierarchy option for the custom employee record type.

Preview of Advanced PDF/HTML Template Output

As of Version 2015 Release 2, the advanced PDF/HTML template editor supports preview of template output. Before this release, if you wanted to view template output or check for template errors, you had to save a template, associate it with a custom form, associate the custom form with a transaction, then print the transaction. Now, as you are editing a template, you can click the Preview button to generate a sample PDF based on the current template definition. The Preview button is available in both WYSIWYG and source code modes.

SuiteCloud Platform Enhancements

Search results can be sorted in language specific orders. Also csv imports have been simplified by the use of flexible delimiters.


Application performance monitor

Detailed information about performance of applications allows users to identify any problems in performance that may come about due to customisations, business workflow or other issues. Once identified the users (or Solution Provider) can make informed decisions about how best to improve performance.

The new Application Performance Management SuiteApp supports monitoring and management of NetSuite performance for business critical operations. Account administrators can use this SuiteApp to review the performance of the NetSuite user interface, including customizations such as scripts and workflows. This SuiteApp compiles information into a performance dashboard that serves as a starting point for performance troubleshooting. This dashboard can be configured to filter and sort performance data for selected time periods and record pages. Visual indicators on the dashboard highlight performance issues and outliers, with more details available in portlets and quick links. Additional context for performance analysis is provided by a page time summary, script analysis, and performance data visualizations in a variety of chart types.

This SuiteApp supports the following tasks:

  • Identification of performance opportunities or degradation, and prioritization of issues based on usage and traffic.
  • Viewing of performance metrics for important record pages and assessment of system health and trends.
  • Drilling down to performance details for specific record types, operations, and instances.
  • Viewing of response times allocated by client, server, and network.
  • Performance monitoring of user event scripts, workflows, RESTlets, scheduled scripts, and Suitelets.


SuiteScript 2.0

Has been significantly enhanced to make customisation easier and more easily undertaken by developers with no SuiteScript experience.

More powerful APIs to JavaScript standards and designed to meet best current industry practice so that JavaScript developers can more easily use SuiteScript. The API is clean, cohesive, expressive and modularised. New APIs have also been introduced.

Intuitive developer with reduced reliance on documentation. Also various standard modules for example records and search modules.

Syntax enhancements have been introduced as well as parameter improvements.

Full backwards compatibility is offered with SuiteScript 1.0 scripts and allow scripts with different API versions to co-exist in the same account, record type and SuiteApp. This means customers need not update any existing scripts and can continue to use version 1.0 for new scripts whilst introducing version 2.0.

More details are available in the post SuiteScript 2.0.


NetSuite Release 2015.1 Planned functionality enhancements

NetSuite has announced to its users a number of enhancements to the functionality of its modules. I have highlighted in here the main areas of these enhancements. There are also a number of additions and improvements made to the development platforms offered by NetSuite including the facilities to enable websites to be built and integrated with other NetSuite modules. These changes are not included in this analysis.

Sales and Invoicing

Location Based Eligibility Criteria for Promotions

To help target promotions, the Location field on sales orders can be now be used to apply promotions based on location.

EU Digital Services Mini One Stop Shop (MOSS)

NetSuite now supports the Mini One Stop Shop (MOSS) taxation scheme for the supply of digital services in the European Union (EU), which takes effect on January 1, 2015.

Payment Enhancements on Web Store

Two new payment enhancements have been made to web store: alternative payment methods without authorization and support for CyberSource Tokens.

Alternative Payment Methods Without Authorization

Prior to Version 2015 Release 1, NetSuite did not support alternative payment methods that did not support authorization on your web store. This prevented accepting online bank transfers, debit card payments, and other alternative payment methods like EFT or iDeal.
Now alternative payment methods can be accepted that do not request authorization on sales orders. This enables web store shoppers to use a wide variety of non-credit card payment methods, and collect money prior to order fulfilment.
This new capability is available for use with third-party applications created by payment service providers. Most of these solutions are available as SuiteApps.

Support for CyberSource Tokens

Now, CyberSource credit card processing profiles support tokens. This change provides increased security by providing an encrypted token instead of the primary account number (PAN) and other information. Using CyberSource tokens also enables the use of the CyberSource Account Updater.
This enhancement enables the use of tokens generated by third-party web service applications in a NetSuite account.

Recurring Billing Enhancements

Version 2015 Release 1 includes a number of enhancements to the Recurring Billing module.

Backdated Subscription Change Orders

This feature enables the specification of a past date as the effective date when subscription change orders are created.

Enhancements to the Recurring Billing Multi-Queue Feature

Recurring Billing version 15.1 includes enhancements to the Recurring Billing Multi-Queue feature. This enhancement provides a solution that maximizes the utilization of each scheduled script deployment queue for jobs to process.

Subscription Billing Opportunities and Estimates

Recurring Billing version 15.1 supports entering subscription configuration data at the opportunity and estimate stage. Opportunities can be converted to an estimate or a sales order. Estimates can also be converted to a sales order.

Plan Migration Change Order Enhancements

Starting with Recurring Billing version 15.1, the custom pricing feature is supported in the Migrate Subscription Plan change order.
When a subscription item is migrated to a new subscription plan, custom pricing adjustments can be applied. A new rate, discount, or quantity can be entered for the items in the new subscription plan.

Renew Subscription Item Change Order

The Renew Subscription Item change order enables a subscription item to be renewed without having to wait for the subscription renewal date or defined offset. This change order action is applicable to items in Open or Pending Renewal state.

Invoice Approval Workflow

With Version 2015 Release 1, the Invoice Approval Workflow is added to the NetSuite Approvals Workflow. This workflow validates an invoice to determine the need for approval by a supervisor, before it is issued to a customer.
The following validations are available:
• Identification of a customer’s first invoice
• Customers with a credit hold on the account
• Validation of payment terms on the invoice against the customer record
• Validation of tax amount on the invoice
• Identification of flagged customers
The Invoice Approval Workflow can be customised by adding more components, reordering the sequence of actions or only running the validations that fit into your business process.

Vendor Management and Purchasing

Vendor Record Shared with Multiple Subsidiaries

A primary subsidiary and an unlimited number of secondary subsidiaries can now be assigned to a vendor record. This is useful when multiple subsidiaries use the same vendor.
Also different credit limits can be assigned for the primary subsidiary and each of the secondary subsidiaries on the vendor record. Additionally vendors and multiple subsidiaries can be associated with items, assigning a specific item price for each subsidiary purchasing from the vendor.
Subsidiaries can be assigned to shared vendors in numerous other transactions including writing cheques and making deposits, reconciling bank and credit card statements, making general, statistical, book specific, intercompany journal entries, general and intercompany allocation schedules.

Request for Quote

A Request for Quote (RFQ) can be used to make procurement processes more streamlined and efficient by enabling vendors to be asked to provide pricing, terms and conditions for purchased items. Request a quote from several vendors to compare pricing and terms for each and decide which quote best matches your needs.
Pricing quotes can be tiered to define specific prices for a quantity range. Typically, as larger quantities of an item are purchased, the price goes down. Pricing quotes can also define a minimum total amount that must be spent across all items from that vendor within a specific time frame in order to receive a discount across all items.
After all vendors submit a quote the buyer can analyze all options to determine the best deal and the buyer awards contracts to the best vendor for each item.
When a vendor is selected NetSuite creates purchase contracts from the RFQ.
One or more purchase contracts can be created from a single RFQ either for future purchases or to place purchase orders. These contracts can create purchase orders referencing the originating RFQ contract.

Payment Holds for Vendor Bills

Now, NetSuite allows the application of a payment hold to stop payments being processed on approved vendor bills and prevent funds from inadvertently leaving the company.

Blanket Purchase Order Approval Workflow

The Blanket Purchase Order Approval Workflow is an added feature to the NetSuite Approvals Workflow. It enables validation and automatic routing of blanket purchase orders for approval. Based on approval limits set by users, the workflow determines the need for approval and identifies the appropriate approver. It sends separate email notifications to the creator and approver of the blanket purchase order. Alternate approvers can be set in case the regular approver is not available and the content of the email notifications changed.

Grid Purchase Order

With the introduction of the Grid Purchase Order feature a purchase order can be entered for multiple products in a grid, instead of adding items per transaction line. The grid templates set up for purchase orders can also be applied to sales orders.

Purchase Contract Approval Workflow

The Purchase Contract Approval Workflow is now included in the Advanced Procurement Approvals. It provides an efficient way of handling the approval process for purchase contracts. Approval limits are set that are used to validate a purchase contract amount and records that exceed the limit will require approval by a supervisor.


Component Per Operation

Components can now be associated with specific operations rather than at the assembly level. This is particularly useful if some operations take a long time to be completed or if some are not required when the work order starts.
By associating components with specific operations for a routing components are issued on the actual day the corresponding operation begins.

Matrix Assemblies

The new Matrix Assemblies feature assists in configuring assembly items for product- based business. Matrix assembly items can be created and updated in various ways.

Accounting and Fixed Assets

Budgets for Statistical Accounts

From version 2014 version 1 NetSuite supported a new type of account, a statistical account, that can track non-monetary amounts such as headcount, volume sold, floor space (i.e., square footage) and shares.
In Version 2015 Release 1 support for budgets for these statistical accounts is added. Budgets can be created for departments, classes, locations, items, customers, and projects. For example, a budget for the headcount statistical account can specify the number of new employee requisitions for the Sales Department in the upcoming financial year. The budgeted amount can be compared with the number of new employees by customizing the Budget vs. Actual report.

Fixed Assets Management Enhancements

Version 2015 Release 1 includes three enhancements to the Fixed Assets Management module.

Performance Optimization

Several enhancements have been made to Fixed Assets Management to improve the overall performance and to optimize the depreciation process.

Support for 4-4-5 Accounting Period

Customers using the 4-4-5 calendar will now be able to compute the depreciation amount more accurately because the depreciation will be based on the number of days on a given period.

Book Specific Asset Revaluation, Split, Disposal, and Reports

Multi-book accounting for Fixed Assets Management include the following updates:
• Asset Revaluation – Support for the IFRS accounting standard will enable users to select an accounting book that they want to revalue.
• Asset Split – Users can create one split transaction per asset and record GL postings to different books.
• Asset Disposal – When disposing an asset, a journal entry will be generated for the primary book. Tax methods associated to an accounting book will also generate journal entries.
• Generating Reports – Generate reports that are relevant to only an accounting book. Users can select an accounting book in the FAM Reports page to generate an asset register, asset summary, and depreciation schedule report for the selected book.

Purchase Accruals for Service, Charge, and Non-inventory Items

NetSuite makes your month-end close less cumbersome to estimate and record accrued expenses by automatically generating purchase accruals. At the end of the month when many transactions consist of service items, other charges, or non-inventory items such as special orders, the accountant no longer must waste time tracking down employees to confirm receipts to post a journal entry to accrued expenses. After the bill is received, accruals are automatically reversed and posted to the accounts payable account. Accruals can be posted for non-inventory items, service items or other charges that are received but not yet billed.


Version 2015 Release 1 includes a number of enhancements to the Projects module.

Bulk Project Task Reassignment

With the Resource Allocations feature, a new preference is available on the Project Resource Role record that allows project resources to reassign task records in bulk.

Resource Allocations Now Integrate with the NetSuite Calendar

Project resources can now choose to see their allocated time right on their NetSuite Calendar. Employees marked as project resources that have been allocated to a project now have a new preference in the calendar portlet called Show Resource Allocations.
Resource allocations now appear as the project name at the top of each allocated day in the calendar portlet. Clicking the project name opens the corresponding resource allocation record.

Project Charges Forecast Report

The Project Charges Forecast report is now available for charge-based projects. This report details the monthly forecasted charges per project based on the established charge rules for each project.

Project Charges Forecast with Resource Allocations

Time-based project charges can now be forecast using allocated time. Previously, for charge-based billing projects, time-based charges were forecasted only using planned time.

Project Profitability Reports Using Revenue Commitments

NetSuite now offers two Project Profitability reports: Project Profitability and Project Profitability by Month. The previously available Project Profitability report is now the Project Profitability by Month report. These reports have also been expanded to include revenue commitments, journal entries, and deferred revenue. This information is displayed in the Project Profitability by Month report for each project by month. The new Project Profitability report displays the total profitability of each project.

Resource Allocation Grid

The Resource Allocation Chart now includes a new grid view for updating and organizing resource allocations. Managing multiple resources within a single grid offers the ability to efficiently balance workloads and resource allocations. The Resource Allocation Grid works much like a standard spreadsheet application.

Project Task Manager Enhancements

The Project Task Manager has been updated to include the ability to set several preferences that control how the module displays information.
In addition to controlling these preferences, the Project Task Manager can be printed or exported. This enables the fast sharing of information about project tasks.