Skip to main content

Commerce Updates in NetSuite 2020.1

2020.1 Commerce |

Commerce · Commerce Applications Commerce · Site Management Tools

  • SMT UX Sustainability
  • Sass Pre-Processor Enhancements Commerce · Commerce Merchandising
  • Improved Process for Applying Merchandise Hierarchy Attributes to Items
  • Merchandise Hierarchy Visual Layout Enhancements
  • Standard Merchandise Hierarchy SuiteAnalytics Workbook Commerce · Commerce Platform
  • New Domains Setup Procedure
  • Redirect URL Domain Enhancements
  • Creating and Editing Web Sites by Type
  • Adding Items to Item Collections using Saved Searches
  • Creating Item Collections using CSV Import
  • Introducing Web Store Order Workbook Template
  • Update to Commerce Elevated Permission Framework
  • Account-Specific Domains for Marketing Campaigns and Online Forms
  • System Email Template Customization
  • Commerce Category Customer Segment Assignment
  • Commerce Category Multi-Language Support Commerce · SuiteCommerce InStore
  • New APM Sensors SuiteCloud Platform SuiteCloud Platform · SuiteApp Distribution
  • Bundle Support During Release Phasing
  • SuiteApp Control Center Now Generally Available
  • New SuiteApp Marketplace Available for Distributing SuiteApps
  • Localization Context Filtering Supported for Scripts in Bundles
  • Translatable Field References to Terms in Translation Collections Supported in Bundles
  • SuiteBundler Support Updates SuiteCloud Platform · SuiteBuilder - Customization
  • Sales and Purchase Custom Transactions Available Change NetSuite 2020.1 Release Notes 6
  • System Notes v2 Page Available for Custom Transaction Configuration and Roles and Permissions
  • Account–Specific Domains Supported in Custom Fields and Custom Center Links
  • New Languages Supported in Advanced Printing Templates
  • Updates to Third-Party Libraries Used in Advanced Printing
  • Improvements to Error Messages and Handling of Corrupted Custom Segments SuiteCloud Platform · SuiteAnalytics
  • Dataset Separation in SuiteAnalytics Workbook
  • New Date Filters for SuiteAnalytics Workbook Pivot Tables and Charts
  • New Table View Tab in SuiteAnalytics Workbook
  • Idle Session Timeout for SuiteAnalytics Connect
  • 2020.1 Connect Browser SuiteCloud Platform · CSV Import
  • Newly Supported Record Types for CSV Import
  • Enhanced Size of the Name and Translation Fields in CSV Import Map Translation
  • Sales and Purchase Custom Transactions Available for CSV Import
  • Commerce Category Translation Sublist Import
  • Effective Dating for Employee Record Changes Available with CSV Import SuiteCloud Platform · SuiteFlow (Workflow Manager)
  • Support for Expenses Sublists in Workflows
  • Change to Default Behavior of Context Selection in Workflows and Actions SuiteCloud Platform · SuiteScript
  • Introducing SuiteQL API
  • SuiteScript 2.1 Now Generally Available for Server Scripts
  • SuiteScript 2.1 Debugger (Beta)
  • Enhancements to Execution Contexts for Scripts and Workflows
  • Localization Context Filtering for SuiteScript 2.0
  • Sales and Purchase Custom Transactions Available in SuiteScript
  • Map/Reduce Concurrency Limit Is Adjusted to Target Account Limit for SDF Projects
  • Change to Scripts on the Subsidiary Record Currency Field
  • Deprecation of Script Queue Monitor (Beta)
  • Method Added to N/redirect Module
  • Support for Relative File Paths in the N/file Module
  • 2020.1 SuiteScript Record Exposures
  • 2020.1 SuiteScript Records Browser SuiteCloud Platform · SuiteTalk Web Services Integration
  • Changes in the URL Structure of REST Web Services
  • REST Web Services Support for CRUD Operations on Custom Records Change NetSuite 2020.1 Release Notes 7
  • Fully Supported Record Types for REST Web Services in 2020.1
  • New REST API Browser
  • Record Action Execution Through REST Web Services
  • Support for Record Transformation Through REST Web Services
  • SuiteQL Query Execution Through REST Web Services
  • Changes in SuiteAnalytics Workbook Execution Through REST Web Services
  • SuiteScript Execution Context for REST Web Services
  • REST Web Services Requests and Responses Tracked in the Execution Log
  • Sales and Purchase Custom Transactions Available in SOAP Web Services
  • New GetConcurrencyGovernance Operation in SOAP Web Services
  • Operations Removed in 2020.1 SOAP Web Services Endpoint
  • Governance Enabled for All Accounts
  • Integration Record Enhancements Related to OAuth 2.0
  • Field Type Change in the Project Task Record
  • SOAP Web Services Version 2020.1
  • Araxis Merge Diff File for the 2020.1 Endpoint
  • 2020.1 SOAP Schema Browser SuiteCloud Platform · SuiteCloud SDK
  • 2020.1 SuiteCloud CLI for Java Is Not Yet Available
  • 2020.1 SuiteCloud Plug-in for WebStorm Is Not Yet Available
  • 2020.1 SuiteCloud Plug-in for Eclipse Is Not Yet Available SuiteCloud Platform · SuiteCloud Development Framework
  • Custom Code and Action Tabs in Custom Forms Support
  • Sales and Purchase Custom Transactions Support
  • Additional Transaction Form Types Can Be Customized
  • Translatable Fields Support
  • Map/Reduce Concurrency Limit Adjusts to Target Account Limit
  • Financial Institution Connectivity Plug-in Support
  • Parser Plug-in Support
  • Minor Updates to Custom Objects SuiteApps SuiteApps · SuiteApps (Bundles) Released by NetSuite
  • Accounting SuiteApps
  • Administration SuiteApps
  • Banking SuiteApps
  • SuitePeople SuiteApps
  • Order Management SuiteApps
  • Inventory Management SuiteApps Change Accounting 8
  • Localization SuiteApps
  • Manufacturing SuiteApps
  • Projects SuiteApps
  • Non-Profit SuiteApps
  • Food and Beverage SuiteApps
  • Taxation SuiteApps Accounting NetSuite 2020.1 includes the following enhancements to accounting features:
  • New Feature to Balance Transactions by Segments
  • Advanced Revenue Management Enhancements
  • Entity Merge User Interface Enhancements
  • SuiteAnalytics for Accounting Enhancements
  • Transaction Email Enhancements
  • Budgets for Secondary Subsidiaries
  • Fixed Assets Management Enhancements
  • SuiteApprovals Enhancements
  • Contra Account Sheets (Beta)
  • Country-Specific Reports (Beta)
  • France Localization
  • Germany Central Bank Reports (Beta)
  • Germany Localization (Beta)
  • GL Matching
  • New Japan Trial Balance and Enhancements to Financial Statements New Feature to Balance Transactions by Segments With the new Balancing Segments feature you can now balance transactions by segments. In NetSuite, the general ledger always balances for the company or, in OneWorld accounts, for the subsidiary. Now you can identify custom segments to balance for other dimensions. For example, you can create balancing segments for product lines or business units. When you run the new Balancing by Segments process, NetSuite automatically balances your transactions by their balancing segments. For instructions to set up the Balancing Segments feature, see Setup for Balancing Segments. The setup includes the following basic steps:
  • Feature enablement – The Balancing Segments feature depends on the Custom Segments feature. When you check the Balancing Segments box, you receive a message that lets you also enable the Custom Segments feature if it is not currently enabled.
  • Intersegment account configuration – Intersegment accounts enable you to balance by segment without general ledger impact to your regular transaction posting accounts. After you enable the feature, the Accounting Preferences page includes a Balancing Segments subtab. On this subtab, you must select default intersegment due-to and due-from accounts. You can select the same account Change Accounting 9 for both the due-to and the due-from accounts. If you want, you can also select due-to and due-from accounts for specific transaction types.
  • Balancing segment creation – Balancing segments are custom segments. To create balancing segments, check the GL Impact and Balancing boxes on new or existing custom segments. For information about custom segments, see the help topic Custom Segments. After setup, you can add values for your balancing segments to your transactions. Depending on your custom segment configuration, you can select a value in the transaction header, the transaction lines, or both. The transactions do not balance by segment until you run the process, usually at the end of the period. The Balancing by Segments Process is one of the tasks on your Period Close Checklist. You can, however, run the process at any time from Transactions > Financial > Balance Transactions by Segment. Posting Period is a required field, which is set automatically in the period close task. In NetSuite OneWorld accounts, you must also select one or more subsidiaries. When Multi-Book Accounting features are enabled, you must also select one or more accounting books. The process automatically includes all balancing segments. You can have a maximum of two balancing segments. The process creates a balancing journal, a new transaction type. The balancing journal includes lines for all balancing segment values. Each line has a Details link to a page with lines for the related transactions. From the detail page, you can click through to the individual transactions. These transactions display the status Balanced by Segments, and their GL Impact subtabs include a Balancing by Segments Details subtab. In this subtab you can see that the transaction header segment value (debit or credit) balances with the line segment values. You can rerun the balancing by segments process for a specified period and subsidiary combination. When you rerun the process, the system deletes the previous balancing journal and a creates a new one. A warning at the top of the Balance Transactions by Segments page alerts you when you select a period and subsidiary for which the process has already run. On reports, you can select your balancing segment as a Column filter or add the column when you customize a report. Some major financial reports that support custom segments as Column filters or in customization are the Balance Sheet, Income Statement, and Cash Flow Statement. For detailed information about the Balancing Segments feature, see Balancing Segments and Journals. Advanced Revenue Management Enhancements NetSuite 2020.1 delivers some significant enhancements to the Advanced Revenue Management feature. The following sections provide a brief summary of the enhancements for this feature:
  • New Revenue Summary Subtab for Revenue Arrangements
  • Enhanced Revenue Allocation Support for SuiteBilling Change Orders
  • Return of Element Renamed to Linked Element
  • Documentation Enhancements For more information about Advanced Revenue Management, see the help topic Advanced Revenue Management. New Revenue Summary Subtab for Revenue Arrangements The Revenue Elements subtab of revenue arrangements includes a new Revenue Summary subtab. This subtab combines key information from the Revenue Element subtab with recognized revenue from the general ledger and amounts actually invoiced. In addition, the subtab consolidates revenue Change Accounting 10 elements from related sources when you merge revenue arrangements. By default, the subtab collapses consolidated lines as shown in the following screenshot. You can expand the consolidated lines to view the details. When you add the amounts in each column of the detail lines, they equal the amount in the summary line for the column. (The detail lines are outlined in red in the following screenshot.) Use the Expand All and Collapse All buttons, or click the plus and minus signs to expand and collapse individual lines. The amounts in the previous screenshots show values for the January activity in a reclassification example in the Help Center. Note that the billed amounts include only the invoice in this example. The customer credit has not yet been generated. For details, see the help topic Foreign Currency Combined Revenue Arrangement Prior to Billing. Enhanced Revenue Allocation Support for SuiteBilling Change Orders Prior to 2020.1, subscription change orders updated the original revenue elements for the subscription. The update sometimes overrode the dates or allocation of existing elements. A new accounting preference, Create Revenue Elements for Subscription Revisions, lets you chose whether to keep the current behavior or create new revenue elements for subscription change orders. When you check the box for Create Revenue Elements for Subscription Revisions, you can use either retrospective or prospective merge to combine revenue arrangements for subscriptions. When the preference box is clear, you can only merge revenue arrangements for subscriptions retrospectively. For more information about retrospective and prospective merges, see the help topic Combination and Modification of Performance Obligations. For more information about the accounting preference Create Revenue Elements for Subscription Revisions, see New Accounting Preference Related to Advanced Revenue Management. Return of Element Renamed to Linked Element Previously, the Return of Element field only linked revenue elements from a return (negative elements) with their associated positive element (sales element). Now you can also link the revenue element from Change Accounting 11 a subscription revision with the original element for the subscription line or other associated revenue element. The new name for the field is Linked Element to indicate the expanded function. Documentation Enhancements The 2020.1 Help Center for Advanced Revenue Management reflects these 2020.1 enhancements. To avoid confusion between subscription change orders and prospective merges, the documentation no longer uses the term “prospective change orders.” Beginning in 2020.1, contract modifications are referred to as either retrospective or prospective merges. Entity Merge User Interface Enhancements NetSuite 2020.1 includes the following changes to the Entity Merge user interface:
  • The Merge From field is now the Duplicate field. This field indicates which records NetSuite regards as duplicates and merges into a master record.
  • The Merge Into field is now the Master field. This field indicates which record NetSuite merges duplicates into.
  • The Entity Merge page now includes a Duplicate/Master Summary with a summary of the entities NetSuite will merge. You can select which entity-specific information appears in the Duplicate/Master Summary. These changes appear on the Manual Merge page. To access this page, click Merge in a duplicate entity’s record. For more information, see the help topic Merging Different Types of Records. SuiteAnalytics for Accounting Enhancements SuiteAnalytics now includes the following accounting enhancements:
  • Links to the previous and next transactions in your workflow. The Related Transactions – Next and Related Transactions – Previous fields are available in your SuiteAnalytics reports and pivot tables.
  • The Transaction Detail standard workbook includes the following enhancements:
    • If you use Multi-Book Accounting, the workbook includes a Primary Accounting Book filter by default.
    • A Transaction Overview pivot table is now available. The default definition includes a row for account type, a Transaction Count measure, and a grand total of all accounts.
    • OneWorld accoutns include an Account Turnover pivot table. The default definition includes a row for Account, a Subsidiary column, and Amount (Sum) measures.
  • The Do Not Display Line field, which includes information which was usually hidden in Global Search, has been renamed to Technical Line. For more information, see the help topics SuiteAnalytics Workbook Data Source Overview and Transaction Detail Workbook (Beta). Transaction Email Enhancements In NetSuite 2020.1, you can use the Standard Transaction Email Template at Documents > Templates > Email Templates and build customized email templates. You can also set custom templates as the default Change Accounting 12 for standard transactions with a new Default Email Template preference at Setup > Company > Email > Email Preferences > Transactions subtab. For more information, see the help topics Working with Email Templates and Setting Email Preferences. Budgets for Secondary Subsidiaries If you use the Multi-Subsidiary Customer feature, in 2020.1 you can create a budget for any of the customers’ assigned secondary subsidiaries. For information about creating budgets, see the help topic Setting Up a Budget. Administration NetSuite 2020.1 includes the following enhancements to Administration features:
  • Account Setup and Maintenance
    • Deprecation Plan for the Full Access Role
    • See Differences in Employee Access Permissions on the Role Permission Differences Page
    • New File Cabinet Default for Hide Attachments Folder Preference
    • Antivirus Scanning on File Cabinet Files in All Accounts
  • Internationalization
    • Introducing Localization Context – User Event and Client Script Association
    • Subsidiary Hierarchy Modification
    • Automated Intercompany Management Preferences Relocated
    • Internal Tags Displayed in Translated Record and Transaction Names
  • Authentication
    • OAuth 2.0 Delegated Access for REST Web Services and RESTlets
    • Deprecation of Google OpenID SSO and NetSuite Inbound SSO Features
    • TBA Authorization Flow Enhancements
    • Inbound SSO Access to Commerce Websites Through OpenID Connect (OIDC)
    • Service Provider-Initiated Flow Support for SAML Single Sign-on Access to Commerce Websites
    • Session Invalidation on Commerce Websites Can Result from Changes to User Credentials
    • Password Policy Changes for Commerce Websites
    • Embedding Sensitive Website Pages in an iFrame is Prohibited
  • Cloud Infrastructure
    • Data Center-Specific NetSuite Domains for Integrations are Targeted for Deprecation
    • Automated Conversion of Data Center-Specific Domains in NetSuite
    • New Content Delivery Network Available for Secure Commerce Websites
    • Incorrect HTTP Status Code 206 is Changing to 500
  • SuiteApps
    • Operation ID Field Added on Page Time Details
    • Deprecation of Script Queue Monitor (Beta) Change Administration 13 Account Setup and Maintenance Deprecation Plan for the Full Access Role The Full Access role has been deprecated since NetSuite 2019.1 and is targeted to be disabled as of 2021.1. As an interim step in this process, as of January 2020, this role will be set to inactive. The Full Access role will no longer appear in the list of roles available for users who have this role assigned. Before your account is upgraded to 2021.1, make sure that any customizations in your account that are running under the Full Access role work under another role without causing any errors. The following changes were made to the Full Access role as of 2019.1:
  • The Full Access role was renamed to Full Access (deprecated).
  • You cannot assign the Full Access role to new users.
  • When users log in with the Full Access role, they see a notification indicating that the Full Access role is being deprecated.
  • A permission called Core Administration Permissions became available. This permission provides access to some of the same functions that are currently available to users with the Full Access role. You may be able to use Core Administration Permissions as an alternative to the Full Access role. For more information, see the help topics Full Access Role, Customizing or Creating NetSuite Roles and Core Administration Permissions. See Differences in Employee Access Permissions on the Role Permission Differences Page You can use the Role Permission Differences feature to quickly compare permissions between roles. As of NetSuite 2020.1, it is possible to see differences in Employee Access permissions and restrictions between different roles. Differences in Employee Access permissions are shown in their own category called Employee Access. This is useful when you want to, compare Employee Access permissions between a customized role and the role on which it is based. To compare permission differences between two or more roles, go to Setup > Users/Roles > User Management > Show Role Differences Employee Access permissions are part of the Advanced Employee Permissions feature. This feature gives Administrators more flexibility and control over the fields and sublists on the employee record that are available to the role. To enable feature, go to Setup > Company > Enable Features. On the Employees subtab, in the Permissions section, check the Advanced Employee Permissions box. For more information see the help topics Advanced Employee Permissions Overview and Showing Role Permission Differences. New File Cabinet Default for Hide Attachments Folder Preference To ensure that only users with adequate permissions can access confidential records and associated files in the File Cabinet, the attachments folder is now hidden by default. As of 2020.1, the Hide Attachments Folder box on the General Preferences page is checked for all new customers. Change Administration 14 When the Hide Attachments Folder box is checked, the following folders in the File Cabinet are visible to Administrators only:
  • Attachments Received
  • Attachments Sent
  • Mail Merge To manage this preference, Administrators can check or clear the Hide Attachments Folder box at Setup > Company > Preferences > General Preferences. For more information, see the help topic Restricting Access to File Cabinet Folders. Antivirus Scanning on File Cabinet Files in All Accounts As of 2020.1, all NetSuite accounts are protected against viruses and malware to provide increased security. An embedded antivirus scanner automatically scans all new and updated files as they are uploaded to the File Cabinet. Files are uploaded only if they pass the scan. Files attached to email messages are also scanned for viruses. All scanning is done automatically. No configuration or setup is required. For more information, see the help topic Antivirus Scanning on File Cabinet Files. Internationalization Introducing Localization Context – User Event and Client Script Association NetSuite 2020.1 introduces support for record localization context, and the ability to filter script execution according to localization context. Developers can use these features to tailor scripts for certain countries, and to prevent these scripts from deploying unnecessarily on records associated with other countries. Limiting script execution in this manner can improve record performance. For more information about these features, see the following:
  • Determining the Localization Context
  • Records That Support Localization Context
  • Localization Context–Aware Scripts For more information about setting up localization context filtering for user event and client script execution, see Localization Context Filtering for SuiteScript 2.0. Localization context filtering is supported for scripts in bundles. For information, see Localization Context Filtering Supported for Scripts in Bundles. Determining the Localization Context The localization context of a record represents the country or countries associated with that record. The system automatically determines the localization context of a record on the basis of the values in specific country fields, such as subsidiary and tax nexus fields. These values represent individual countries, such as France, United Kingdom, or Germany. Change Administration 15 The system follows a defined process to determine the localization context for a record, based on a variety of factors. The following diagram illustrates this process: START What is the Subsidiaries Item Record Type? Entity (Country) Transaction Is the Record The record type is Type a Fulfillment? Yes now set to a fulfilled transaction. No Subsidiary (Country) Is the Record + Type an inter-company Yes ToSubsidiary transfer order? (Country) Does the item No include child Yes Subsidiary + Children subsidiariers? (Country) Is the Does the Record Type a Nexus (Country) Yes Record Instance have Yes No Taxable Transaction? a Nexus? Subsidiary (Country) No No Subsidiary (Country) The process progresses through the decision tree from the “START” to one of the results in dark–gray rectangles. The results of the process list the field on which the specific localization context is based. For example, if the result is “Subsidiary (Country),” the localization context is based on the value of the country field of the respective subsidiary. The localization context of a record can contain multiple countries; it is not limited to a single option. When scripts are filtered based on localization context, a script is run if its context association rule is set to at least one of the countries of the localization context. For localization context filtering in client scripts, the determination of localization context is dynamic:
  1. A user changes a field which is used to determine the localization context of a record.
  2. Context determination is immediately triggered again to make sure that the localization context is correctly set.
  3. Based on the new localization context, the relevant scripts are loaded from the server and attached to the record and the scripts that are no longer applicable are detached. For more information about determination of localization context, see Localization Context. Change Administration 16 Records That Support Localization Context Use of the localization context feature is currently limited to standard records of the following types:
  • Item
  • Transaction
  • Entity For more details about supported records, see Records that Support Localization. Localization Context–Aware Scripts As of NetSuite 2020.1, administrators and other users with access to scripts can set up a localization context association rule for a SuiteScript 2.x user event or client scripts. You can set a localization context association rule on the script deployment record by selecting the country or countries for which a script is relevant. Script deployments with a localization context association rule result in context–aware scripts. Localization context–aware scripts only run on records associated with a defined country or countries. The execution of context–aware scripts is filtered by comparing the localization context of the record to the country values selected on the script deployment record. This filtering is useful for users with subsidiaries in multiple countries, because it causes the script deployment to run faster. For more details on how to set up a localization context association rule that filters script execution based on records’ associated countries, see Localization Context Filtering for SuiteScript 2.0. During script deployment, the localization contexts of records are verified against the countries selected on the script deployment record before these scripts load and run. The context–aware scripts skip other records. Script maintenance is easier, because you can be sure that scripts only run on relevant records. Note: Any and all scripts created before NetSuite 2020.1 are not localization context-aware to guarantee backward compatibility. Example: The record localization context is determined as “France” and the context association rule is employed — the scripts deploy in the following way:
  • The context–aware scripts deploy only on the records with localization context “France.”
  • Any other scripts deploy on all the records. Subsidiary Hierarchy Modification As of 2020.1, NetSuite enables users with appropriate permission to modify their subsidiary hierarchy structure, if required. Businesses may need to modify their subsidiary hierarchy when they change the headquarter subsidiary, or to elevate a subsidiary in the hierarchy. For details about the subsidiary hierarchy modification functionality, see Subsidiary Hierarchy Structure Modification. Contact Customer Support for assistance with subsidiary hierarchy modification. Automated Intercompany Management Preferences Relocated As of 2020.1, the Automated Intercompany Management feature preferences have been removed from the Items/Transactions subtab on the Accounting Preferences page. These preferences are now located at Setup > Accounting > Preferences > Intercompany Preferences. You must have the Setup Accounting permission to access the Intercompany Preferences page. For more information about the Automated Intercompany Management preferences, see Intercompany Preferences. Change Administration 17 Internal Tags Displayed in Translated Record and Transaction Names You may see internal tags in translated record and transaction names in the user interface. For example, instead of Record, you may see {#Record#}. These tags may be related to record renaming. If you find these tags displayed in the user interface, please contact NetSuite Customer Support so that we can make a correction in a future release. For more information about contacting NetSuite Customer Support, see the help topic NetSuite Support. For more information about renaming records, see the help topic Renaming Records and Transactions. Authentication OAuth 2.0 Delegated Access for REST Web Services and RESTlets A new approach to access REST Web Services and RESTlets is now available. OAuth 2.0 provides an alternative to Token-based Authentication. OAuth 2.0 is more straightforward to implement, because request signing is not required. OAuth 2.0 has a standard authorization code grant flow at the end of which an application gets a pair of tokens – an access token and a refresh token. The access token is valid for 60 minutes and is used to access the protected resource. After the access token expires, the application uses the refresh token to request a new access token, without the requirement to initiate the flow from the very beginning. Note: The refresh token expires after 7 days. After it has expired, an application initiates the flow from the first step. The authorization code grant flow for OAuth 2.0 consists of the following steps:
  1. An authorization request is sent to the authorization endpoint URI.
  2. If there is no active session, the user logs in NetSuite. When the authorization request is received, a consent screen displays where the user can allow or deny authorization for an application to access protected NetSuite resources. If the user grants access to the application on the consent screen, the redirect follows to redirect URI with the authorization code received.
  3. The application exchanges the authorization code for the access and refresh tokens on the Token Endpoint URI. To enable OAuth 2.0 feature, go to Setup > Company > Enable Features. On the SuiteCloud tab, in the Manage Authentication section, check the OAuth 2.0 box. When this feature is enabled, the user must configure the use of OAuth 2.0 on the integration record. Defining OAuth 2.0 on Integration Records To define OAuth 2.0 on integration records, go to Setup > Integration > Manage Integrations. To edit a record, click the name of the record. To create a new record, click New. On the Integration setup page, you should set values for the following fields:
  • Scope – You must choose the type of protected resources for which a user can use OAuth 2.0 for access. You can enable RESTlets, REST web services, or both.
  • Redirect URI – You must enter a Uniform Resource Identifier (URI) that uses the HTTPS protocol (recommended) or a custom URL schemes. Change Administration 18 Important: The transport-layer security is mandatory on the Redirect URI.
  • Authorization Code Grant – You must check this box for OAuth 2.0 to work.
  • For the following optional fields, select files that have been uploaded to your File Cabinet:
    • Application Logo
    • Application Terms of Use
    • Application Privacy Policy After you save the page, the system displays the client ID and client secret. You should save the client ID and client secret, as they are required for client authentication in OAuth 2.0 authorization code grant flow, when the access and refresh tokens are generated. Warning: The client ID and client secret are only displayed after you save a new integration record. If you lose or forget the client ID and client secret, you must reset them to obtain new values. Treat these values as you would a password. New OAuth 2.0 Permissions The OAuth 2.0 feature introduces two new permissions:
  • OAuth 2.0 Authorized Applications Management:
    • Is primarily for Administrators or roles with Core Administration Permissions.
    • Requires two-factor authentication (2FA).
    • Enables users to view or revoke any OAuth 2.0 authorized applications in the account.
  • Log in using OAuth 2.0 Access Tokens – enables users to:
    • Access REST Web Services and RESTlets using OAuth 2.0 access tokens.
    • View their OAuth 2.0 authorized applications.
    • Revoke OAuth 2.0 authorized applications they authorized previously. Deprecation of Google OpenID SSO and NetSuite Inbound SSO Features Google OpenID Single Sign-on (SSO) and the NetSuite proprietary Inbound Single Sign-on (SSO) features are targeted for deprecation. Partners and customers with solutions based on these features must update these solutions to use an alternative inbound single sign-on feature. OpenID Connect (OIDC) SSO and SAML SSO provide alternatives for inbound SSO access to NetSuite and Commerce websites.
  • To use OpenID Connect (OIDC) SSO, see the help topic OpenID Connect (OIDC) Single Sign-on. See also OpenID Connect (OIDC) Access to Web Store.
  • To use SAML SSO, see the help topics SAML Single Sign-on and SAML Single Sign-on Access to Web Store. The deprecation schedule is as follows:
  • As of the 2020.1 upgrade, partners and customers will no longer be permitted to use the NetSuite proprietary Inbound SSO feature or the OpenID SSO feature to create new solutions.
  • Before the 2020.2 release, partners and customers must migrate existing solutions using OpenID SSO to use OpenID Connect (OIDC) or SAML SSO. Change Administration 19
  • Before the 2021.1 release, partners and customers must migrate existing solutions using NetSuite Inbound SSO to use OpenID Connect (OIDC) or SAML SSO. In addition to the deprecation of the NetSuite and Google OpenID inbound SSO features, requests using the ssoLogin operation to access SOAP web services must transition to use Token-based Authentication (TBA). See Operations Removed in 2020.1 SOAP Web Services Endpoint. See also Token- based Authentication (TBA) and Token-based Authentication and Web Services. TBA Authorization Flow Enhancements The Token-based Authentication (TBA) Authorization Flow has been enhanced to improve the experience for application developers. Enhancements include:
  • The realm parameter (also called the Company ID and the Account ID) is no longer required. For the first two steps of the flow, the developer should use the account-specific domain. However, if the account ID is not known, requests can be sent to the system.netsuite.com domain.
  • The callback URL now supports multiple ports on a localhost (http://localhost:). This is the only case where use of the asterisk () character is permitted.
  • A new tokeninfo endpoint returns information about a user based on the access token. The endpoint is https://.restlets.api.netsuite.com/rest/tokeninfo, where is a variable for the company’s account ID. A response to a GET request contains data in JSON format, including information such as:
    • Company Name
    • Company ID (account ID)
    • Role Name
    • Role ID
    • Entity ID For more information, see the help topic The Three-Step TBA Authorization Flow. Inbound SSO Access to Commerce Websites Through OpenID Connect (OIDC) As of 2020.1, OpenID Connect (OIDC) can be used to access Commerce websites as an alternative to SAML Single-Sign on. With OIDC, users have autonomy over security administration because an OpenID Connect Provider (OP) manages security administration. The following restrictions apply to the use of OIDC for Commerce websites:
  • OIDC access is supported only for websites on custom domains, not on netsuite.com.
  • You cannot use both SAML Single Sign-on and OIDC Single Sign-on for the same website. You must choose one single sign-on method.
  • All users must use the same type of credentials, either logging in using the website login form or OP login form.
  • A website must be fully protected to support the OIDC Single Sign-on feature. To provide this protection for the website, you must do the following:
    • On the Set Up Web Site page, on the Web Presence subtab, in the Web Site section, check the Advanced Site Customization box.
    • Go to Setup > Site Builder > Set Up Web Site. On the Shopping subtab, in the Registration Page section, check the Password-Protect Entire Site box. Change Administration 20 To enable OpenID Connect (OIDC) feature, go to Setup > Company > Enable Features. On the SuiteCloud tab, in the Authentication section, check the OpenID Connect (OIDC) Single Sign-on box. An Administrator must configure an application’s OIDC access to NetSuite. The first step is to choose an OP. To find a certified OP vendor, go to https://openid.net/certification. To register a client application (website), use the OP administration tools with the client_secret_basic authentication method. Use the client ID and client secret to configure the inbound single sign-on for websites in NetSuite. Important: The OIDC configuration is not shared between the NetSuite application and Commerce websites. An Administrator must configure OIDC on the SSO tab of the website’s setup page. Website users must be assigned the OpenID Connect (OIDC) Single Sign-on permission to log in to the website successfully. If a valid configuration of OIDC is present for a website:
  • If there is no active session, users are redirected to the OP login form for authentication. After successful authentication, users are returned to the requested protected resource.
  • If there is an active session, the requested protected resource is displayed. Note: Single logout (SLO) is not supported at this time. Service Provider-Initiated Flow Support for SAML Single Sign- on Access to Commerce Websites Users can now access Commerce websites using the Service Provider-Initiated Flow for SAML Single Sign-on. If you have a valid configuration of SAML Single Sign-on for a website, the Service Provider- Initiated flow starts with a SAML request from the Service Provider. Users authenticate themselves with the Identity Provider (IdP). After authentication, users are redirected to the requested protected resource. Support for this feature is available only in accounts where the SAML Single Sign-on feature is enabled. The following restrictions apply to the Service Provider-Initiated Flow:
  • The SAML Single Sign-On Service Provider-Initiated Flow is supported only for websites on custom domains, not on netsuite.com.
  • You cannot use both SAML Single Sign-on and OIDC Single Sign-on for the same website. You must choose one single sign-on method.
  • All users must use the same type of credentials, either logging in using the website login form or IdP login form.
  • A website must be fully protected to use the SAML Single Sign-On Service Provider-Initiated Flow. To protect your website, you must do the following:
    • On the Set Up Web Site page, on the Web Presence subtab, in the Web Site section, check the Advanced Site Customization box.
    • Go to Setup > Site Builder > Set Up Web Site. On the Shopping subtab, in the Registration Page section, check the Password-Protect Entire Site box. Session Invalidation on Commerce Websites Can Result from Changes to User Credentials For enhanced security, if a user’s credentials are changed during an active Commerce website session, the user is now automatically logged out of the website. This change in behavior is referred to as explicit Change Administration 21 session invalidation. A change in a user’s credentials ends the session if the change occurs while the user is logged in. User credentials include a user’s password, if the assigned role exists or an entity is active. For example, logged-in users who change their passwords are now automatically logged out of the website. These users must log in to the website again, creating new sessions using their new passwords. This automatic logout also occurs if a website administrator makes changes to a user’s credentials while the user is logged in to the website. Explicit session invalidation applies to all SuiteCommerce Advanced, SuiteCommerce, SuiteCommerce My Account, and Site Builder websites. Password Policy Changes for Commerce Websites As of 2020.1, a stronger password policy is now enforced for Commerce websites. The stronger policy applies to any newly created or changed password for users who register on Commerce websites and to users logging in with the Customer Center role. The stronger policy is not enforced for existing users with passwords that do not match the new criteria, unless the existing users change their passwords. Changes to the password policy include:
  • The minimum password length has changed from six characters to eight characters.
  • Easy to guess or potentially compromised passwords are now prohibited. Embedding Sensitive Website Pages in an iFrame is Prohibited Oracle NetSuite prohibits the presentation of sensitive pages in an iFrame (an inline frame, using the HTML tag
  • As of 2020.1, integration requests sent to data center-specific domains will no longer be processed in sandbox, special purpose, and Release Preview accounts. In most cases, requests to the following domains will be affected by this deprecation:
    • webservices.na0.netsuite.com
    • webservices.eu1.netsuite.com
    • rest.na0.netsuite.com
    • rest.eu1.netsuite.com Change Administration 22 Note: Special purpose accounts include test drive, development, demo, and student accounts. A few special purpose accounts use the webservices.na2.netsuite.com and rest.na2.netsuite.com data center-specific domains. Special purpose accounts sending requests using these domains will also be affected by the deprecation.
  • Targeted for 2020.2, integration requests sent to data center-specific domains will no longer be processed in production accounts. In cases where an application accesses more than one NetSuite account, you can use dynamic discovery methods to obtain the correct URLs. For information about the available discovery methods, see the help topic Dynamic Discovery of URLs for SOAP Web Services and RESTlet Clients. All NetSuite account types can still access the following domains for dynamic discovery purposes:
  • webservices.netsuite.com: To dynamically discover the URL for SuiteTalk SOAP web services requests.
  • rest.netsuite.com: To dynamically discover URLs for NetSuite services in RESTlets, or the URL for SuiteTalk REST web services. Automated Conversion of Data Center-Specific Domains in NetSuite Before 2016.2, all NetSuite domains contained a data center identifier as part of the domain name. This data center identifier made it difficult to move an account to a different data center. To take full advantage of NetSuite’s cloud architecture, you should not use data center-specific URLs to access NetSuite resources. Account-specific domains were introduced beginning in 2016.2. An account-specific domain includes your NetSuite account ID as part of the domain name. Account-specific domains are available for access to the NetSuite UI, and for external (Online) forms, External Suitelets, RESTlets, SuiteTalk SOAP and REST web services, SuiteAnalytics Connect, and external catalog sites (WSDK). For more information, see the help topic URLs for Account-Specific Domains. You should transition to use account-specific domains as soon as possible. The NetSuite application can help you and your users during this transition. Assistance with the Transition to Account-Specific Domains The NetSuite application offers several methods to assist you during the transition to account-specific domains:
  • Automatic Redirection
  • Automatic On-Read Translation of Data Center-Specific URLs
  • Traffic Health Note: You should transition your integrations to use account-specific domains as soon as possible. See Data Center-Specific NetSuite Domains for Integrations are Targeted for Deprecation. Automatic Redirection When users access the NetSuite UI, the browser automatically redirects them from the system.netsuite.com domain to an account-specific domain. This redirection is transparent for users. Change Administration 23 Automatic On-Read Translation of Data Center-Specific URLs You should transition from using data center-specific URLs in your account. However, it is not always possible to quickly change all of your embedded links to use account-specific domains. Data center- specific links may be embedded in the Shortcuts portlet, in custom fields and custom center links, and in marketing campaign email and online forms. When the NetSuite application encounters a data center- specific URL during an active session, it automatically translates the URLs in the request to an account- specific domain. This automatic translation is transparent for users. For custom center links and custom fields, data center-specific URLs are translated on-read to the account-specific domain. (That is, as the URL is read, the system translates a data-center specific URL to the appropriate account-specific domain URL.) The on-read translation of the URL has the benefit of making an extra HTTPS request unnecessary. An extra HTTPS request would normally result in an HTTP response status 301 Moved Permanently for a permanent redirect, but this error does not occur. The correct URL using the account-specific domain URL is already part of the rendered data or page in the browser. Important: Be aware that on-read translation does not change the hard-coded data center- specific URLs in your account. This feature translates these URLs to account-specific domains during active sessions. You should make a plan to update the data center-specific links in your account and replace them with links containing your account-specific domain. For more information, see the following release notes:
  • Account–Specific Domains Supported in Custom Fields and Custom Center Links
  • Account-Specific Domains for Marketing Campaigns and Online Forms Traffic Health The Traffic Health page is available in the NetSuite UI. The Traffic Health page can help you find URLs for SOAP web services and RESTlet requests in your account that are using data center-specific domains. Administrators and other users with the Set Up Company permission can go to Setup > Company > Company Management > Traffic Health to access this page. For more information, see the help topic Traffic Health. Note: Requests that are automatically redirected by the HTTP protocol are shown in Traffic Health reports. For example, the extra HTTPS request necessitated by an automatic redirect is shown on a Traffic Health report. For more information, see the help topic How to Transition from Data Center-Specific Domains New Content Delivery Network Available for Secure Commerce Websites A new Content Delivery Network (CDN) is available for secure Commerce websites. The new CDN, a new hosting infrastructure, and a new type of SSL certificate work together to increase the security of your Commerce website. When you change over to a different CDN, it is a good practice to change the keys used by the SSL certificate. Changes to the SSL certificate renewal process support this practice. After May 31, 2020, you will not be able to use your existing SSL certificate together with CDN caching. Before the deadline, you will have to obtain a new certificate where Oracle NetSuite manages the certificate key pair for CDN functionality to remain enabled. Oracle NetSuite now offers you two options for certificate deployment. Change Administration 24
  • Automatic Certificate option: Oracle NetSuite offers the Automatic Certificate option, at no additional cost to you, to simplify the process of retrieving a new certificate.
    • In 2020.1, Oracle NetSuite can obtain a Domain Validated (DV) certificate dedicated exclusively to your NetSuite-hosted website. This process is completely transparent to you and your account. Oracle NetSuite will also handle renewal of these certificates.
    • You can enable the Automatic Certificate option on the Domain page in the NetSuite UI. (Go to Setup > SuiteCommerce Advanced /Site Builder > Domains). The Automatic Certificate option lets you seamlessly migrate to a new DV certificate. Selecting the Automatic Certification option permits Oracle NetSuite to obtain and manage your certificate.
    • This NetSuite-managed certificate is exclusively for your NetSuite-hosted website. This exclusivity prevents potential malicious misuse of your website certificate. It is not possible to export the private key of the certificate from NetSuite.
  • Manual Certificate option: If you prefer to use a certificate issued by a Certificate Authority (CA) of your choice, you will be able to download a CSR (Certificate Signing Request) for your domain in the NetSuite UI. Your CA must process this CSR. When you receive the certificate from your CA, you must upload it through the NetSuite UI so that the certificate can be deployed to your NetSuite-hosted website. You cannot deploy this certificate outside of NetSuite. If you wish to manage the SSL certificate yourself, you must act well in advance of May 31, 2020. You must download the CSR from NetSuite, obtain a certificate from a CA of your choice, and upload the certificate to NetSuite. Important: If you cannot replace your certificate by May 31, 2020 (using either the Automatic Certificate or the Manual Certificate option) Oracle NetSuite will temporarily switch off the CDN caching for your website. Without caching, your website performance may be slower. Switching off the CDN gives you more time to replace your certificate. You can enable CDN caching again after you use either of the two available options to replace your certificate. The new CDN will be a front-end domain, hosting websites even for domains that are not configured for caching. After the upgrade to 2020.1, you must use the new certificate deployment options to renew expiring certificates for Commerce websites. Oracle NetSuite will generate the CSR. You will no longer be able to generate the CSR yourself with OpenSSL as you may have done in the past. For more information, see the help topic Prerequisites for Setting Up Secure Domains. Incorrect HTTP Status Code 206 is Changing to 500 In the past, some browsers inappropriately processed the HTTP status code 500 (Internal Server Error). As a work-around for such situations, NetSuite began using the HTTP status code 206 (Partial Content). The problem that caused some browsers to inappropriately process the 500 error code has long been resolved. However, this work-around (returning the 206 status code) continued to be used in NetSuite. In 2020.1, NetSuite will start returning the correct HTTP status code 500 instead of returning status code

Important: Attention NetSuite customers, partners, the Software Development Network (SDN), and NetSuite Professional Services (PSG): You may have created customizations (for example, RESTlets or Suitelets) where the way the error is handled depends on the HTTP status code 206 (Partial Content). If so, these customizations should be modified so that they also support the correct status code 500 (Internal Server Error). HTTP status code 500 corresponds to the actual error situation that may occur in NetSuite. This workaround (incorrectly returning the 206 status code) is targeted to be removed from NetSuite in June 2020. Change Banking 25 Banking NetSuite 2020.1 includes the following enhancements to banking features:

  • Bank Feeds
  • Financial Institution Connectivity API
  • Bank Data Matching Improvements
  • Bank Statement Parsers Enhancements Bank Feeds Administrators who have online banking set up with their financial institution can now set up bank feeds directly from their financial institution accounts. This feature enables you to monitor and manage your cash flow needs with better accuracy and predictability. To set up bank feeds, you can use the new Bank Feeds SuiteApp, which uses a third-party data aggregation service to securely connect to financial institutions. To use the SuiteApp, your NetSuite role must have the Financial Institution Records permission with a full access level. When you set up bank feeds with the Bank Feeds SuiteApp, you can:
  • Directly connect to supported financial institutions in the United States and Canada
  • Automatically import bank data and account balances on a daily basis directly from your financial institution into NetSuite, which eliminates the need for manual import
  • Receive daily updated cash balances Note: The Bank Feeds SuiteApp is only available for financial institutions in the United States or Canada. However, another way you can set up bank feeds is to develop a custom plug-in and use it in a format profile record. For details, see Financial Institution Connectivity API. Whether you use the SuiteApp or develop your own plug-in, you need to configure a connection to your financial institution. You do this on the new Connectivity Configuration subtab on the format profile record. For details, see Configuring a Connection to a Financial Institution. After configuration, the Account Mapping subtab is populated with information according to the financial institution accounts for which you have a configured connection. The following illustration displays a populated Account Mapping subtab: For more information, see Mapping Accounts for Direct Connectivity. After you save the format profile, NetSuite securely downloads the last 60 days of available bank data, by default. NetSuite also schedules daily updates of your financial data. Note: This schedule is generated by the system and cannot be modified. Updated bank balances and imported bank data appear on the Match Bank Data page (previously called Confirm Transaction Matches). In addition to daily updates, there is also a manual update function on the Match Bank Data page. For details, see Updating Imported Bank Data. Change Banking 26 As soon as you log in to NetSuite, you can view the status of your accounts through the Account Reconciliation Summary portlet on the Home dashboard. To go to the Match Bank Data page, click the value in the Items to Match column next to an account. Financial Institution Connectivity API Note: The Financial Institution Connectivity API replaces the Bank Connectivity API, which is deprecated as of 2020.1. In 2019.2, you could only import a bank statement file manually on the Statement File Import page. In 2020.1, you can use the new Financial Institution Connectivity API to develop a SuiteScript plug-in that can automate the import process. A Financial Institution Connectivity Plug-in, in conjunction with a Parser Plug-in, provides an alternative way to set up daily bank feeds, if you cannot use the Bank Feeds SuiteApp. The API enables you to develop custom SuiteScript plug-ins built for specific financial institutions. You can use these plug-ins for financial institutions both inside and outside of the United States and Canada. Note: The SuiteApp includes a single non-configurable plug-in that you can only use for financial institutions in the United States or Canada. The API also enables you to develop your own connectivity applications that provide more options for the way that your system connects to financial institutions. For more information on the Financial Institution Connectivity Plug-in and its benefits, see Financial Institution Connectivity Plug-in Overview. For details on the Parser Plug-in, see the help topic Parser Plug- in Overview. You can also use the Financial Institution Connectivity API to develop plug-ins in the SuiteCloud Development Framework (SDF). For an overview of SDF, see the help topic SuiteCloud Development Framework Overview. In NetSuite 2020.1, to use a custom Financial Institution Connectivity plug-in, you must always create and configure a financial institution and format profile record. Note: You can only use standard plug-ins in the format profile provisioned by the Bank Feeds SuiteApp. To configure a direct connection to your financial institution, select a plug-in from the new Connectivity Method dropdown list on the Format Profile page. For details on direct connectivity, see Bank Feeds. Note: After you save a format profile with a custom Financial Institution Connectivity Plug-in, you cannot modify the selected plug-in. To import manually, select the Manual Import option from the Connectivity Method list. Change Banking 27 Note: Existing format profile records use the manual import method, which you cannot change. For information on configuring format profiles in general, see the help topic Creating Format Profiles. For information on configuring financial institution connectivity, see Configuring a Connection to a Financial Institution. For information on mapping accounts in a format profile that uses the direct connectivity method, see Mapping Accounts for Manual Import. Bank Data Matching Improvements NetSuite 2020.1 includes the following enhancements to the matching process:
  • Exclude Imported Bank Data
  • Bank Feeds with a Manual Update Function
  • Resize Column Width and Reorder Grid Columns
  • Workflow and Label Improvements Exclude Imported Bank Data On the Match Bank Data page, you can now review and exclude imported bank data from the matching process on the To Be Matched subtab (previously called Unmatched). You may want to exclude a transaction if it is old or a duplicate. To exclude data, see Excluding Bank Data from the Matching Process. Bank Feeds with a Manual Update Function Previously, financial institution account data on the Confirm Transaction Matches page was static. You had to manually import new data for reconciliation. In 2020.1, if the administrator configures a format profile for direct connectivity, NetSuite automatically updates bank data each day. On the Match Bank Data page, you receive newly imported bank data, as well as daily bank balances of the account and the bank balance date. For more details, see Bank Feeds. If your account in NetSuite does not contain the latest data, or if there was an import error, you can initiate a manual update on the Match Bank Data page. The Intelligent Transaction Matching feature automatically matches any data that NetSuite creates after the last successful import. For details, see Updating Imported Bank Data. For details on custom matching rules and manual transaction matching, see the help topics Creating Custom Transaction Matching Rules and Creating Posting Transactions During Matching. Resize Column Width and Reorder Grid Columns The process to view unmatched and matched data includes the following improvements:
  • Resize column widths – Text in a field is sometimes too long to fit in the column. Resize the column width to view the full information. See Viewing Details of Account Transactions.
  • Reorder columns – Adjust the order of columns to suit your needs. For example, you can move the Amount columns next to each other for comparison. See Filtering Imported Bank Data and Account Transactions. Change Banking 28 Workflow and Label Improvements The bank data matching workflow includes the following improvements:
  • Label changes – For a more intuitive user experience, the following label updates appear on the Match Bank Data page for 2020.1:
    • To indicate that the data requires manual matching, the Unmatched subtab is now To Be Matched.
    • To indicate that the matches are ready to submit for reconciliation, the Review Matches subtab is now Matches to Submit.
    • To avoid any confusion around the difference between transaction confirmation and reconciliation, the Confirm Transaction Matches button is now Submit. After you match transactions, submit your matches for reconciliation. Note: A banner message appears that says NetSuite is confirming and clearing transactions. To reconcile your matches, click the new Reconcile Account Statement link at the top of the page.
  • New links – The top of the Match Bank Data page now includes a horizontal list of links that let you do other tasks, such as import or reconcile data. The links that appear are role-dependent and can include the following:
    • Import Statement
    • Reconciliation Matching Rules
    • Go To Register
    • Reconcile Account Statement The Reconcile Account Statement page also contains a horizontal list of links (role-dependent), which includes the following:
    • Reconciliation History Report
    • Reconciled Statements List Page
    • Go To Register Employee Management NetSuite 2020.1 includes the following enhancements to Employee Management features:
  • Manager Self-Service Enhancements for Employee Change Requests
  • CSV Import for Effective Dating
  • Advanced Employee Permissions Customizable Restrictions
  • Advanced Employee Permissions Exclusion of Employees Permission
  • New Permission for Advanced Employee Permissions
  • Bonuses in Compensation Tracking
  • Expense Account Override
  • Employee-Specific Expense Report Attachments in File Cabinet
  • Time Modification Enhancements
  • Vendor Time Thresholds
  • New Employee Fields and Reports Added for U.K. Localization Change Employee Management 29
  • Onboarding Checklist Enhancements Manager Self-Service Enhancements for Employee Change Requests In NetSuite 2020.1, the Employee Change Request feature has been enhanced with two improvements:
  • Guidelines and relevant links
  • Salary and job duration insights If you are an HR Administrator, you can enter guidelines and relevant links on the Employee Change Request Type page to assist managers in initiating employee change requests (ECRs). The insights for employee change requests show the range of employees’ salary increases and job duration based on two years of organizational data. These insights provide context for the potential change and help managers and approvers make an informed decision when approving or declining change requests. To enable and select insights, go to Setup > HR Information System > Employee Change Request Types and click the Insights tab on the change request type. For more information, see the help topic Setting Up Employee Change Request Types. CSV Import for Effective Dating In NetSuite 2020.1, customers can use CSV Import to perform bulk updates to the employee record for a past, current, or future date. This feature supports all effective-dated fields in the employee record. To use CSV Import for Effective Dating, you must have:
  • Full permissions for Import CSV Records
  • Full Employee permissions
  • Full Employee Record permissions
  • Edit permissions for Employee Effective Dating
  • Edit permissions for Employee Change Reason To perform a CSV Import with Effective Dating, include the following columns
  • Internal ID
  • Effective Date
  • Change Reason
  • Change Reason Details Order the rows in the CSV from past to future-dated changes. When dealing with effective-dated conflicts, the system will automatically apply future-dated changes as they come up. For details, see the help topic CSV Imports Overview. The imported changes can be viewed in the Effective Date Log. Advanced Employee Permissions Customizable Restrictions In NetSuite 2020.1, you can now customize restrictions for Advanced Employee Permissions to restrict a role’s access to employee records by location and subsidiary. Previously, you could only select from the following restrictions: Change Employee Management 30
  • Active & Non-Terminated
  • Subordinates
  • Own Only
  • Inherit From Role To customize restrictions for Advanced Employee Permissions, you must have the Manage Custom Restrictions permission. For details, see Custom Restrictions for Advanced Employee Permissions. Advanced Employee Permissions Exclusion of Employees Permission In NetSuite 2020.1, the Lists > Employees permission takes precedence over any of the employee permissions that are part of the Advanced Employee Permissions feature. This change is a step in separating the legacy permission model from the Advanced Employee Permissions feature. The Lists > Employees permission gives full-record access to employee records. The Advanced Employee Permissions feature makes it possible to give access to only specific fields and sublists on employee records. You should review the standard and custom roles in your account that include the Lists > Employees permission. Make sure that all users with these roles should continue to have full access to employee records. For any users who should not have full access to employee records, you can assign them to a different role that does not include the Lists > Employees permission. If you have the Administrator role, you can create alternate custom roles for these users. For details, see the help topic Advanced Employee Permissions Overview. New Permission for Advanced Employee Permissions In NetSuite 2020.1, the Advanced Employee Permissions feature now includes the Employee Record Full permission. A role with this permission can access all the information on the employee record, except for the fields and sublists that the Employee System Access permission exposes. For more information, see Employee Record Full Permission Overview. Bonuses in Compensation Tracking The Compensation Tracking feature now supports employee bonuses. You can create multiple bonus types, such as annual bonus, sign-on bonus, and so on. You can also track bonus targets and bonus awards for your employees. If you use SuitePeople U.S. Payroll, you can pay bonuses to your employees. For more information, see the help topic Compensation Tracking. Pay Employee Bonuses with SuitePeople U.S. Payroll When you use the Compensation Tracking feature and SuitePeople U.S. Payroll together, you can pay bonuses to your employees. On a payroll batch, to include bonuses for the pay period, you can check the new Pay Bonuses box. You can also set a preference to check the Pay Bonuses box by default. For more information, see Integrating Bonuses with Payroll. Workbook Template – Employee Bonus History and Current Compensation The Compensation Tracking feature includes a SuiteAnalytics workbook template, Employee Bonus History and Current Compensation. This workbook template provides a summary of employees’ current Change Employee Management 31 base compensation and a history of employees’ bonuses, if applicable. For more information, see Employee Bonus History and Current Compensation Workbook. Expense Account Override In NetSuite 2020.1, you can now select an expense account for individual expense items on an expense report. Previously, expense accounts on line items were only determined by the selected expense category. The Account field is automatically hidden on expense report forms for line items. You must customize your expense report forms to enable expense account override. You can now remove the Category field from expense reports and the field is no longer required. When added to a custom form, the Account field is now required. It is populated automatically by the Category field. However, you can update the Account field to select a different account. Note: You cannot use personal corporate card expenses if you hide the Category field on expense line items. For more information, see the help topics Understanding Expense Categories and Creating Custom Entry and Transaction Forms. Employee-Specific Expense Report Attachments in File Cabinet NetSuite 2020.1 introduces two features to support a new expense report file structure in the File Cabinet. The new structure is required in NetSuite 2020.2. To enable the employee-specific attachments, go to > Setup > Company > Enable Features. Under Data Management, check the Enhanced File Security – Use Employee Specific Expense Folders box. When you enable this feature, expense file attachments automatically submit to a dedicated employee expenses folder, predefined by the system. If you have the Administrator role, you can see the contents of these folders, but employees can no longer locate or access these attachments from the File Cabinet. Employees must instead access their expense attachments from the expense report record. Also under Data Management, you can enable Enhanced File Security – Migrate Files to migrate legacy expense file attachments to their new employee-specific folders. New accounts provisioned in NetSuite 2020.1 automatically adopt the new folder structure. Existing customers can test the new file structure in the sandbox or release preview accounts. Time Modification Enhancements NetSuite 2020.1 introduces the following enhancements to bulk update time entries:
  • If you use Charge-Based Billing, you can now update unbilled or non-posted time entries with generated charges. When you update time entries with generated charges, NetSuite deletes all charges associated with the modified time and generates new charges at the next scheduled charge generation.
  • When you filter time entries on the Update Time Entries page, only time entries you have permission to edit appear in the list for selection.
  • You can bulk edit all time entries submitted for assigned projects. You must be assigned the project manager role on the project record and have full access to the Bulk Time Entry Modification permission in your assigned NetSuite role. This also enables you to edit individual time entry records and timesheets submitted for your projects. Change Employee Management 32
  • The time modification request record is now available to use with workbooks. You can use a workbook to audit all time entry updates and actions. For more information, see the help topic Custom Workbooks.
  • When you enable the Override Rates on Time Records preference, you can now see the Rate and Price Level field for each time entry available for selection.
  • When you bulk update the approval status of time entries to Rejected, you can now add a rejection note. For more information on these enhancements, see the help topic Updating Time Entries. Vendor Time Thresholds In NetSuite 2020.1, you can now disable time thresholds on vendor time. Previously, time thresholds applied to both employee and vendor time. A new preference is available at Setup > Accounting > Accounting Preferences > Time & Expenses > Time Tracking. NetSuite sets this preference by default. To disable time thresholds for vendor time, clear the Apply Time Threshold to Vendor Time box. For more information, see the help topic Time Thresholds. Item Record Management NetSuite 2020.1 includes the following enhancement to item record management features:
  • Inventory Costing Preferences Inventory Costing Preferences NetSuite 2020.1 does not allow you to access run costing after you create a transaction entry. NetSuite Administrators can still set the run costing frequency to Every Hour or Based on a Custom Schedule. Note: If there are test accounts that need the After Transaction Entry option for demonstration purposes, please contact NetSuite Professional Services. Inventory Management NetSuite 2020.1 includes the following enhancements to Inventory Management features:
  • Supply Allocation Exceptions Management
  • Partially Receive Transfer Order Fulfillment Quantities when Transfer is at Cost
  • Warehouse Management System Enhancements
    • Support for GS1 Bar Code Types
    • Inbound Shipment Management Integration
    • Multi-App Support
    • Export and Import of Custom Mobile Processes
    • SuiteScript Exposure of Warehouse Management Records
  • Supply Chain Control Tower Enhancements Change Inventory Management 33
  • Quality Management – High Volume Sampling
  • Shelf-to-Sheet Inventory Count
  • Warranty and Repairs Management Enhancements
  • Support for Printing Shelf-to-Sheet Count Records Supply Allocation Exceptions Management In NetSuite 2020.1, Supply Allocation Exceptions Management is designed to help you make informed reallocation choices. To respond to supply shortages, you can review all sources of supply and order allocations to ensure that high priority sales orders ship complete and on time. NetSuite now generates intelligent supply reallocation recommendations. To minimize the effect on all orders, these recommendations are designed to take the resources from multiple unallocated orders. System generated reallocation recommendations reduce the time to find, review, and execute reallocations. After you accept a recommendation, the system automatically re-aligns the supplies to the affected orders. After you review allocation exceptions, you can assess all your sources of supply and existing orders. You may need to select one or more order lines from less urgent customer orders to meet the target sales order line requested date and quantity. After the reallocation is approved, NetSuite automatically executes the re-allocations across the selected orders. However, if the generated recommendations are not suitable, you can generate a new set of allocation recommendations. You can then review reallocation scenarios until you define a solution. After you approve an allocation, the system returns you to the order. The following functionality is new to Supply Allocation Exceptions Management in NetSuite 2020.1. Exceptions on Demand Orders The Reallocate Order Items column has been added to the sales order page in the items subtab. This column displays a Reallocate link. When a supply order has allocated demand, a link is displayed in the Allocated Demand column. Clicking this link opens the Allocated Demand window. In the Allocated Demand window Reallocate Order Item column, clicking the Reallocate link opens the Reallocate Order Item page where you can reallocate items. Exceptions on Supply Orders When a supply order has allocated demand, the Allocated Demand column displays a link to the Allocated Demand window. You can click this link to open the Reallocate Order Item page where you can reallocate items. Change Inventory Management 34 Reallocate Order Item The new Reallocate Order Item window is available in NetSuite 2020.1. The new Reallocate Order Item window provides the following functionality:
  • You can Generate Recommendations.
  • Accept Recommendation and Reallocate to allocate the resources.
  • The targeted Sales Order # is displayed in the Reallocate Orders Item page header.
  • The Select Orders for Reallocation subtab displays possible source orders resources.
  • The Affected Orders subtab displays a system recommended list of orders, resources, and order impact.
  • The Allocated Supply subtab displays the available supplies to target and candidate orders after you allocate supplies. Change Inventory Management 35 The Order Page After you allocate resources, the original order page reopens to display the following:
  • The updated Expected Ship Date.
  • Empty Days Late and Reallocate Order Item fields.
  • Updated Allocated Supply and Quantity fields. Partially Receive Transfer Order Fulfillment Quantities when Transfer is at Cost NetSuite 2020.1 Supply Chain Management enables you to receive a quantity that is less than the quantity on the fulfillment of a transfer order. You now can create multiple partial receipts against specific fulfillments for a transfer order. In the Enter Transfer Orders form, select the Use Item Cost as Transfer Cost box to ship and receive against transfer orders when the system uses item cost as the transfer price. To learn more, see the help topic Entering a Transfer Order. To use this functionality, enable the Multi–Location Inventory. To learn more, see the help topic Enabling the Multi-Location Inventory Feature. When you check the Use Item Cost as Transfer Cost box, you can record the actual number of received items instead of the total expected quantity. Supply chain management supports the following costing methods:
  • Standard
  • Average
  • Group Average
  • FIFO Note: Accounts with multi-book cannot partially fulfill a transfer order receipt when the transfer order is at cost. Warehouse Management System Enhancements Note: Use of the Warehouse Management System (WMS) feature requires that you install the SCM Mobile and Oracle NetSuite WMS SuiteApps. See the help topic NetSuite WMS SuiteApps. NetSuite WMS 2020.1 includes the following enhancements to existing functionality:
  • Inventory Status Filter for Bin Lists - If you use the Inventory Status feature, you can show the Inventory Status column in the bin table of specific mobile pages. This enhancement applies to the list of bins in the putaway process, in the inbound shipment receiving process, and for single or multi- order picking. By default, these mobile pages display the list of bins by status. You can filter and sort bin lists by inventory status or available quantity.
  • Real-time Display of Recommended Bins List - Work order picking and single or multi-order picking now displays up-to-date lists of recommended bins on your mobile device. If you use pick strategies, they also display filtered and sorted bins based on your pick strategy definition. For more information about recommended bins, see the help topic Recommended Bin Sorting. Change Inventory Management 36
  • New Pick Strategy Filter Options - On pick strategy records, the Transaction Type filter now includes the Work Order and Replenishment options. You can apply pick strategies to either of these transaction types. For more information, see the help topic Defining Pick Strategies.
  • Updates to the Wave Transaction - To improve the tracking, display, and sorting of wave transactions, NetSuite WMS now generates sequential wave numbers. Wave transactions now set the default status to Released, instead of Pending Release. To assign pickers to pick tasks, before you save a new wave, you must set the status to Pending Release. You can delete a released wave, if all of its associated pick tasks are in a Ready or Failed status and cannot be retried. NetSuite WMS 2019.2 enhancements that are now generally available in WMS 2020.1 include the following:
  • Bulk Processing Jobs for Fulfillments of Released Orders - NetSuite WMS uses bulk processing jobs to create fulfillments for released orders. You can monitor the status of multiple bulk processing jobs in real time and view any fulfillment errors. NetSuite WMS submits bulk processing jobs for completed pick tasks, based on your Per Order or Per Order Line fulfillment preference. The processing time to generate fulfillments varies, depending on the number of transactions and other jobs in your queue. For more information about the fulfillment preference, see the help topic Setting Warehouse Management Preferences.
  • Workbook Support for Warehouse Management Records - Workbook support is available for the following records and transactions:
    • Wave transaction
    • Pick task record
    • Pick task strategy record
    • Zone record
    • Item family group record
    • Item process group record Workbook support enables you to create SuiteAnalytics workbooks with any of these records and perform record or transaction searches. NetSuite WMS 2020.1 introduces the following new functionality:
  • Support for GS1 Bar Code Types
  • Inbound Shipment Management Integration
  • Multi-App Support
  • Export and Import of Custom Mobile Processes
  • SuiteScript Exposure of Warehouse Management Records Support for GS1 Bar Code Types NetSuite WMS 2020.1 supports the following GS1 bar code types:
  • GS1-128 (1D)
  • GS1 DataMatrix (2D) You can scan the supported GS1 bar code types to enter items for inbound, inventory, or outbound processing. To set up GS1 bar codes, you must activate the Enable Advanced Bar Code Scanning system rule and map bar code data to NetSuite fields. Change Inventory Management 37 Inbound Shipment Management Integration Inbound Shipment Management Integration enables you to process inbound shipments for your warehouse. On a mobile device, you can receive items from inbound shipments, which updates the associated order and inbound shipment transactions. You can post item receipts manually or configure NetSuite to automatically generate item receipts for received orders. This integration introduces the Enable Receive All system rule for inbound shipments. You can receive all lots and serial numbers for items on which NetSuite populates the inventory detail on inbound shipment lines. Multi-App Support Multi-app support enables you to register and configure multiple mobile applications in your account with the latest SCM Mobile SuiteApp version. On a mobile device, you can switch from the NetSuite WMS application to another NetSuite mobile application. Export and Import of Custom Mobile Processes NetSuite WMS 2020.1 supports the export and import of custom mobile processes. You can export a mobile process that you customize. Then, you can also import the custom mobile process to another NetSuite account. When you configure an imported process, you can specify the roles that can access it on a mobile device. SuiteScript Exposure of Warehouse Management Records In NetSuite WMS 2020.1, the following records and transactions are exposed to SuiteScript 2.0:
  • Wave transaction
  • Pick task record
  • Pick task strategy record
  • Zone record
  • Item family group record
  • Item process group record You can create or update these records through CSV import, with the exceptions of wave transactions and pick task records. Supply Chain Control Tower Enhancements NetSuite 2020.1 provides the following enhancements to the Supply Chain Control Tower. Location Records Location records now include a User Entry Predicted Risks section that enables you to avoid inventory shortages for particular locations. The Days Late fields can define a number of days past the expected date that an item is likely to be received. The Confidence fields record the percentage of confidence you have that the Days Late prediction is accurate. The values in the Predicted Risks portlet are sourced from these location fields. For new location records, these fields default to 0 Days Late and 100% Confidence. Change Inventory Management 38 These values will be used if the Supply Chain Predicted Risks feature is not enabled or if intelligent predictions are not available. Preferences On the Control Tower Preferences page, you can define the default values for these fields on location records:
  • Vendor Predicted Days Late/Early — Default Value is 0 days
  • Vendor Predicted Risk Confidence — Default Value is 100%
  • Sales Order Predicted Days Late/Early — Default Value is 0 days
  • Sales Order Predicted Risk Confidence — Default Value is 100%
  • Transfer Order Predicted Days Late/Early — Default Value is 0 days
  • Transfer Order Predicted Risk Confidence — Default Value is 100% Supply Chain Predicted Risks NetSuite 2020.1 provides a Supply Chain Predicted Risks feature that leverages NetSuite’s IntelligentSuite capabilities to make predictions for purchase orders and transfer orders. The predictions appear in the Predicted Risks portlet of the Supply Chain Control Tower. If the feature does not a trained model to make predictions, it uses the values specified in the location record. This feature requires a past history of data to be able to create a trained model from which predictions can be made. When the Supply Chain Predicted Risks feature is enabled, the following steps occur:
  • The feature confirms that you have met the history thresholds. For purchase orders, this threshold is 500 purchase orders per vendor over the past two years. For transfer orders, this threshold is 500 transfer orders per location pair in the past two years.
  • The feature begins training the model.
  • When complete, the trained model is used to generate predictions.
  • Predictions are available in the Predicted Risk portlet the day after a purchase order is created.
  • The model is retrained every three months or when the feature is enabled. Supply Chain SuiteAnalytics Workbook NetSuite 2020.1 provides a Supply Chain Control Tower workbook that gives you access to key supply chain metrics and analytics. You can use the workbook to you can generate the standard pivot tables and charts, or customize them according to your business requirements. This workbook uses Past Due Transactions as the source, and includes the following data columns:
  • Date
  • Days Past Due
  • Item
  • Location
  • Transaction
  • Supply Quantity
  • Demand Quantity The workbook uses Supply Chain Snapshot, Item, and Supply Chain Snapshot Details as the three formula. Change Manufacturing 39 Manufacturing NetSuite 2020.1 includes the following enhancements to Manufacturing features:
  • Outsourced Manufacturing
  • Actual Production Dates
  • Manufacturing Mobile Outsourced Manufacturing The release of NetSuite 2020.1 Outsourced Manufacturing enables you to purchase outsourced assembly production from vendors. This helps you better manage your subcontracted manufacturing processes. This upgrade enables NetSuite to automatically consume (use items or products) production components and then transfer them to a specified location. Outsourced manufacturing automatically synchronizes NetSuite procurement and production transactions. NetSuite 2020.1 enables you to outsource your manufacturing efforts either from a purchase order or from a work order. Outsourced Manufacturing includes the following functionality:
  • After you edit an outsourced purchase order, the system checks for any constraints between transactions (lowering quantities or charges) to keep them synchronized.
  • After receiving an outsourced item on a purchase order, NetSuite builds assemblies for the outsourced work order. The system uses components from your stock to contract manufacturers.
  • Receive assemblies at any location within a subsidiary. The system automatically transfers finished products to the designated location.
  • NetSuite can handle serialized or lot–numbered assemblies and components.
  • The cost of the production charge is the actual charge. Each production run uses the charge on the purchase order.
  • Outsourced Manufacturing is compatible with NetSuite Supply Planning and Distribution Network. Purchase Order The new Standard Outsourced Purchase Order custom form enables you to create a purchase order for outsourced assemblies that contains specific attributes for outsourced production. For example, you can define the following outsourcing details:
  • Assemblies
  • Outsourcing Location
  • Production Start Date
  • Production End Date
  • Bill of Materials
  • Bill of Materials Revision The outsourcing form also displays the new Create WO column. When you check the Create WO box on an order line and then save the order, the system automatically creates a work order for this line and purchase order. Change Manufacturing 40 After you save a purchase order, the Create WO column displays a link to the new work order. However, if you did not check the Create WO box, a Create WO link appears in the Create WO column. Click this link to prompt the system to create a work order for this order line. After you save a purchase order, a Receive button appears in the purchase order. Click this button to open the Item Receipt window where you can receive production items from the purchase order. Work Orders Generally, if you use supply planning and create outsourced items from work orders, you can enter outsourcing-related information in the work order Outsourcing subtab. Similar to the Create WO box on outsourced purchase orders, the outsourced work order displays a Create PO link to create related purchase order. If the purchase order is not created automatically, NetSuite creates outsourced purchase orders for Firmed Work Orders for vendors and subsidiaries. Manufacturing Locations To improve inventory tracking, the Manufacturing Locations field appears in the Vendor window, Outsourced Manufacturing subtab. Click the double arrow icon to assign one or more physical locations to the vendor. Bill of Materials Create a Bill of Materials to capture final assembly costs that include outsourced production charges. For example, your organization outsources bicycle manufacturing. However, you provide seats and wheels from stock to the outsourced vendor. A single seat is priced at $20 while two wheels cost $70. The vendor provides the other components, assembly location, and assembly labor. The vendor outsourcing charge is $350. Combine the inventory outsourcing charges, 20 + 70 + 350, for a total assembly cost of $440. Standard Non-Inventory/Service/Other Charge items outsourcing charge item costs are taken from the related purchase order. Item Receipt The Item Receipt Items subtab displays a link to the assembly column. You can also select a different destination location within the same subsidiary. The production location is selected by default . If this location changes, the Inventory Transfer transaction moves inventory from the production location to the destination location. You can also click the link to open the Assembly Build Helper. Save the assembly build helper to display a link to the created assembly build and automatically create a transfer order. Assembly Build Helper The new Assembly Build Helper enables you to override existing production data, such as component quantity, lot and serial numbers, or bin–related information. Change Manufacturing 41 For example, you provide 20 bicycle seats for a production run. During assembly your vendor broke five seats. As a result, you need to provide an additional five seats from your inventory. Use the Assembly Build Helper to update the original number of seats you provided from 20 to the correct figure of 25. This means you do not have to edit the related assembly build transaction after it is created. Actual Production Dates In NetSuite 2020.1, Actual Production Dates are automatically calculated by default for related work order transactions. Actual production dates are available in Assembly Builds for Standard Work Orders, Issue Components, and Work Order Completions for WIP Work Orders. This functionality is automatically available when you upgrade to 2020.1. This new feature enables you to track actual production dates to better assess your production plans, identify problems, optimize production runs, and make data–driven decisions. NetSuite calculates production after the first build transaction starts. If you are using WIP, the calculation starts when components are issued. The system end date records when the work order is closed. The end date must occur on the same day or some time after the start date. You cannot record an end date until you entered a start date. For example, you start to a red mountain bike assembly build. You create a work order on January 16,
  1. The system records this as the production start and end dates. The work order instructions calls for 10 bicycles be built. Two bicycles were built on January 16, 2020. This is recorded as the Actual Start Date. You already eight bicycles in inventory that were built on January 10. This is the assembly transaction date. After you update the assembly build, NetSuite automatically adjusts the work order Actual Start Date to January 10. The Actual End Date is recorded as January 16. NetSuite automation logic always uses the transaction dates. In this example, the system uses the assembly builds for the non-WIP work order dates. If you prefer to control actual production dates manually, and do not want NetSuite to calculate actual production dates, you can disable this feature. However, you need to enter actual production dates manually on each work order. Mobile NetSuite 2020.1 includes the following enhancements to Mobile features:
  • iOS Push Notification Changes iOS Push Notification Changes In 2020.1, server-side updates have been made to the push notifications feature in NetSuite for iOS. To continue receiving push notifications to your devices, after your account has been updated to 2020.1, log in to your NetSuite for iOS app. This one-time action automatically applies the updated server configuration. No further action is required to continue receiving push notifications. Order Management NetSuite 2020.1 includes the following enhancements to order management features:
  • Subscription Revisions Change Order Management 42
    • Changes to Change Orders for Subscription Revisions
  • New Accounting Preference Related to Advanced Revenue Management
  • Automatically Extend Estimated Revenue Recognition End Date
  • Multi-Subsidiary Customer Integration with Billing Accounts
  • Set Subscription Charge Periods to Align with the Subscription Start Date
  • Enhancements to Standard Roles and Permissions
  • Search Enhancements
  • Enhanced Visibility into Automatic Fulfillment Request Creation
  • Create Automatic Fulfillment Requests on Expected Ship Date
  • Improved Handling of Rejected Payments
  • Visa Cards on File Mandate Compliance with Payment Instruments Enabled
  • View Automation Usage Figures on the Billing Information Page
  • Electronic Bank Payments Enhancements
  • Grid Order Management Enhancements
  • Subscription Billing Bulk Operations
  • Pricing Interval UI Enhancements
  • Add Interval to Multiple Subscription Lines
  • Route Delivery
  • Philippine Invoicing
  • Auto Close Back Orders Subscription Revisions When you create, edit, or void a subscription change order, NetSuite generates a subscription revision with the individual contract modifications and the associated revenue impacts. When you save a subscription change order, NetSuite stores all changes associated with the change order in the subscription revision. You can see a subscription revision in the following records:
  • The Subscription Line record, on the Revisions subtab, in the Subscription Revision column, as shown in the following figure:
  • The Subscription Change Order record, on the Line subtab, in the Subscription Line Revisions column, as shown in the following figure: Change Order Management 43 Any edits or deletions to subscriptions activated before 2020.1 are not tracked in a subscription revision. Subscriptions that are activated before 2020.1 create a new subscription revision only when you next save a subscription change order. For more information, see the help topic, SuiteBilling Subscription Revisions. For more information on the additional functions for this feature, see Changes to Change Orders for Subscription Revisions. Changes to Change Orders for Subscription Revisions A subscription revision saves the history of changes to subscriptions made using change orders. You can track contract and revenue changes made after activation to a specific change order. You also can track changed values over an entire contract term. You can no longer delete a subscription change order, but you can void it. Voided change orders are visible but do not impact charge amounts, so you can track the revenue change history after change orders have been removed. Using SuiteScript, you can can void a subscription change order and search and view voided change orders. You cannot edit a voided change order. To revert a subscription line to Pending Activation status, you must void all its change orders. New Accounting Preference Related to Advanced Revenue Management You can use the new Create Revenue Elements for Subscription Revisions accounting preference to determine whether to create individual revenue elements for each subscription change order. When you create a subscription and set the preference, all subscription revisions generate a separate revenue arrangement and corresponding revenue elements. When you set the Create Revenue Elements for Subscription Revisions preference, all subscription revisions generate modification elements that account for the impact on revenue. You can set this preference to generate the modification element according to the ASC-606 accounting policies for subscription modifications when you have allocated revenue. This new feature gives you the ability to prospectively merge the modification elements; you also can still retrospectively merge the modification element if that is the required accounting practice. For instructions, see the help topic, Merging to Combine Revenue Arrangements. The Revenue Summary subtab of revenue arrangements shows merged elements. For more information, see New Revenue Summary Subtab for Revenue Arrangements. Warning: After you set the Create Revenue Elements for Subscription Revisions preference, you cannot change it. For more information, see the help topic, Revenue Recognition for SuiteBilling. Change Order Management 44 Automatically Extend Estimated Revenue Recognition End Date You can now automatically extend the estimated revenue recognition end date when you create a new evergreen subscription. This improvement means that you can ensure an uninterrupted revenue stream from the subscription. You never need to manually extend the end date. To automatically extend the estimated revenue recognition end date for evergreen subscriptions, go to Setup > Accounting > Invoicing Preferences. On the Subscription Management subtab, locate the new invoicing preferences:
  • Months To Extend Estimated Revenue Recognition End Date
  • Months Prior To Estimated Revenue Recognition End Date To Initiate Auto-Extend Set each preference to an integer value of 1 to 120. To ensure an uninterrupted revenue stream, choose values that are longer than the longest billing cycle that you use. You can edit or turn off the preferences at any time. For more information, see the help topic Setting Optional Invoicing Preferences for Subscription Management. After you set these preferences, NetSuite assigns those values to every new evergreen subscription you create. If you do not set the preferences, NetSuite assigns the default values for the preferences to new evergreen subscriptions. To assign the preferences to an existing evergreen subscription, edit the Invoicing Preferences for the subscription. Multi-Subsidiary Customer Integration with Billing Accounts The Multi-Subsidiary Customer feature is now available for SuiteBilling. If you have billing accounts across subsidiaries, you can take advantage of all Multi-Subsidiary Customer features. For more information about this feature, see the help topic Multi-Subsidiary Customer Hierarchy. You can add secondary subsidiaries to customers after you complete these steps, in the following order:
  1. Enable SuiteTax. See Subscription Billing Bulk Operations.
  2. Enable Multi-Subsidiary Customer. See the help topic Enable the Multi-Subsidiary Customer Feature. Then, when you are creating billing accounts, and you select a customer with multiple subsidiaries, you can select the subsidiary. For more information, see the help topic Creating Billing Accounts. Set Subscription Charge Periods to Align with the Subscription Start Date The Align Charge Amounts with Subscription preference separates charge generation and the recurring charge pattern from the bill dates. You can now generate charges that align with the subscription start date rather than its bill dates. With prior NetSuite versions, the recurring pattern of a subscription line was always aligned with the next bill date, resulting in prorated charges and misaligned recurring charges across subscription lines. With the NetSuite 2020.1 release, all lines within a single subscription also now have a charge pattern aligned with the subscription start date instead of its bill dates. Multiple-year subscriptions with multiple charge frequencies (for example, monthly, quarterly, and annual) can now recur based on the subscription start date for better alignment of invoices. Change Order Management 45 When a subscription is in the draft or pending activation status and you set the preference, the subscription lines may display the original recurrence start date until you activate the subscription. You can set or clear the Align Charge Amounts with Subscription preference at any time. However, subscriptions have the recurrence pattern defined by the preference setting at the time of activation. For instructions, see Aligning Charge Amounts with the Subscription Start Date. Enhancements to Standard Roles and Permissions All roles have the following new viewing or editing permissions for the following records:
  • Price book
  • Price plan
  • Subscription change order The default permission level is View. There are optional permissions for Create and Edit. Roles with Full access permission can do the following actions:
  • View
  • Edit
  • Create
  • Except where noted in the help, delete For all of the SuiteBilling permissions and changes to standard roles, see SuiteBilling Roles and Permissions. The Sales Vice President role can now view subscriptions and usage. The Marketing Administrator, Marketing Assistant, Marketing Manager, Resource Manager, and Store Manager roles can now view subscription plans. Customized roles with subscriptions and subscription plan permissions are not changed by the new permissions. Only the System Administrator role can grant access to SuiteBilling subscription processes. Subscription processes include actions on subscription plans, subscriptions, price books, price plans, subscription change orders, and usage. The following roles have default permissions to access and perform subscription processes:
  • Advanced Partner Center
  • CEO
  • CFO
  • System Administrator The System Administrator role provides full access to the subscription record. For instructions, see Granting Permissions to Subscription Records. The System Administrator role can set up standard pricing that cannot be modified through the following actions:
  • Limit the number of users who can edit the subscription pricing
  • Reduce the permissions to edit a specific price plan, subscription change order, or price book In addition, usage no longer requires the accounting list permission. The Billing Specialist role without the accounting list permission can create usage through a usage record. For instructions, see the help topic Creating Usage Records. The Billing Specialist role can preview the price plan and price book of a renewed subscription before its renewal. For instructions, see Viewing Pricing Before Subscription Renewal. Change Order Management 46 Search Enhancements Subscription and Subscription Change Order searches now have Default Renewal Subscription Plan and Default Renewal Price Book columns. Enhanced Visibility into Automatic Fulfillment Request Creation A new log is available in NetSuite 2020.1 that provides information on the creation of fulfillment requests. This log enables you to audit the automation process. You can view the log directly in Business Events Processing History, under the System Information subtab of a sales order. In addition, you can use the log data to create a saved search or a SuiteAnalytics workbook. For more information, see the help topic Fulfillment Request Creation. Create Automatic Fulfillment Requests on Expected Ship Date In 2020.1, NetSuite can automatically create a fulfillment request when an expected ship date is reached. This new option is on the Advanced Order Management Setup page. When the expected ship date is a future date, this option enables the automatic creation of fulfillment requests on that date. For more information, see the help topic Fulfillment Request Creation. Improved Handling of Rejected Payments Rejected payments no longer block invoices and no longer appear as usable credit. Visa Cards on File Mandate Compliance with Payment Instruments Enabled All merchants that process credit cards must comply with the new Visa Stored Credential Transaction framework. The framework includes mandates to identify the initial storage and subsequent use of payment credentials. The mandates apply to either a Visa card or a gateway token that represents a Visa card. If you enable the Payment Instruments features, and your gateway provider supports this feature, your Visa card processing through NetSuite becomes automatically compliant with the new Card on File mandate from Visa. Note that failing to comply with the Card on File mandate may result in penalties. View Automation Usage Figures on the Billing Information Page You can now view automation usage figures on the Billing Information page in your NetSuite account. Go to Setup > Company > NetSuite Account Information > View Billing Information to view the Billing Change Order Management 47 Information page. Usage figures are based on the number of automated sales orders created in your account with any of the following Advanced Order Management (AOM) processes:
  • Automatic location assignment
  • Automatic fulfillment request creation The system updates usage figures on a daily basis. You can view the last daily increment quantity, as well as the total cumulative quantity since the anniversary date of your NetSuite account. Additional methods to view usage figures with saved searches or SuiteAnalytics workbooks are described in the Automation Capacity and Usage Fees help topic. Projects NetSuite 2020.1 includes the following enhancements to Projects features:
  • Advanced Project Budgets Enhancements
  • Advanced Project Profitability Enhancements
  • Project Revenue Recognition Enhancements
  • Preferred First Day of a Week Available for RACG Calendar Advanced Project Budgets Enhancements The Advanced Project Budgets feature now enables you to track costs and revenue and lets you define a fully customizable work breakdown structure within each budget. Advanced Project Budgets feature offers a better understanding of how to consume project budgets within individual projects and across projects. With Advanced Project Budgets, you can now:
  • Generate budget vs. actual reports across multiple projects.
  • Estimate costs based on items.
  • Estimate costs based on project resources.
  • Display actual costs which the work breakdown structure or budget does not include.
  • Generate a budget cost burn chart.
  • Display a progress bar for the forecasted margin in relation to the current budget.
  • Display the total amounts of the budget in the total row.
  • Edit a new version of the budget. NetSuite 2020.1 brings the following report updates:
  • Budget by Activity Codes – You can now use activity codes instead of item sets. NetSuite automatically creates reports which define the activity code dimension for cross-customer and cross- project reporting. The following Budget vs. Actual reports are new for 2020.1:
    • Budget vs. Actual by Activity Codes
    • Budget vs. Actual by Activity Codes Detail
    • Budget vs. Actual by Activity Codes by Month
    • Budget vs. Actual by Activity Codes by Month Detail.
  • Budget by Budget Lines – NetSuite automatically creates reports that define the work breakdown structure dimension for project reporting. The following reports are new for 2020.1: Change Projects 48
    • Budget vs. Actual by Budget Line
    • Budget vs. Actual by Budget Line Detail
    • Budget vs. Actual by Budget Line by Month
    • Budget vs. Actual by Budget Line by Month Detail.
  • Budget by Items – NetSuite does not create the Budget by Items report for new customers of advanced project budgeting. The existing reports are maintained as they are. You can create the item report manually. For more information, see the help topic Advanced Project Budgeting. See also Activity Codes. Advanced Project Profitability Enhancements NetSuite 2020.1 includes enhancements to the Advanced Project Profitability feature. If you have the Administrator role, you can now select whether to recalculate financial data once or periodically. Go to Setup > Accounting > Project Profitability > Performance to set preferences for cache, recalculation, and pre-filter of financial data. The following additional enhancements include:
  • Recalculate Financial Data – You can now initiate a recalculation of financial data and select the Recalculate Financial Data in the Actions menu on project, work breakdown structure, and budget records.
  • Display Approved Time as Actual – You can now select an approved time as an actual cost without posting the time. You can also display tracked and approved time as an actual cost on the P&L subtab. The estimate at completion and an estimate to complete calculations are more accurate.
  • Inclusion of Forecast and Actual Charges – You can now include forecast and actual charges in project profitability configurations. All forecast and actual charges appear as committed revenue. If you invoice an actual charge, the system ignores the charge. If you use a project charge on a sales order, the calculation of the remaining billable amount follows the charges and not the unbilled quantity on the sales order. Previously, there was a risk of errors when one sales order line calculation referred to multiple projects. In NetSuite 2020.1, you can see the impact on revenue from billable time, forecasted milestone and fixed date billings on a project. For more information, see the help topic Advanced Project Profitability. Project Revenue Recognition Enhancements In NetSuite 2020.1, a new warning appears to indicate incorrect combinations of charge-based billing and project revenue recognition rules. For accounts using project percent complete revenue rules, a temporary preference is available on the Accounting Preferences page. You can choose to recognize revenue for percent complete rules the event submission date or the event source date. For more information, see the help topic Project Revenue Recognition. See also Revenue Recognition Rules. Vendors, Purchasing, and Receiving NetSuite 2020.1 includes the following enhancements to the vendors, purchasing, and receiving features: Change Vendors, Purchasing, and Receiving 49
  • Associate Vendor Prepayments with a Purchase Order
  • Automatic Application of Vendor Prepayments
  • Vendor Prepayments Enhancements
  • Vendor Bill Approvals in the Employee Center Associate Vendor Prepayments with a Purchase Order As of NetSuite 2020.1, you can associate one or more vendor prepayments with a purchase order. You can associate a purchase order and a vendor prepayment in one of two ways:
  • After you enter a transaction on the Purchase Order page, you can click the new Enter Prepayment button.
  • From the Vendor Prepayment page, using the new Purchase Order dropdown list. You can associate multiple vendor prepayment transactions to the same purchase order. The Related Records subtab on the Purchase Order page provides an overview of the vendor prepayments. Associating the vendor prepayment to the purchase order is optional. You still can enter and apply your vendor prepayments without linking them to a purchase order (stand-alone vendor prepayments). For more information on this new NetSuite functionality, read Vendor Prepayment Associated with a Purchase Order. Automatic Application of Vendor Prepayments When you associate a vendor prepayment with the corresponding purchase order, you can configure NetSuite to automatically apply the vendor prepayment to the vendor bills using the new Auto-Apply Vendor Prepayments accounting preference. When you set this new preference, you do not need to manually apply vendor prepayments to bills. The Auto-Apply accounting preference records the vendor prepayment application automatically in the background. For stand-alone prepayments with no associated purchase order, you must complete the application manually. The following diagram shows the different options when applying vendor prepayments: To streamline this automatic application process, the Auto-Apply accounting preference works using the NetSuite system account. The employee entering or approving the vendor bills does not need to have permission to work with vendor prepayments. The Auto-Apply Vendor Prepayments preference is set by default, affecting all prepayments that meet the Auto-Apply conditions. If the vendor prepayment does not meet the Auto-Apply conditions, you must apply the prepayment manually (for more information about Auto-Apply conditions, see Auto-Apply Conditions.) If you want to apply prepayments manually, you must clear the Auto-Apply Vendor Prepayments box. To set the Auto-Apply preference, go to Setup > Accounting > Preferences

Accounting Preferences. Under the Accounts Payable section, check or clear the Auto-Apply Vendor Prepayments box. For more information about the new Auto-Apply setting, read Applying Vendor Prepayments with Auto- Apply. Vendor Prepayments Enhancements The core Vendor Prepayments functionality is improved and extended in NetSuite 2020.1. You can now use the NetSuite Advanced PDF and HTML feature to print and customize vendor prepayment vouchers. Change Vendors, Purchasing, and Receiving 50 You can create custom vouchers using the NetSuite Template Editor, print vouchers in PDF format, or attach vouchers in your communications using the Communication subtab. Additionally, Vendor Prepayments in NetSuite 2020.1 includes:

  • Overall usability improvements.
  • Support for Custom GL Lines. For more information, see the help topic Custom GL Lines Plug-in Overview.
  • Improved validations to minimize errors when multiple users work with vendor prepayments concurrently.
  • Exposure of Vendor Prepayment records in SuiteScript. For more information, see the help topic Transactions in the SuiteScript Records Guide. Vendor Bill Approvals in the Employee Center Previously, users with the Employee Center role could not approve vendor bills. As of NetSuite 2020.1, the Employee Center role includes the necessary permissions to review and approve vendor bills. These permissions are:
  • Bills – Grants users the permission to view vendor bills.
  • Vendor Bill Approval - Grants users the permission to approve or reject vendor bills. These new permissions in the Employee Center role are not enabled by default. To approve vendor bills in the Employee Center, you must enable the permissions in the role first. You can complete the approval process using the standard vendor bill approval, or a custom vendor bill approval workflow in SuiteFlow. For information about the different approval options, read the help topic Vendor Bill Approvals. For more information about this new NetSuite feature, read Vendor Bill Approvals in the Employee Center. Taxation NetSuite 2020.1 includes the following enhancements to taxation features:
  • SuiteTax Support for Non-Claimable Reverse Charge Tax Types
  • Portugal Tax Audit Files Field Mapping Page Update
  • Philippines Certificate of Creditable Tax Withheld at Source (Form 2307) Update
  • Cyprus VAT Return Enhancement
  • Singapore Goods and Services (GST) F5 Return Update
  • Germany VAT Return Update
  • Tax Reporting Category for Country Tax Reports
  • Tax Reporting Category Support for Australia and Philippines Tax Reports
  • Tax Point Date Support for SuiteTax Reports
  • JAPAC Support for SuiteTax Reports
  • EMEA Tax Audit Files Support for SuiteTax Reports
  • SuiteTax Support for Tax Groups Change Taxation 51
  • Belgium Localization
  • EMEA Localization
  • Netherlands Localization
  • New Simplified India GST Tax Return Reports
  • Sweden Tax Reports
  • United Kingdom Localization SuiteTax Support for Non-Claimable Reverse Charge Tax Types In NetSuite 2020.1, a new non-claimable reverse charge tax type is available to ensure that both reverse charge and post to item cost can be selected on the same tax type. Non-claimable reverse charge tax type supports non-claimable tax deductions on reverse charge tax types. For example, you can apply this tax type when you buy products from a different country and must pay VAT to your domestic tax authority, but cannot claim the reverse charge tax from your tax authority. This enhancement also supports existing customers and partner requirements based on local tax rules. Note: The combination of both properties is allowed only when you create the tax type for the first time. These settings cannot be edited later. For further information, see Non-Claimable Reverse Charge Tax Type. User Interface NetSuite 2020.1 includes the following enhancements to the NetSuite User Interface:
  • Submit an Advanced Customer Support Case Through SuiteAnswers
  • Help Center Available in Chinese
  • Advance Notice: Microsoft Internet Explorer 11 End of Support Submit an Advanced Customer Support Case Through SuiteAnswers You can now raise an Advanced Customer Support (ACS) case directly from SuiteAnswers. You can submit a case by clicking the Contact ACS Support Online button on the right of the home page under Submit a Case. When you submit a case, you can select one of the following product areas:
  • SuiteCloud
  • SuiteCommerce
  • POS | SCIS
  • ERP
  • CRM | SFA
  • OpenAir Change User Interface 52 After you fill in all of the required fields and provide a detailed description, you can review and update your created case in the NetSuite Account Center. For more information about contacting ACS, see the SuiteAnswers article Submitting an Advanced Customer Support Case (ID 89362). Help Center Available in Chinese In addition to German, English (U.S.), Japanese, and Spanish (Latinoamérica), the Help Center is now also available in Chinese. To change the Help Center language, click the current language in the upper right corner of the Help Center page and select a language from the list of available languages. Note: The language preference for the Help Center is independent of the language preference specified for the NetSuite user interface. Advance Notice: Microsoft Internet Explorer 11 End of Support As of 2020.2, the NetSuite application will no longer support Microsoft Internet Explorer 11 or its rendering engine embedded in other browsers. Users will still be able to log in to NetSuite using Internet Explorer 11. However, support will not be offered for defects specific to this browser or its rendering engine. If you are using Microsoft Internet Explorer 11, you should switch to another supported browser. Users relying on enterprise features of the browser are encouraged to discuss options with their respective vendors. For more information, see the help topic Supported Browsers for NetSuite. Commerce Applications Release notes for the 2020.1 release of SuiteCommerce and SuiteCommerce Advanced will be published at a future date. See the help topic 2019.2 Release of SuiteCommerce and SuiteCommerce Advanced for release notes on the current release. Commerce Extensions Commerce Extensions provide additional functionality to your Commerce web store. Complete release notes are available here: Commerce Extensions Release Notes. Important: Commerce Extensions are only available if they are provisioned and set up in your account. For more information, see the help topic Commerce Extensions. Site Management Tools This version of SuiteCommerce Site Management Tools includes the following enhancements:
  • SMT UX Sustainability Change Site Management Tools 53
  • Sass Pre-Processor Enhancements SMT UX Sustainability This release enables browser bar navigation when you are logged in to Site Management Tools. This lets the forward and backward buttons of the browser function properly so you can browse your own history in the SMT screens. The SMT admin URL is always visible and editable. With the switch to route-based screens, you can now share URLs to direct screens in SMT instead of being taken to the home page immediately after you log in. The base markup for the frame, sidebar, and toolbar are updated to reduce the overall amount of code used. Sass Pre-Processor Enhancements The Sass precompiler enables server-side Sass compiling for extension activation. This lets SuiteCommerce display previews of the theme skin variables while you are logged in to Site Management Tools. You can view the changes to the theme skin variables as you make the changes. The edits you see are a preview only and a full rebuild is done to the site when requested or after an idle timeout. Commerce Merchandising NetSuite 2020.1 includes the following enhancements to commerce merchandising features:
  • Improved Process for Applying Merchandise Hierarchy Attributes to Items
  • Merchandise Hierarchy Visual Layout Enhancements
  • Standard Merchandise Hierarchy SuiteAnalytics Workbook Improved Process for Applying Merchandise Hierarchy Attributes to Items In NetSuite 2020.1 we have improved the process for applying attributes to items in a merchandise hierarchy. Now users can apply attributes directly to a selected item in the Hierarchy Manager without using a mass update. For more information, see the help topic Applying Attributes to Items in a Merchandise Hierarchy. Merchandise Hierarchy Visual Layout Enhancements We have introduced navigation improvements to the visual hierarchy tree in the Hierarchy Manager for NetSuite 2020.1. The new navigation features make it easier for users to view and move around their entire hierarchy tree structure. Users can now:
  • Collapse and expand branches of the hierarchy tree
  • Activate an overview map that displays their location within the hierarchy tree
  • Retain their point of reference in the tree after performing an update to the hierarchy structure For more information, see the help topic The Hierarchy Manager. Change Commerce Merchandising 54 Standard Merchandise Hierarchy SuiteAnalytics Workbook From NetSute 2020.1 we have provided a new preconfigured standard Merchandise Hierarchy workbook in SuiteAnalytics. This workbook lets you analyze sales and inventory performance at both product category and attribute level. Furthermore, it can be accessed directly from the Hierarchy Manager. For more information, see the help topic Using Merchandise Hierarchy to Analyze Sales and Item Performance. Commerce Platform Commerce Platform includes platform capabilities that you can use to build and deploy a more interactive and engaging shopping experience for customers. NetSuite 2020.1 includes the following enhancements:
  • New Domains Setup Procedure
  • Redirect URL Domain Enhancements
  • Creating and Editing Web Sites by Type
  • Adding Items to Item Collections using Saved Searches
  • Creating Item Collections using CSV Import
  • Introducing Web Store Order Workbook Template
  • Update to Commerce Elevated Permission Framework
  • Account-Specific Domains for Marketing Campaigns and Online Forms
  • System Email Template Customization
  • Commerce Category Customer Segment Assignment
  • Commerce Category Multi-Language Support New Domains Setup Procedure The Domains Setup form has been redesigned to simplify setting up domains for web stores. The new process lets you select the type of domain you want to set up and then displays a form with the essential fields required for that domain type. Advanced domain setup options are also available. For information on how to set up different types of domains, see the help topic Set Up a Web Store Domain. Redirect URL Domain Enhancements The following enhancements have been made to the Redirect URL domain type:
  • Secure Redirect URL Domains - Prior to 2020.1, if a redirect domain was set up for a secure domain, visitors to the secure domain were redirected to an unsecure domain. From 2020.1 onwards, the Redirect URL domain type can be set to be a secure domain. For example: Prior to 2020.1:https://www.olddomain.com would redirect to http://www.newdomain.com 2020.1 onward:https://www.olddomain.com redirects to https://www.newdomain.com
  • Option to preserve file path and parameters - The second enhancement to Redirect URL domains is that it is now possible to preserve the original path requested by the website visitor when redirecting them to the Redirect URL domain. Prior to 2020.1, regardless of the original path requested, redirection was done to the main Redirect URL domain. For example: Change Commerce Platform 55 Prior to 2020.1:https://www.olddomain.com/product-a would redirect to http:// www.newdomain.com 2020.1 onward:https://www.olddomain.com/product-a?param=1 can redirect to https:// www.newdomain.com/product-a?param=1 or http://www.newdomain.com, depending on the selected option Preservation of the file path and parameters is an optional feature activated using the Include File Path and Parameters in the Redirect checkbox on the domain setup form. Creating and Editing Web Sites by Type This new 20.1 feature enables you to to filter and to create sites based on the selected type or Commerce web store product offering. Each web site record is now associated to a specific type, and can be filtered accordingly. As a result, only the specific filtered sites are displayed across the system in lists, dropdown menus, etc. Previously, Commerce web sites could only be filtered as either belonging to Site Builder or to SuiteCommerce Advanced. With the introduction of this new feature, you can create, edit, and update your site based on the selected Edition:
  • Site Builder
  • Advanced (this includes SuiteCommerce, SuiteCommerce Advanced, SuiteCommerce My Account, SuiteCommerce InStore) To use this feature, you must have the relevant Commerce product enabled for your account. Once the feature is enabled, you can use it by going to Setup > Site Builder / SuiteCommerce Advanced > Web Site Set Up. For information on the available site types, see Commerce Web Site Types. Adding Items to Item Collections using Saved Searches From 2020.1 onwards, you can create dynamic item collections and assign items to them using saved searches. Every time an item meets the saved search criteria, it is automatically added to the item collection. For example, you can set search criteria to create an item collection of all items manufactured by a particular company. When a new item manufactured by the company is added to the item catalog, the item automatically becomes a member of the dynamic item collection. If the manufacturer discontinues an item and the item is removed from the item catalog, that item is removed from the item collection automatically. Another change to item collections is that creating an item collection and adding items to it is now a single step process. For more information on creating dynamic item collections, see the help topic Creating Item Collections. Creating Item Collections using CSV Import CSV imports are now available for static item collections. Creating a static item collection using CSV Import is a two step process because you must import item collections and the item collection members separately. Item Collection records and Item Collection-Item Map records are linked together using the Item Collection External ID which ensures that the correct items are mapped to the correct item collection. Change Commerce Platform 56 Note: It is essential that the CSV import file for Item Collection-Item Map contains the related Item Collection External ID in the correct format. For a template and instructions on how to create the file correctly, see the help topic Item Collection Item Map. The following CSV import types are available:
  • Item Collection - this creates an Item Collection record for each item collection listed in the CSV import file.
  • Item Collection-Item Map - this creates an Item Collection-Item Map record for each item collection. Note: CSV imports are not available for dynamic item collections and their members. For more information on creating item collections using CSV imports, see Item Collections CSV Import. Introducing Web Store Order Workbook Template As part of 20.1 release, NetSuite is making a new workbook template available for SuiteAnalytics users. The workbook template is named Web Store Orders, and it helps track and retrieve data regarding the items that were ordered through a web store. Furthermore, workbook users can also analyze which items have been purchased in which site. As such:
  • The Web Store Order report provides an overview on the items ordered through the web store. It shows transactions which were submitted from the web store and groups them by item name.
  • The Customers Ordering Items report provides visibility into customers and the items they ordered.
  • The Items Ordered by Customers report helps visualize the items that were ordered. You can access this workbook template by going to Analytics > Standard Workbooks > Web Store Orders. For more information on how to use this workbook template, see Web Store Order Workbook Template. Update to Commerce Elevated Permission Framework Elevated permissions enable .ss and .ssp files to access records that are not normally available for execution by the Anonymous Shopper role. In 2020.1, the list of records for which elevated permissions are available has been optimized. For more information on elevated permissions, see the help topic Link Website Customizations to User Roles (SuiteScript 1.0) or Link Website Customizations to User Roles (SuiteScript 2.1). For a list of supported records, see Records Supported by Elevated Permissions Framework. Account-Specific Domains for Marketing Campaigns and Online Forms In the past, NetSuite domains were always specific to the data center where your account was hosted. Links in online customer, case, and customer forms pointed to these data center-specific domains. Similarly, links in marketing templates also pointed to the data center-specific domains. These data center-specific links have made it difficult to seamlessly move NetSuite accounts among different data centers. Change Commerce Platform 57 Over the past few years, NetSuite has introduced account-specific domains. These domains do not contain data center-specific identifiers. Instead, they contain your NetSuite account ID. Account-specific domains remove dependencies on the data center where your account is hosted. An account-specific domain has the format..netsuite.com, where is a variable that represents your NetSuite account ID, and is a variable representing a specific NetSuite service. As of 2020.1, automatic redirection has been set up so that all links in online forms and email templates redirect to your account-specific domain. For example, there may be a data center-specific URL in the Redirect to URL field on the Set Up Workflow tab of an online form. When a user submits the form, NetSuite automatically redirects them to your account-specific domain. As part of this change, the nsvirtual domain has been deprecated. The nsvirtual domain was used in marketing template and campaign links to point to NetSuite domains. As of 2020.1, the nsvirtual.com domain has been replaced by the <account_id>.customer.netsuite.com domain. You should replace the data center-specific links in your account with account-specific domain links. For more information, see the help topic How to Transition from Data Center-Specific Domains. It may take some time for you to plan and schedule replacing the data center-specific links in your online forms. During this time period, the automatic redirection will smooth your transition to account-specific domains. System Email Template Customization In the 20.1 release, System Email Templates (SETs) receive an updated interface that provides a more intuitive way for customizing templates. In previous releases, you were able to customize SETs by clicking Edit on the SETs list. The name of this button has now been updated to Customize. In addition, a Customize button has been added to standard SETs. You can access the SET customization feature by going to Setup > Company > Email > System Email Templates (in administrator mode) and pressing Customize next to the email you want to customize. For more information on how to customize SETs, see the help topic Customizing Templates for System- Automated Email. Commerce Category Customer Segment Assignment With Personalized Catalog Views enabled, this feature lets you directly associate a category with a customer segment from the category form. Previously, you had to use the Customer Segment Manager in NetSuite administration to create the associations. Now there is a tab on the commerce category form in NetSuite administration that lets you assign the category to one or more customer segments. For more information on using Personalized Catalog views, see the help topic Personalized Catalog Views. For more information on using Customer Segment Assignment, see Commerce Category Customer Segment Assignment. Commerce Category Multi-Language Support The 2020.1 release adds the ability to use multiple languages for commerce categories and subcategories. There is a language selector at the top of the edit form that lets you select which language you want to edit. On this form, only the translatable fields display when a language other than the company base language is used. There is a domain switcher on the toolbar that displays all domains associated with the website, grouped together by language. If the multi-language features are not in use, the domains are listed in a single, ungrouped list. Change Commerce Platform 58 For more information, see Commerce Category Multi-Language Support. SuiteCommerce InStore SuiteCommerce InStore (SCIS) uses a phased release process to distribute managed-bundle upgrades. Each phase consists of a different group of customers that receive the latest SCIS release. Administrators set up for customers within a phased group receive an email notification listing when their upgrade will occur. Note: Contact your account representative or Customer Support if you have questions about the availability of SCIS 2020.1. This SCIS release provides behind-the-scenes performance improvements and new Application Performance Management (APM) sensors. New APM Sensors We added the following sensors to assist you with monitoring and managing performance at the SCIS point of sale.
  • Display add customer form — Lists the time used to prepare and display a form for adding a new customer. Begins when sales associate taps option to add new customer. Ends when customer form displays.
  • Apply line-item discount, cart ready — Measures the time used to add a discount to an item in the cart. Starts when sales associate applies the discount from the discount form. Ends when the associate can resume interacting with the cart.
  • Retrieve transaction from scan — Displays the time spent retrieving transaction information via a NetSuite search initiated by SCIS. Begins when sales associate scans transaction code on receipt. Ends when SCIS receives the information from NetSuite.
  • Display retrieved transaction — Shows the time used to display scanned-transaction information retrieved from NetSuite, Begins when information is made available to SCIS. Ends when SCIS displays the information to the sales associate.
  • Display store transaction history — Measures the time required to display a transaction from the store’s history option. Begins when sales associate taps option to display history and ends when the transaction list displays.
  • Begin return from transaction details — Displays the time spent preparing a return from transaction details. Starts when sales associate initiates return from transaction details. Ends when return form opens and associate can begin selecting return options. Associate can start return via receipt scan, transaction history list, or customer timeline. SuiteApp Distribution SuiteApp distribution includes SuiteBundler and SuiteApp Marketplace capabilities that you can use to distribute customizations to accounts. View the SuiteApp Distribution Mechanism 2020.1 New Feature Training. NetSuite 2020.1 includes the following changes:
  • Bundle Support During Release Phasing Change SuiteApp Distribution 59
  • SuiteApp Control Center Now Generally Available
  • New SuiteApp Marketplace Available for Distributing SuiteApps
  • Localization Context Filtering Supported for Scripts in Bundles
  • Translatable Field References to Terms in Translation Collections Supported in Bundles
  • SuiteBundler Support Updates Bundle Support During Release Phasing Bundle support during phasing of 2020.1 is consistent with the support provided during previous releases. During phasing of 2020.1, some accounts continue to use 2019.2 at the time that other accounts are upgraded to 2020.1. Therefore, you may be using a different version than some of the accounts where your bundles are installed. Review the descriptions below for a reminder of how bundles from different versions are handled during release phasing.
  • Bundles developed with 2019.2 can be installed in accounts that are already using 2020.1.
  • Bundles developed with 2020.1 can be installed in accounts that are still using 2019.2, but note the following limitations:
    • When a user in a 2019.2 account installs a bundle from a 2020.1 account, the bundle installation stops if there are object types in the bundle that are not supported in 2019.2.
    • A bundle with a script that uses a new API available only in 2020.1 can be installed into a 2019.2 account, but the script may not function correctly because 2019.2 does not support the API. SuiteApp Control Center Now Generally Available In NetSuite 2020.1, SuiteApp Control Center is now generally available for defining and managing your SDF SuiteApp distribution process in a single location. If you are a SuiteApp release manager, you can deploy SuiteApp projects to the SuiteApp Control Center and distribute them to users as SuiteApp releases in the SuiteApp Marketplace. You can set the SuiteApp Marketplace availability for a SuiteApp to one of the following:
  • Public – All NetSuite customers can view and install the SuiteApp.
  • Shared – Only specific companies can install the SuiteApp. When the availability is set to Shared, all NetSuite customers can still view the SuiteApp.
  • Unlisted – Only specific companies can view and install the SuiteApp. For more information about setting SuiteApp availability, see the help topic Setting SuiteApp Listing Access. The Allowed Accounts list is a single location that is shared between Shared and Unlisted SuiteApps. The Allowed Accounts list specifies which company accounts can install the Shared and Unlisted SuiteApps. Additionally, upgrades can be pushed only to company accounts that are listed in the Allowed Accounts list. For information on how to add company accounts to the Allowed Accounts list, see Managing Allowed Accounts for Shared and Unlisted SuiteApps. To make a SuiteApp available to users for installation in the SuiteApps Marketplace, the SuiteApp must have an application ID in the Advanced Partner Center (APC) record and must have completed both a listing review and a Built for NetSuite (BFN) review. For more information about the requirements for distributing SuiteApps in the SuiteApp Marketplace, see the help topic Requirements for SuiteApp Listing Availability. Change SuiteApp Distribution 60 New SuiteApp Marketplace Available for Distributing SuiteApps As of 2020.1, the SuiteApp Listing page has been replaced with the new SuiteApp Marketplace. You can use the SuiteApp Marketplace to find and install SuiteApps created using SuiteCloud Development Framework. The SuiteApp Marketplace is currently available to Administrators and users with the SuiteApp Marketplace permission. To access the SuiteApp Marketplace, go to Customization > SuiteCloud Development > SuiteApp Marketplace. The following screenshot shows how SuiteApps are listed in the SuiteApp Marketplace: You can view all public and shared SuiteApps in the SuiteApp Marketplace. Each SuiteApp is represented by a SuiteApp tile that contains the SuiteApp name, publisher, and first release date. Users can also sort the SuiteApp tiles by SuiteApp Name, Publisher, or Latest Release Date. Change SuiteApp Distribution 61 Click a SuiteApp tile to view the details of the SuiteApp. The following screenshot shows the SuiteApp details page for a SuiteApp in the SuiteApp Marketplace: To learn about the information that is available on the SuiteApp details page for each SuiteApp, see the help topic Viewing SuiteApp Listings. Users can perform the following actions in the SuiteApp Marketplace:
  • Install SuiteApps that are shared to their account and support their NetSuite account version. For more information, see the help topic Installing from the SuiteApp Listing Page.
  • Upgrade SuiteApps that have been installed in their account when a new SuiteApp version is available. For more information, see the help topic Upgrading from the SuiteApp Listing Page.
  • View the status of a SuiteApp after an install, upgrade, or uninstall has initiated. Users can view only some states of the SuiteApp in the SuiteApp Marketplace. For more information on the states that can appear on the SuiteApp details page of the SuiteApp Marketplace, see the help topic Viewing SuiteApp Installation or Uninstallation Status. To view and uninstall SuiteApps obtained from the SuiteApp Marketplace, go to Customization > SuiteCloud Development > Installed SuiteApp List. For the desired SuiteApp, select Uninstall from its action menu. Localization Context Filtering Supported for Scripts in Bundles As of 2020.1, localization context filtering is supported for SuiteScript 2.0 user event and client scripts included in bundles. If a script included in a bundle has localization context filtering set up, that filtering works in all target accounts where the bundle is installed. Change SuiteApp Distribution 62 A record’s localization context represents the country or countries associated with that record. Localization context filtering is set up in the Localization Context field on the Context Filtering subtab of the script deployment record. This setting controls the records on which user event and client scripts run, based on the localization context of the records. For example, if a script has the localization context of France set on its deployment record, it runs only on records that have a localization context of France. It does not run on records with other localization contexts. For more information about localization context filtering, see:
  • Introducing Localization Context – User Event and Client Script Association
  • Determining the Localization Context
  • Localization Context Filtering for SuiteScript 2.0 For information about using the Bundle Builder to bundle SuiteScript objects, see the help topic Objects Available in Customization Bundles. Translatable Field References to Terms in Translation Collections Supported in Bundles When you bundle custom objects that contain translatable fields with references to terms in Translation Collections, those translation collections are also included in the bundle. For information about translatable fields, see Translatable Fields Support and Translation Collections as XML Definitions. SuiteBundler Support Updates Note the following changes to SuiteBundler support in 2020.1: Newly Supported Notes SuiteBundler Object Expense Sublist on Expense You can include workflows on the Expense sublist for expense report record in Report bundles. For more information about the Expense sublist, see Support for Expense Sublist on Expense Report. For information about adding workflow custom objects to bundles, see the help topic Bundling a Workflow. Financial Institution You can include Financial Institution Connectivity plug-in custom objects in bundles. Connectivity Plug-in The plug-in provides a way for NetSuite to use the Financial Institution Connectivity API to directly connect customers to a specific financial institution. For information about customizing and using the Financial Institution Connectivity plug-in, see Financial Institution Connectivity API. For information about adding custom objects to bundles, see the help topic Objects Available in Customization Bundles. Sales and Purchase Custom You can include sales and purchase custom transaction types in bundles. For Transactions information about sales and purchase custom transactions in NetSuite, see Sales and Purchase Custom Transactions Available and Sales and Purchase Transaction Types Overview. For information about including custom transaction types in bundles, see the help topic Custom Transaction Types in Bundles. Change SuiteBuilder - Customization 63 SuiteBuilder - Customization NetSuite 2020.1 includes the following enhancements to SuiteBuilder features:
  • Sales and Purchase Custom Transactions Available
  • System Notes v2 Page Available for Custom Transaction Configuration and Roles and Permissions
  • Account–Specific Domains Supported in Custom Fields and Custom Center Links
  • New Languages Supported in Advanced Printing Templates
  • Updates to Third-Party Libraries Used in Advanced Printing
  • Improvements to Error Messages and Handling of Corrupted Custom Segments Sales and Purchase Custom Transactions Available NetSuite 2020.1 extends custom transactions flexibility with the addition of two new custom transactions types: sales and purchase. With sales and purchase transaction types, you can create custom transactions similar to invoices, cash sales, credit memos, vendor credits, bills, and more. You can utilize most of the standard sales and purchase transactions functionality like the Items sublist, taxes (SuiteTax only), and revenue recognition. You can also include your name and define numbering sequences and permissions for your custom transactions. If you have the Custom Transactions feature enabled on your account, the new sales and purchase custom transaction types are available. For more information, see the help topic Enabling the Custom Transactions Feature. Sales and purchase custom transaction types enable you to:
  • Comply with local requirements, such as those in Latin America (e.g. demonstrations and goods for repair) or JAPAC (e.g. adjustment invoices).
  • Comply with expectations of specific business verticals, such as not–for–profit (e.g. donations and grants).
  • Create solutions designed for specific types of customers. Sales and Purchase Custom Transactions Support Sales and purchase custom transaction types provide the functionality of standard sales and purchase transactions. Change SuiteBuilder - Customization 64 New Accounting Subtab A new Accounting subtab is available on the Custom Transaction Type page. Use the Accounting subtab to enter all relevant information for defining the GL impact (main line account) of the transaction. You can perform line-level adjustments using the Custom GL Lines plug-in. For more information, see the help topic Custom GL Lines Plug-in. Sales and Purchase Custom Transaction Instances When creating sales and purchase custom transaction instances, you can apply promotions, gift certificates, discounts, revenue recognition, amortization schedules, installments and more. System Notes v2 Page Available for Custom Transaction Configuration and Roles and Permissions System Notes v2 is available for custom transaction type configuration, and roles and permissions configuration. System Notes v2 captures details, including changes to sublists, and groups the changes using summary actions. The audit trail enables you to see the types of changes performed on record fields, such as create, update, change, and so on. You can also see the date and time each change was performed and by whom. System Notes v2 also retains information for deleted transactions and records. In System Notes v2, changes are listed in reverse chronological order, with the most recent changes at the top of the page. The System Notes page shows information about the level of actions that have been performed. Details of the action are grouped underneath and can be expanded and collapsed for viewing. This condensed format reduces the amount of data first displayed when you browse the audit trail so that you can track or investigate the history. Note: System Notes v2 and System Notes are separate systems. There is no change to the existing System Notes. As of 2020.1, System Notes v2 captures audit trail information for custom transaction type and roles and permissions configuration pages. To view information about changes made to roles and permissions prior to 2020.1, use the System Notes subtab on the role record. Viewing System Notes v2 To access System Notes v2, click System Notes located in the top right of the following pages:
  • Custom Transaction Type
  • Role System Notes v2 groups audit data by action as shown in the following example. Change SuiteBuilder - Customization 65 Viewing System Notes v2 from a SuiteAnalytics Workbook You can use the System Notes v2 workbook available in SuiteAnalytics Workbook to view and analyze system notes for custom transaction type and roles and permissions configuration. The System Notes v2 workbook is available in every account. To create a custom SuiteAnalytics workbook, select the System Notes v2 Workbook dataset in SuiteAnalytics Workbook. For more information, see the help topic System Notes v2 (Beta) Workbook. Account–Specific Domains Supported in Custom Fields and Custom Center Links NetSuite 2020.1 introduces account-specific domains in custom fields and custom center links. You should use account–specific domains instead of data center-specific URLs. Previously, NetSuite domains were specific to the data center where your account was hosted. Links in custom fields and custom center links used these data center–specific domains. NetSuite domains are no longer specific to data centers. Instead, they are account–specific domains, which are domain specific to your account, not to the data center where the accounts are hosted. For more information, see the help topic URLs for Account-Specific Domains. The account–specific domains feature automatically translates current data center–specific URLs to the appropriate account–specific domain URLs. For example, a system.eu2.netsuite.com link in your custom center automatically becomes .app.netsuite.com, where is a variable representing your account ID. Note: You should update all links in custom fields and custom center links to use your account– specific domain URL. During your active NetSuite sessions, data center–specific URLs are automatically changed to account– specific domain URLs. Configuration remains unchanged. Links that use the appropriate account–specific domain respond faster than links translated in the current session. When you create custom center links, if you attempt to add a data center–specific URL, a warning message appears that includes an account–specific domain URL that you should use instead. Consider making the suggested change. If you decide not to replace the data center–specific URL with the suggested account–specific domain URL, the URL as you entered it is saved. In the NetSuite center, the link translates to an account-specific domain URL. When you create hyperlink, rich text, long text, free-form text, text area, help, and inline HTML custom fields, if you add a data center-specific URL, the URL automatically translates to an account-specific domain URL. For more information, see the help topic How to Transition from Data Center-Specific Domains New Languages Supported in Advanced Printing Templates The following languages are now available to use with Advanced PDF/HTML Templates:
  • Hebrew Change SuiteBuilder - Customization 66
  • Armenian
  • Bengali
  • Gujarati
  • Hindi
  • Marathi
  • Kannada
  • Tamil
  • Telugu For more information about languages available for advanced printing, see the help topic Languages for Printed Forms that Use Advanced Templates. Updates to Third-Party Libraries Used in Advanced Printing Advanced PDF/HTML templates now use updated versions of the BFO library and CKEditor for additional stability and security.
  • The BFO library has been updated to version 1.1.70.
  • CKEditor has been updated to version 4.12.1. For more information, see the help topic Third-Party Notices and Licenses. Improvements to Error Messages and Handling of Corrupted Custom Segments A custom segment can sometimes become corrupted if any of its required components are missing. A completely defined custom segment must contain one custom record component, and one each of the following five custom field component types: Body, Column, Entity, Event, and Item. For information about the components of a custom segment, see the help topic Creating a Custom Segment. If any components are missing from the custom segment, you receive a segment corrupted error on the Custom Segment configuration page. However, you can continue to use the custom segment configuration page with limited operations available. As of 2020.1 if you installed a custom segment from a bundle and it is damaged, you can reinstall the bundle to correct the error. If you created a custom segment manually and it is damaged, delete the custom segment definition and recreate it. When you edit the definition of a corrupted custom segment, only the Cancel button is available. Depending on your permissions, the Delete button might also be available. If a form or applied record accesses a corrupted custom segment, you can save or view the record without the custom segment value. For more information, see the help topic Adding a Custom Segment to a Bundle. SuiteAnalytics NetSuite 2020.1 includes the following enhancements to SuiteAnalytics: Change SuiteAnalytics 67
  • Dataset Separation in SuiteAnalytics Workbook
  • New Date Filters for SuiteAnalytics Workbook Pivot Tables and Charts
  • New Table View Tab in SuiteAnalytics Workbook
  • Idle Session Timeout for SuiteAnalytics Connect
  • 2020.1 Connect Browser Dataset Separation in SuiteAnalytics Workbook Prior to 2020.1, you defined, visualized, and analyzed your workbook source data in a single workbook object. As of 2020.1, workbooks and datasets exist as separate objects, each with their own respective owners and accessibility rights. In a dataset, you define your workbook source data by selecting record types, fields, and criteria for further analysis in a workbook. Conversely, in a workbook you visualize and analyze your data using tables, pivot tables, and charts. Separating workbooks and datasets enables you to connect a single dataset to multiple workbooks, reducing the number of redundant workbooks in your account and preventing data discrepancies. Only dataset owners and users with administrator permissions can edit the datasets in your account. Any changes to a dataset are automatically propagated to the connected workbooks. Furthermore, you can now create workbooks using any of the existing datasets that you have access to in your account. This saves you time during the workbook authoring process and enables less experienced users to create complex workbooks. To support this feature, the following enhancements have been made throughout SuiteAnalytics Workbook:
  • Workbook Accessibility Changes
  • Analytics Home Page Updates
  • New Authoring Workflows
  • New Table View
  • Changes to Migrated Workbooks Workbook Accessibility Changes Like in previous releases, your access to a workbook depends on the features enabled in your account, the role you use to log in to NetSuite, and the permissions assigned to you. In 2020.1 however, you must also have access to a dataset before you can a workbook that uses the dataset. Only the owner of a dataset or a user with administrator permissions can give you access to a dataset that you did not create. If you are an administrator, or if you have the Analytics Administrator permission, you can access, edit, and delete any workbooks or datasets in your account. For more information about accessing workbooks and datasets, see the help topic Accessing and Sharing Workbooks. For more information about the Analytics Administrator permission, see the help topic The Analytics Administrator Permission. Analytics Home Page Updates The Analytics Home page has been redesigned to display both datasets and workbooks. Change SuiteAnalytics 68 From this page, you can create new workbooks and datasets, or share, edit, and delete any of the workbooks or datasets that you own. If you are an administrator or if you have the Analytics Administrator permission, the Analytics Home Page displays all workbooks and datasets in your account. For more information, see the help topic Workbook Listing Page. New Authoring Workflows In 2020.1, you can create workbooks based on any of the existing datasets that you have access to. If you are an administrator or if you have the Analytics Administrator permission, you can create workbooks based on all the datasets in your account. Furthermore, although workbooks and datasets now exist as separate objects, you can still make changes to a dataset from within a workbook. Additionally, when you make those changes, you can now preview the effect of your edits throughout the workbook before you save them. For more information, see the help topic Custom Workbooks. New Table View If you want to explore your workbook source data without accessing or editing the connected dataset, you can use the new Table View component. For more information, see New Table View Tab in SuiteAnalytics Workbook. Changes to Migrated Workbooks Any workbooks you created prior to 2020.1 have been migrated as two separate dataset and workbook objects. The data and selections you made within your workbooks is unchanged, however the Dataset tab now exists as its own dataset object and as a Table View within the workbook object. For more information, see the help topic Custom Workbooks. New Date Filters for SuiteAnalytics Workbook Pivot Tables and Charts In 2019.2, SuiteAnalytics Workbook introduced new filtering options for pivot tables and charts, such as the ability to filter the top or bottom results based on a specific measure. Change SuiteAnalytics 69 In 2020.1, SuiteAnalytics Workbook adds support for filtering results using date conditions. You can base these conditions on specific dates or custom date ranges. For more information, see the help topic Pivot Table and Chart Filters. New Table View Tab in SuiteAnalytics Workbook In 2019.2, you could create multiple charts and pivot tables in a workbook, but you were limited to one Data Grid. This limitation meant that any changes made in the Data Grid would impact all workbook components. Therefore, you could not use the same dataset to explore different combinations of fields, filters, and sorting options in a single workbook. To do so, you had to re-create the dataset in a new workbook. In 2020.1, you can use the new Table View to explore your datasets without altering the source data of any associated workbooks. You can also add multiple Table Views in a single workbook, which lets you try different combinations of fields, filters, and sorting options. Using the Table View does not require complex customizations. Table Views enable you to view your data without having to set a layout or define fields from joined records or custom formulas. To create a Table View, drag the fields from the Fields list to the Table Viewer. After you add the fields to the Viewer, you can filter and sort them as needed. Viewing your data on a Table View can be helpful to decide how to build your charts and pivot tables. As with charts and pivot tables, you can also rename each instance of the Table View in your workbooks. The icons for the three workbook components are as follows:
  • Table Views are represented by the icon.
  • Pivot Tables are represented by the icon.
  • Charts are represented by the icon. Idle Session Timeout for SuiteAnalytics Connect As of 2020.1, SuiteAnalytics Connect enforces idle session timeout policies to enhance the security of your connections and optimize system resources. After 90 minutes of inactivity, SuiteAnalytics Connect sessions automatically time out. The idle session timeout change is available for testing in 2020.1 Release Preview accounts when your Release Preview account is ready to use. For details about Release Preview, see the help topic Release Preview Availability. If you exceed the time limit of inactivity, you are logged out of your session. To access the Connect Service, you must log in again. Note: The time during which a query is running is not considered time of inactivity. You should always close all sessions that you are not using. As of 2020.1, sessions automatically time out after 90 minutes of inactivity. The time limit will be set to a lower value in an upcoming release. The idle session timeout applies to ODBC, JDBC, and ADO.NET drivers. Note: The idle session timeout occurs when you query the NetSuite.com and NetSuite2.com data sources. For more information, see the help topics New Connections and Types of NetSuite Sessions. Change SuiteAnalytics 70 2020.1 Connect Browser The 2020.1 Connect Browser is not yet available. CSV Import NetSuite 2020.1 includes the following enhancements to CSV Import:
  • Newly Supported Record Types for CSV Import
  • Enhanced Size of the Name and Translation Fields in CSV Import Map Translation
  • Sales and Purchase Custom Transactions Available for CSV Import
  • Commerce Category Translation Sublist Import
  • Effective Dating for Employee Record Changes Available with CSV Import Newly Supported Record Types for CSV Import Record Type Notes Inbound Shipment The inbound shipment record tracks such key shipment information as expected delivery dates, items in the shipment, quantity to be received, and links to associated documentation and transactions. To import inbound shipment data, in the Import Assistant, set the Import Type to Transactions, and the Record Type to Inbound Shipment. For more information, see Inventory Details on an Inbound Shipment. Item Collection Order Release records:
  • Item Process Family
  • Item Process Group
  • Pick Strategy records
  • Zone
  • Wave Enhanced Size of the Name and Translation Fields in CSV Import Map Translation As of 2020.1, the Name and the Translation fields in the CSV Import Map Translation dialog have been enhanced and you can now enter up to 64 characters. This enhancement allows the translation of names and descriptions, even when the translation is longer than the original or when it uses a different alphabet. For more information see the help topic Translating Import Map Name and Description. Sales and Purchase Custom Transactions Available for CSV Import As of 2020.1, you can use the CSV Import Assistant to import sales and purchase custom transactions. Change CSV Import 71 Additionally, the following sublists and subrecords are available for sales and purchase custom transactions: Sublist or Subrecord Availability Related Help Topics Revenue Recognition Sales custom transactions. Revenue Recognition Amortization Purchase custom transactions. Amortization Feature Overview Shipping Sales custom transactions with the option of enabling item Shipping line shipping and shipping to custom addresses. Promotions Sales custom transactions. Promotions Landed Costs Purchase custom transactions with the option of enabling Landed Cost landed cost per line or landed cost for the whole transaction. Installments Sales custom transactions and purchase custom Creating Installments for sales. transactions. Vendor Installment Payments for purchases. For more information on how to import custom transactions, see the help topic Custom Transactions Import. Commerce Category Translation Sublist Import The 2020.1 release adds the option to import translations for Commerce Categories. Translations are based on Locale and result in the creation of a translation sublist record on the commerce category record. The following fields are available for import:
  • External ID
  • Addition To
  • Description
  • Heading
  • Locale
  • Name
  • Page Banner
  • Page Title
  • Thumbnail Image For more information on importing translations for Commerce Categories see Commerce Category Translation Sublist. Effective Dating for Employee Record Changes Available with CSV Import As of 2020.1, you can import changes to the employee record that are effective as of a past or future date, using the CSV Import Assistant. For more information about the effective dating feature for employee information, see the help topic Effective Dating for Employee Information. Change CSV Import 72 For details about the permission requirements for effective dating, see the help topic Effective Dating Permission Requirements. For more information about importing employee record changes with effective dating, see Import of Employee Record Changes with Effective Dating. SuiteFlow (Workflow Manager) NetSuite 2020.1 includes the following enhancements to SuiteFlow features:
  • Support for Expenses Sublists in Workflows
  • Change to Default Behavior of Context Selection in Workflows and Actions Support for Expenses Sublists in Workflows As of 2020.1, sublist actions are now supported on the Expenses sublist on Expense report records. With this change, you can run workflows and create sublist action groups set to execute on the Expenses sublist. Previously, sublist actions were only supported on the Items sublist on Transaction records. The following table shows the workflow actions supported on the Expenses sublist on Expense report records, and indicates whether support is available for different workflow elements: Workflow Actions Server Triggers Client Triggers* Entry/Exit Sublist Action Scheduled Group Create Line Yes Yes Yes Create Record Yes Return User Error Yes Yes Set Field Value Yes Yes Set Field Display Yes Yes Yes Label Set Field Mandatory Yes Yes Yes *Supported client triggers vary based on the workflow action. The addition of support for the Expenses sublist on the Expense report record allows you to further customize your workflows to meet your specific business needs. You can use the Expenses sublist to add or update individual expenses on an Expense report record. For more information about the Expenses sublist, see the help topic Expense Report Sublist Fields. For more information about workflow actions, see the help topic Workflow Actions Overview. Change to Default Behavior of Context Selection in Workflows and Actions As of NetSuite 2020.1, the default behavior of context selection in workflows and actions is different than earlier versions of NetSuite. Previously, when you created a workflow or added an action to a workflow, all of the contexts were selected by default, including Web Store and Web Application. Change SuiteFlow (Workflow Manager) 73 Now when you create a workflow or add an action to a workflow, all of the contexts are selected by default, except for Web Store and Web Application. Additionally, the Context field displays how many contexts you have selected. This change in behavior does not impact existing workflows and actions. The default behavior does not affect how you select contexts, and you can still select the Web Store and Web Application contexts. These contexts are just not selected by default. The change to the default behavior of context selection was made to address performance issues associated with the Web Store and Web Application contexts. In adition, this release includes minor changes to the execution contexts supported for scripts and workflows. For a list of these changes, see Enhancements to Execution Contexts for Scripts and Workflows. For more information about contexts and workflows, see the help topic Workflow Context Types. SuiteScript Refer to the following sections for details on SuiteScript updates for NetSuite 2020.1:
  • Introducing SuiteQL API
  • SuiteScript 2.1 Now Generally Available for Server Scripts
  • SuiteScript 2.1 Debugger (Beta)
  • Enhancements to Execution Contexts for Scripts and Workflows
  • Localization Context Filtering for SuiteScript 2.0
  • Sales and Purchase Custom Transactions Available in SuiteScript
  • Map/Reduce Concurrency Limit Is Adjusted to Target Account Limit for SDF Projects
  • Change to Scripts on the Subsidiary Record Currency Field
  • Deprecation of Script Queue Monitor (Beta)
  • Method Added to N/redirect Module
  • Support for Relative File Paths in the N/file Module
  • 2020.1 SuiteScript Macro Exposures
  • 2020.1 SuiteScript Record Exposures Change SuiteScript 74
  • 2020.1 SuiteScript Records Browser Introducing SuiteQL API In NetSuite 2020.1, SuiteQL API is available as a new feature in the N/query module. This feature provides another way to use SuiteQL (which was made available in a previous release) in addition to SuiteAnalytics Connect. SuiteQL is a query language based on the SQL-92 revision of the SQL database query language. It provides advanced query capabilities you can use to access your NetSuite records and data. For more information, see SuiteQL. For more information about SuiteQL API in this release, see the following sections:
  • New Object and Methods
  • SuiteQL Support in Map/Reduce Scripts
  • Support for Pagination and Aliasing New Object and Methods SuiteQL API provides the following new object and new methods in the N/query module:
  • A new object, query.SuiteQL, represents a SuiteQL query. It includes properties that represent the query type, the SuiteQL string representation of the query, result columns to return from the query, and any additional parameters the query requires. You can use SuiteQL.run() to run the query as a non-paged query or SuiteQL.runPaged(options) to run the query as a paged query.
  • A new object-level method, Query.toSuiteQL(), converts an existing query (as a query.Query object) to its SuiteQL representation (as a query.SuiteQL object).
  • Two new module-level methods, query.runSuiteQL(options) and query.runSuiteQLPaged(options), let you run an arbitrary SuiteQL query. You can specify this query as a SuiteQL string, query.SuiteQL object, or generic JavaScript Object containing a required query property and an optional params property. Here is an example of how to load an existing query, convert it to SuiteQL, and run it: var myLoadedQuery = query.load({ id: ‘custworkbook237’ }); var mySuiteQLQuery = myLoadedQuery.toSuiteQL(); var myResultSet = mySuiteQLQuery.run(); SuiteQL Support in Map/Reduce Scripts In the getInputData(inputContext) stage of a map/reduce script, you can specify how you want to generate the input data. For example, you can generate the data using an array, a JavaScript Object, a search.Search object, or one of several other data types. In NetSuite 2020.1, you can generate the data using a SuiteQL query. In the getInputData(inputContext) stage, you can return an object that represents a SuiteQL query by including the following properties:
  • type — The type of data you are providing. For SuiteQL queries, this type is suiteql.
  • query — The SuiteQL query as a string. If the query accepts parameters, you can use question marks (?) as placeholders in the query string. You specify parameter values using the params property.
  • params — Values for any parameters the SuiteQL query uses. This property is an array, and the order of values you specify should match the order the parameters appear in the query string. Change SuiteScript 75 Here is an example of how to construct a simple query in SuiteQL and return it from the getInputData(inputContext) stage of a map/reduce script: function getInputData() { var mySuiteQLQuery = “SELECT ” + ” “TRANSACTION”.tranid AS tranidRAW, ” + ” “TRANSACTION”.trandate AS trandateRAW, ” + ” “TRANSACTION”.postingperiod AS postingperiodDISPLAY ” + “FROM ” + ” “TRANSACTION” WHERE “TRANSACTION”.”ID” = ? ”; return { type: ‘suiteql’, query: mySuiteQLQuery, params: [271] }; } In this example, the parameter value 271 is the internal ID of a transaction record. Support for Pagination and Aliasing SuiteQL API supports paginated query results. Paginated query results help you process large result sets more efficiently by retrieving a subset (or page) of the full result set at a time. You can obtain paginated query results by using the following approaches:
  • If you have a query.SuiteQL object already in your script, you can use SuiteQL.runPaged(options) to obtain paginated results for that SuiteQL query.
  • If you do not have a query.SuiteQL object, you can use query.runSuiteQLPaged(options) to obtain paginated results for an arbitrary SuiteQL query. These methods accept an optional parameter, pageSize, that lets you specify the number of query results on each page. The default value is 50 results per page. SuiteQL API also supports standard SQL aliasing using the AS keyword. You can specify an alias for a field name, and this alias is used when you retrieve mapped query results using ResultSet.asMappedResults() or Result.asMap(). For example, you can use the following approach to create an alias for the entityid field on a customer record: var results = query.runSuiteQL( ‘SELECT entityid AS friendlyname, email FROM customer WHERE email IS NOT NULL’ ).asMappedResults(); In the mapped query results, friendlyname appears as an alias for the entityid field. SuiteScript 2.1 Now Generally Available for Server Scripts In NetSuite 2020.1, SuiteScript 2.1 is now generally available for server scripts. SuiteScript 2.1 was previously available as a beta feature. SuiteScript 2.1 is the latest minor version of SuiteScript, and it is backward compatible with SuiteScript 2.0. This version is based on the ECMAScript 2018 (ES2018) edition of the ECMAScript specification, and it includes new language capabilities and functionality. It supports all server-side script types (such as user event scripts, scheduled scripts, and Suitelets). SuiteScript 2.1 and future versions of SuiteScript will Change SuiteScript 76 also support features planned for future editions of the ECMAScript specification using ES.Next. For more information, see SuiteScript 2.1 Beta. For more information about SuiteScript 2.1 in this release, see the following sections:
  • SuiteScript 2.x Notation
  • Transition Period for SuiteScript 2.x Scripts SuiteScript 2.x Notation When you write a script, you must include a JSDoc comment block that specifies the version of SuiteScript to use. For scripts other than SuiteScript 1.0 scripts, you can specify the following versions:
  • 2.0
  • 2.1
  • 2.x The 2.0 and 2.1 values indicate that the script uses that version of SuiteScript. The 2.x value usually represents the latest version of SuiteScript that is generally available and does not represent any versions that are released as beta features. However, this does not yet apply to SuiteScript 2.1. In this release, the 2.x value indicates that a script uses SuiteScript 2.0, not SuiteScript 2.1. You can still use SuiteScript 2.1 and all of its features in your server scripts, but you must specify a version of 2.1 explicitly. Your 2.x scripts will not run as SuiteScript 2.1 scripts until a future release. For more information, see SuiteScript 2.1 Versioning. Transition Period for SuiteScript 2.x Scripts NetSuite is providing a transition period of one year for you to test your existing scripts and make sure they work as expected using SuiteScript 2.1. This transition period starts with the NetSuite 2020.1 release and ends with the NetSuite 2021.1 release. During this period, the 2.x value will indicate that a script uses SuiteScript 2.0. After this transition period (in NetSuite 2021.1 and subsequent releases), the 2.x value will indicate that a script uses SuiteScript 2.1. The following table indicates which version of SuiteScript the 2.x value uses in each release: NetSuite Release SuiteScript 2.x Maps To NetSuite 2020.1 SuiteScript 2.0 NetSuite 2020.2 SuiteScript 2.0 NetSuite 2021.1 and subsequent releases SuiteScript 2.1 Account administrators will receive notifications throughout this period reminding them of the changes that will occur and to prepare for them. An administrator will receive these notifications if there is at least one script in their account that uses the 2.x notation. SuiteScript 2.1 Debugger (Beta) Warning: The SuiteScript 2.1 Debugger is a beta feature. The contents of this feature are preliminary and may be changed or discontinued without prior notice. The documentation for this feature is also considered a beta version and is subject to revision. The SuiteScript 2.1 Debugger beta release is targeted to be available by March 2020. This release of the debugger supports the following scripts: Change SuiteScript 77
  • On demand scripts written directly into the debugger window
  • Server scripts in your account, including Suitelets and scheduled scripts In our effort to offer a modern coding experience to our developers, the SuiteScript 2.1 Debugger uses Chrome DevTools. This approach allows users to debug their scripts using functionality that is similar to debugging JavaScript in the Google Chrome browser. To use the SuiteScript 2.1 Debugger, select 2.1 in the API Version field on the Debugger page. When you click the Debug Script button, a new browser tab opens with the Chrome DevTools interface for debugging your script. Your script is displayed on the new tab and you can perform typical debug actions, such as pause/resume execution, set breakpoints, and step through your code line by line. The SuiteScript 2.1 Debugger is fully supported when using NetSuite in the Chrome browser. Other browsers, such as Mozilla Firefox, Microsoft Internet Explorer, Microsoft Edge, and Apple Safari, have limited or no support. Debugger functionality is not guaranteed in these browsers. The SuiteScript 2.1 Debugger is available for all SuiteScript developers. The legacy SuiteScript Debugger is still available for SuiteScript 1.0 and SuiteScript 2.0 scripts. For more information on the SuiteScript Debugger, see the help topic SuiteScript Debugger. For specific information on the SuiteScript 2.1 Debugger, see Debugging SuiteScript 2.1 Scripts. Enhancements to Execution Contexts for Scripts and Workflows NetSuite 2020.1 includes enhancements to execution contexts supported for user event scripts, client scripts, and workflows. Execution contexts provide information about how or when a script or workflow is triggered to execute. For example, a script can be triggered in response to an action in the NetSuite application or an action occurring in another context, such as a web services integration. You can use execution context filtering to ensure that your scripts or workflows are triggered only when necessary. This filtering can improve performance in contexts where the scripts or workflows are not required. Change SuiteScript 78 In this release, several execution context filter values have been added to give you more control over script and workflow execution. The following contexts are new in 2020.1:
  • Bank Connectivity
  • Bank Statement Parser
  • Financial Institution Connectivity
  • Platform Extension
  • REST Web Services
  • SOAP Web Services
  • Revenue Management The Web Services context, which was available in previous releases, is no longer available. It has been renamed to SOAP Web Services. A related context, REST Web Services, is new in this release. For more information, see SuiteScript Execution Context for REST Web Services. For scripts, you set up execution context filtering on the Context Filtering tab when you create or edit a script deployment record: For workflows, you set execution context filtering in the Event Definition section when you create or edit a workflow: Change SuiteScript 79 Execution context filtering behavior is now consistent for scripts and workflows. The same values are available for both scripts and workflows, and the default selections are the same. By default, all contexts are selected except for Web Application and Web Store. Often, it is not required to trigger scripts in these contexts, so they are disabled by default to improve performance. If you want your script or workflow to be triggered in these contexts, make sure to select them explicitly when you create your script deployment record or workflow. For scripting, execution context values are available using the runtime.ContextType enum. You can use this enum to programmatically determine how a script was triggered and take appropriate action. For example, you may want different script logic to execute depending on whether the script was triggered as a client script or in response to a UI action. For more information about execution contexts, see the following:
  • Change to Default Behavior of Context Selection in Workflows and Actions
  • runtime.ContextType Localization Context Filtering for SuiteScript 2.0 As of 2020.1, you can define the localization context in which a client or user event script can execute. Localization context filtering allows you to execute a script based on the country associated with the active record or transaction and prevents scripts from executing unnecessarily. For a list of records and transactions that support localization, see Records that Support Localization. You can specify the execution order of localized client and user event scripts. A maximum of 10 localized and 10 non-localized client scripts are supported. For more information, see the help topic The Scripted Records Page. The system automatically determines the localization context for records and transactions based on their values for country fields such as subsidiary and tax nexus. It is important to understand this determination before you set up localization context filtering for scripts. For details, see Determining the Localization Context. The localization context feature includes:
  • Localization Context Field — The Localization Context field on the Context Filtering tab has been added to the script deployment record. This field lists the countries for which the script is relevant. All countries are selected by default. When this field is set to a value other than the default, the script runs only on records associated with the selected country or countries, based on records’ localization context.
  • Entry Points for Client Scripts — There are two new entry points for SuiteScript 2.0 client scripts. These entry points are required to use localization context filtering in client scripts. localizationContextEnter is executed when the record enters the localization context that is specified on the script deployment record. localizationContextExit is executed when the record exits that context.
  • Locale Parameter — scriptContext.locale is a new parameter for the localizationContextEnter and localizationContextExit entry points. This parameter lists the countries representing the new localization context. The following table shows how you can specify the localization context based on the script type. Script Type Defining Localization Context Filtering SuiteScript 2.0 Client Script Complete the following steps to add localization context filtering to client scripts: Type
  1. Use the localizationContextEnter and localizationContextExit entry points in your script. Change SuiteScript 80
  2. Define the localization context on the Context Filtering tab on the script deployment record. For more information, see Localization Context. SuiteScript 2.0 User Event Define the localization context on the Context Filtering tab on the script deployment Script Type record only. For more information, see Localization Context. If a script deployment is localized on the Context Filtering tab, the pageInit entry point of the script is ignored, and no other entry points of the script are called before localizationContextEnter or after localizationContextExit. It is possible that the record may never enter a localization context. In this case, no callbacks of the script are executed. For more information, see the help topic SuiteScript 2.0 Client Script Entry Points and API. Sales and Purchase Custom Transactions Available in SuiteScript As of 2020.1, sales and purchase custom transaction types are available in SuiteScript. Additionally, the following sublists and subrecords are available for sales and purchase custom transactions: Sublist or Subrecord Availability Related Help Topics Revenue Recognition Sales custom transactions. Revenue Recognition Amortization Purchase custom transactions. Amortization Feature Overview Shipping Sales custom transactions with the option of enabling item Shipping line shipping and shipping to custom addresses. Promotions Sales custom transactions. Promotions Landed Costs Purchase custom transactions with the option of enabling Landed Cost landed cost per line or landed cost for the whole transaction. Installments Sales custom transactions and purchase custom Creating Installments for sales. transactions. Vendor Installment Payments for purchases. For more information on custom transactions in SuiteScript, see the help topic Custom Transaction. Change SuiteScript 81 Map/Reduce Concurrency Limit Is Adjusted to Target Account Limit for SDF Projects In NetSuite 2020.1, the behavior of the concurrency limit for map/reduce script objects in SDF projects has been updated. Previously, a SDF project validation failed with an error if the SDF project contained a map/reduce object that set the concurrency limit to a value that was greater than the target account limit. Now, if the concurrency limit in the map/reduce object is greater than the target account limit, SDF adjusts the concurrency limit to the target account limit. For more information, see Map/Reduce Concurrency Limit Adjusts to Target Account Limit. Change to Scripts on the Subsidiary Record Currency Field Previously, getting the text or value of the Currency field on the subsidiary record returned inconsistent results depending on whether the field was being accessed in edit or read-only mode. As of 2020.1, this behavior is changed to ensure results are consistent. To avoid unexpected results after your account is upgraded to 2020.1, you should modify any scripts that get the text or value of the subsidiary record Currency field while in read-only mode. The Currency field is read-only after a subsidiary record is created and saved. For example, in previous releases, scripts returned the following for these APIs in read-only mode: Version API Current Value Returned SuiteScript 1.0 nlapiGetFieldValue(‘currency’) The text value stored in the field. For example, “USD.” nlapiGetFieldText(‘currency’) null nlapiGetFieldValue(‘currencyvalue’) The internal ID of the value stored in the field. For example, 1. SuiteScript 2.0 record.getValue({fieldId:‘currency’}) The text value stored in the field. For example, “USD.” record.getText({ fieldId: ‘currency’}) The text value stored in the field. For example, “USD.” record.getValue({ fieldId: The internal ID of the value stored in the ‘currencyvalue’}) field. For example, 1. As of 2020.1, these SuiteScript APIs return the following: Version API 2020.1 Value Returned SuiteScript 1.0 nlapiGetFieldValue(‘currency’) The internal ID of the value stored in the field. For example, 1. nlapiGetFieldText(‘currency’) The text value stored in the field. For example, “USD.” nlapiGetFieldValue(‘currencyvalue’) The internal ID of the value stored in the field. For example, 1. This field ID will be deprecated in 2020.2. SuiteScript 2.0 record.getValue({fieldId: The internal ID of the value stored in the field. ‘currency’}) For example, 1. Change SuiteScript 82 Version API 2020.1 Value Returned record.getText({ fieldId: The text value stored in the field. For example, ‘currency’}) “USD.” record.getValue({ fieldId: The internal ID of the value stored in the field. ‘currencyvalue’}) For example, 1. This field ID will be deprecated in 2020.2. Deprecation of Script Queue Monitor (Beta) Important: The target date for the deprecation of Script Queue Monitor (SQM) (Beta) was changed from September 3, 2019 to December 10, 2019. As of 2019.2, the Script Queue Monitor (Beta) SuiteApp (Bundle ID: 56125) is deprecated. The target date for this deprecation was December 10, 2019, shifted from a previous target of September 3, 2019. After this SuiteApp’s deprecation, you can no longer use it to monitor script deployments of accounts that continue to use queues. You must start to monitor your queues on either the Script Queue Monitor (SQM) dashboard or the SuiteCloud Processors Monitor tool that are integrated in Application Performance Management (APM). If you want a better view of jobs handled by SuiteCloud Processors, scheduling queues, or both, you must use the SuiteCloud Processors Monitor tool. You have to meet certain requirements, such as using an Administrator role or a role with specific permissions, to use the APM SuiteApp. After you install the APM SuiteApp, you can access the SQM dashboard at Customization > Performance > Script Queue Monitor. You can access the SuiteCloud Processors Monitor at Customization > Performance > SuiteCloud Processors Monitor. For more information, see:
  • Using the Script Queue Monitor Dashboard in APM
  • Monitoring SuiteCloud Processors Performance Method Added to N/redirect Module A new redirect.toRecordTransform(options) method has been added to the redirect module. The method opens the form of the destination transaction and uses information from the source transaction to fill in fields on the form. For more information, see the help topic N/redirect Module. Support for Relative File Paths in the N/file Module You can specify a relative file path when you load a file using the file.load(options) method in the N/file module. Relative paths always start with ./ or ../. Previously, you could load a file only by specifying the internal ID of the file or the absolute file path to the file in the File Cabinet. For more information, see the help topic N/file Module. This feature was introduced in NetSuite 2019.2. 2020.1 SuiteScript Macro Exposures Record Type Macro ID UI Button Label Notes Project Work Breakdown getAmountsFields Get Amounts Fields Gets the contents of all amounts field Structure names. Change SuiteScript 83 Record Type Macro ID UI Button Label Notes Project Work Breakdown setAmountFieldValue Set Amount Field Sets the value of the amount field. Structure Value Project Work Breakdown getAmountFieldValue Get Amount Field Gets the value of the amount field. Structure Value Project Work Breakdown getUnmatchedActuals Get Unmatched Gets the unmatched actuals. Structure Actuals 2020.1 SuiteScript Record Exposures Record Type Notes Balance Transactions by To use the balance transactions by segments record, you must enable the Balancing Segments Segments and Custom Segments feature. The balance transactions by segments record is scriptable in server SuiteScript only. The record is partially scriptable, you can create, read, and search it using SuiteScript. Bonus To use the bonus record, you must enable the Compensation Tracking feature. The bonus record is scriptable in both client and server SuiteScript. Bonus Type To use the bonus type record, you must enable the Compensation Tracking feature. The bonus type record is scriptable in both client and server SuiteScript. Item Process Family Item Process Group Memorized Transaction Memorized transaction templates and definitions must be created in the NetSuite user Definition interface, but existing memorized transaction definitions can be called using SuiteScript. Memorized transaction definitions are scriptable in both client and server SuiteScript. Automatically-created transactions do not support server-side scripting. Memorized transaction definitions support only the Read, Update, Delete, and Search functions. Order Type Pick Strategy Pick Task Project Work Breakdown To use the project work breakdown structure record, you must enable the Job Costing Structure and Project Budgeting, Advanced Project Accounting, Custom Records, Custom Segments, and Activity Codes features. The project work breakdown structure event record is scriptable in both client and server SuiteScript. Copy and transform are not supported. Vendor Prepayment The vendor prepayment record is scriptable in both client and server SuiteScript. The script user must have the required permission level for the Vendor Prepayment permission. Vendor Prepayment The vendor prepayment application record is scriptable in both client and server Application SuiteScript. Change SuiteScript 84 Record Type Notes The script user must have the required permission level for the Vendor Prepayment Application permission. Wave Zone 2020.1 SuiteScript Records Browser The 2020.1 SuiteScript Records Browser is not yet available. SuiteTalk Web Services Integration NetSuite 2020.1 includes the following enhancements to web services features:
  • Changes in the URL Structure of REST Web Services
  • REST Web Services Support for CRUD Operations on Custom Records
  • Fully Supported Record Types for REST Web Services in 2020.1
  • New REST API Browser
  • Record Action Execution Through REST Web Services
  • Support for Record Transformation Through REST Web Services
  • SuiteQL Query Execution Through REST Web Services
  • Changes in SuiteAnalytics Workbook Execution Through REST Web Services
  • SuiteScript Execution Context for REST Web Services
  • REST Web Services Requests and Responses Tracked in the Execution Log
  • Sales and Purchase Custom Transactions Available in SOAP Web Services
  • New GetConcurrencyGovernance Operation in SOAP Web Services
  • Operations Removed in 2020.1 SOAP Web Services Endpoint
  • Governance Enabled for All Accounts
  • Integration Record Enhancements Related to OAuth 2.0
  • Field Type Change in the Project Task Record
  • SOAP Web Services Version 2020.1
  • Araxis Merge Diff File for the 2020.1 Endpoint
  • 2020.1 SOAP Schema Browser Changes in the URL Structure of REST Web Services As of 2020.1, you can access NetSuite resources through REST web services by using URLs specific to either record or query service. To use CRUD operations on records, you can use a URL similar to the following: Change SuiteTalk Web Services Integration 85 PATCH https://demo123.suitetalk.api.netusite.com/services/rest/record/v1/customer/42 To access resource metadata, you can use a URL similar to the following: GET https://demo123.suitetalk.api.netsuite.com/services/rest/record/v1/metadata-catalog For information about using metadata, see the help topic Working with Resource Metadata. To execute saved datasets, you can use a URL similar to the following: GET https://demo123.suitetalk.api.netusite.com/services/rest/query/v1/workbook/custworkbook123/result For more information, see the help topic REST Web Services URL Schema and Account-Specific URLs. REST Web Services Support for CRUD Operations on Custom Records As of 2020.1, you can use all CRUD (create, read, update, and delete) operations on custom record instances. You can use CRUD operations to perform business processing on custom records and move dynamically between custom records. In NetSuite, you track all of the information in your account using records. Users with the Custom Record Entries permission can create custom records that collect information specific to the needs of their business. Creating custom record types through REST web services is not supported. To work with custom record definitions, you must have the Custom Records feature enabled on your account. To enable the feature, go to Setup > Company > Setup Tasks > Enable Features, and select Custom Records on the SuiteCloud subtab. You must create a custom record type in the UI, and then you can work with instances of the custom record type through REST web services. For information, see the help topic Creating Custom Record Types. You also can use SDF to create custom record types. For information, see the help topic Custom Record Types as XML Definitions. For information about using CRUD operations, see the sections under Working with Records. Fully Supported Record Types for REST Web Services in 2020.1 The following table lists the records that are fully supported as of 2020.1. Record Type Notes Billing Account Available if SuiteBilling features are enabled. For information, see the help topic Enabling SuiteBilling Features. Price Book Available if SuiteBilling features are enabled. For information, see the help topic Enabling SuiteBilling Features. Price Plan Available if SuiteBilling features are enabled. For information, see the help topic Enabling SuiteBilling Features. Change SuiteTalk Web Services Integration 86 Record Type Notes Subscription Available if SuiteBilling features are enabled. For information, see the help topic Enabling SuiteBilling Features. Subscription Line Available if SuiteBilling features are enabled. For information, see the help topic Enabling SuiteBilling Features. A subscription line record is always tied to a subscription record. Subscription Plan Available if SuiteBilling features are enabled. For information, see the help topic Enabling SuiteBilling Features. A subscription requires a subscription plan, but the subscription plan is not always tied to a subscription. Subsidiary You must use NetSuite OneWorld or have the Subsidiaries feature enabled to use the subsidiary record. The POST (create), PATCH (update), and DELETE operations are not supported. Apart from these fully supported records, all records listed in the REST API Browser are available as beta records in REST web services. For information, see the REST API Browser. For information about working with the browser, see the help topic The REST API Browser. New REST API Browser The REST API Browser is a browser that provides a visual overview of the structure and capabilities of the REST web services Record API. The REST API browser includes information such as the following:
  • The support level of records. Beta records are marked with a beta label.
  • The summary of all records, sublists, schema definitions, and other objects.
  • The available operations you can perform on a record.
  • The description of URLs, HTTP methods, and request parameters used for CRUD operations.
  • The structure of responses you can receive after performing an operation.
  • The description of field names and field types, and the properties of fields. To access the browser, see the REST API Browser For more information about working with the browser, see the help topic The REST API Browser. Record Action Execution Through REST Web Services Warning: Record action execution through REST web services is a beta feature. The contents of this feature are preliminary and may be changed or discontinued without prior notice. Any change may impact the feature’s operation with the NetSuite application. Warranties and product service levels do not apply to this feature or the impact of this feature on other portions of the NetSuite application. We may review and monitor the performance and use of this feature. The documentation for this feature is also considered a beta version and is subject to revision. REST web services support APIs that provide the programmatic equivalent of clicking a button in the NetSuite user interface. With the record action APIs, you can use REST web services to trigger the same business logic that is triggered by the click of a UI button. Change SuiteTalk Web Services Integration 87 By using record actions, you can update the state of a record. Approve and reject are two examples of record actions. When an approve or a reject action is executed on a record, the approval status of the record is saved immediately. REST web services support the same record actions supported by SuiteScript. For a list of supported actions, see the help topic Supported Record Actions. For more information, see Executing Record Actions. Support for Record Transformation Through REST Web Services Warning: Support for record transformation through REST web services is a beta feature. The contents of this feature are preliminary and may be changed or discontinued without prior notice. Any change may impact the feature’s operation with the NetSuite application. Warranties and product service levels do not apply to this feature or the impact of this feature on other portions of the NetSuite application. We may review and monitor the performance and use of this feature. The documentation for this feature is also considered a beta version and is subject to revision. As of 2020.1, you can use REST web services to transform a record from one type into another. In REST web services, you use the POST method to send a record transformation request. All record transformations available in SuiteScript are also available in REST web services. For information about the supported transformation types, see the help topic record.transform(options). For more information about record transformation through REST web services, see Transforming Records. SuiteQL Query Execution Through REST Web Services Warning: SuiteQL query execution through REST web services is a beta feature. The contents of this feature are preliminary and may be changed or discontinued without prior notice. Any change may impact the feature’s operation with the NetSuite application. Warranties and product service levels do not apply to this feature or the impact of the feature on other portions of the NetSuite application. We may review and monitor the performance and use of this feature. The documentation for this feature is also considered a beta version and is subject to revision. As of 2020.1, you can execute SuiteQL queries through REST web services. SuiteQL is a query language based on the SQL database query language. SuiteQL provides advanced query capabilities that can be used to access NetSuite records. To execute SuiteQL queries through REST web services, send a POST request to the suiteql resource, and specify the query in the request body after the query parameter q. The following example shows a SuiteQL query executed through REST web services.

POST https://demo123.suitetalk.api.netsuite.com/services/rest/query/v1/suiteql Prefer: transient . { . “q”: “SELECT email, COUNT(*) as count FROM transaction GROUP BY email” . } For more information about SuiteQL in general, see the help topic SuiteQL. Change SuiteTalk Web Services Integration 88 For more information about executing SuiteQL queries through REST web services, see Executing SuiteQL Queries Through REST Web Services. Changes in SuiteAnalytics Workbook Execution Through REST Web Services Warning: Support for SuiteAnalytics workbook execution through REST web services is a beta feature. The contents of this feature are preliminary and may be changed or discontinued without prior notice. Any change may impact the feature’s operation with the NetSuite application. Warranties and product service levels do not apply to this feature or the impact of this feature on other portions of the NetSuite application. We may review and monitor the performance and use of this feature. The documentation for this feature is also considered a beta version and is subject to revision. SuiteAnalytics Workbook is an analytical tool available in NetSuite. With SuiteAnalytics Workbook, you can create customizable workbooks that combine queries, pivot tables, and charts using a single tool that leverages a new data source. For information about working with SuiteAnalytics workbooks in the UI, see the help topic SuiteAnalytics Workbook. In REST web services, you can run saved workbooks and retrieve their results. You can execute both standard and custom workbooks. As of 2020.1, the URL structure for executing workbooks through REST web services changed and a result parameter was added to the URL. To execute a workbook, you send a GET request similar to the following: GET https://demo123.suitetalk.api.netsuite.com/services/rest/query/v1/workbook/ExampleWorkBook1/result When you work with SuiteAnalytics workbooks in REST web services, consider the following:

  • Workbooks cannot be created, filtered, or edited through REST web services.
  • Metadata is not provided for saved analytics workbooks.
  • The response from a saved analytics execution returned through REST web services may have a different format and values than responses for record instance requests. For more information, see the help topic Working with SuiteAnalytics Workbooks in REST Web Services. SuiteScript Execution Context for REST Web Services NetSuite 2020.1 introduces the REST web services script execution context. For NetSuite user event and client scripts, you can set up execution context filtering to control the contexts in which these scripts can run. You can set up execution context filtering in the Execution Context field on the Context Filtering subtab of the Script Deployment record. For more information, see Enhancements to Execution Contexts for Scripts and Workflows. If a script has its execution context set to REST web services, the script only executes if it is triggered through a REST web services request. For example, you can deploy a script similar to the following on customer records. In this example, the beforeSubmit script is only executed on the record if the request is triggered through REST web services. define([‘N/record,’ ‘N/runtime’], function(record, runtime) { Change SuiteTalk Web Services Integration 89 function beforeSubmit(context) { var ctx = runtime.executionContext var isRestWs = (runtime.ContextType.REST_WEBSERVICES === ctx); log.debug(ctx + ”: Before submit of ” + context.newRecord.type); } For more information about script execution contexts, see the help topic runtime.executionContext. For information about execution context behavior in workflows, see Change to Default Behavior of Context Selection in Workflows and Actions. REST Web Services Requests and Responses Tracked in the Execution Log As of 2020.1, you can access the contents of REST web services requests and responses through the REST Web Services Execution Log. To access the REST Web Services Execution Log, go to Setup > Integration > Integration Management > Manage Integrations, and select the integration record you want to view. On the integration record, go to REST Web Services on the Execution Log subtab, and click View to download a request or a response. The requests and responses logged in the execution log contain the values of sensitive fields in masked format. For information about using an encrypted format on custom fields, see the help topic Encrypted Custom Field Stored Values. For more information about REST Web Services logging, see the help topic Using the REST Web Services Execution Log. Sales and Purchase Custom Transactions Available in SOAP Web Services As of 2020.1, sales and purchase custom transaction types are available in SOAP web services. Additionally, the following sublists and subrecords are available for sales and purchase custom transactions: Sublist or Subrecord Availability Related Help Topics Revenue Recognition Sales custom transactions. Revenue Recognition Amortization Purchase custom transactions. Amortization Feature Overview Shipping Sales custom transactions with the option of enabling item Shipping line shipping and shipping to custom addresses. Promotions Sales custom transactions. Promotions Landed Costs Purchase custom transactions with the option of enabling Landed Cost landed cost per line or landed cost for the whole transaction. Installments Sales custom transactions and purchase custom Creating Installments for sales. transactions. Vendor Installment Payments for purchases. Change SuiteTalk Web Services Integration 90 Sales and purchase custom transactions differ in a few things from other custom transaction types in SOAP web services. To understand these differences, read the topic Sales and Purchase Custom Transaction Types. New GetConcurrencyGovernance Operation in SOAP Web Services As of 2020.1 you can use the getAccountGovernanceInfo and the getIntegrationGovernanceInfo operations in SOAP web services. With the getAccountGovernanceInfo operation, you can get the Account Concurrency Limit and the Unallocated Concurrency Limit. With the getIntegrationGovernanceInfo operation, you can get the Concurrency Limit for the integration (integrationConcurrencyLimit) and the limitType, which can be:
  • _integrationSpecific, when a limit has been allocated.
  • _internal, when it is an internal application. In this case the limit is not displayed.
  • -accountLimit, when no specific limit has been allocated to the integration. For more information about governance, see Web Services and RESTlet Concurrency Governance. Operations Removed in 2020.1 SOAP Web Services Endpoint The following operations have been removed in 2020.1 SOAP web services endpoint:
  • login
  • logout
  • ssoLogin
  • mapSso
  • searchMore
  • searchNext You should use Token-based Authentication for logging into NetSuite instead. For more information, see the help topic Token-based Authentication (TBA). Note: The operations remain available for earlier endpoints. For more information on which endpoints are supported, see the help topic Support for Existing WSDL Versions. Governance Enabled for All Accounts As of 2020.1, web services and RESTlet account governance has been enabled for all accounts, so the Web Services and RESTlet Account Governance Enabled box has been removed. Note: The Web Services and RESTlet Account Governance Enabled box was visible for administrators in production accounts, but was editable only in Sandbox environment. For more information about governance, see Web Services and RESTlet Concurrency Governance. Change SuiteTalk Web Services Integration 91 Integration Record Enhancements Related to OAuth 2.0 A new approach to access REST Web Services and RESTlets is now available. OAuth 2.0 provides an alternative to Token-based Authentication. OAuth 2.0 has a standard authorization code grant flow that generates a pair of tokens: an access token and a refresh token. The access token is valid for 60 minutes and is used to access the protected resource. For detailed information about OAuth 2.0, see OAuth 2.0 Delegated Access for REST Web Services and RESTlets. You can configure settings related to OAuth 2.0 on the integration record of your REST web services or RESTlet integration application. For information, see Defining OAuth 2.0 on Integration Records. For general information about working with integration records, see the help topic Creating an Integration Record. Field Type Change in the Project Task Record The field type of the remainingWork and actualWork fields in the projekt task record changes in 2020.1 endpoint from double to duration type. You must take this change of field type into consideration when upgrading to the 2020.1 endpoint to avoid any issues with your integration. Earlier endpoints will not be affected by this field type change. SOAP Web Services Version 2020.1 SOAP web services version 2020.1 is available. When your implementation is upgraded to 2020.1, the 2020.1 WSDL becomes available in your production account. You do not need to upgrade your WSDL when the new version is generally available. NetSuite supports each endpoint for three years. For information about the supported generally available versions, see the help topic Support for Existing WSDL Versions. Araxis Merge Diff File for the 2020.1 Endpoint The Araxis Merge Diff file highlights 2019.2 – 2020.1 schema changes. The diff file is not yet available, but this section provides details about the types of information it will include.
  • About the Araxis Diff File
  • Using the Araxis Diff File About the Araxis Diff File NetSuite publishes an Araxis Diff File for every new endpoint. Depending on the scope of the release, changes described in the Araxis Diff File may include:
  • New record types
  • Elements (fields) that have been added, removed, or changed
  • New sublists (lists)
  • New joins
  • New search filters and search return columns Change SuiteTalk Web Services Integration 92
  • New platform operations Using the Araxis Diff File Important: The figures in this section are for illustrative purposes only. They do not reflect changes related to any specific endpoint. The diff file is generated using Araxis Merge. When you click the diff file link (when it is available), a page appears that offers an overview of all schema changes. The following screenshot shows how this summary page looks. In this example, the rows highlighted in purple indicate that an XSD has been modified. The integers at the center indicate the number of changed lines in the file. To see the exact differences, click the report link in the column to the right, or click the name of the file in either column. When you click any of these links, the diff file shows a page with two columns. The previous version of the file is displayed on the left, and the new version on the right. Changed elements are highlighted. For example, the following screenshot shows an excerpt from the report on platform.commonTypes.xsd. Notice the addition of two values to the PermissionCode enumeration: _accessPaymentAuditLog and _advancedPDFHTMLTemplates. The diff file also shows changes to data types. The following screenshot is a snapshot of transactions.sales.xsd. Notice that the chargeType element changed from an enumeration to a RecordRef. Change SuiteTalk Web Services Integration 93 2020.1 SOAP Schema Browser The 2020.1 SOAP Schema Browser is not yet available. SuiteCloud SDK SuiteCloud Software Development Kit (SuiteCloud SDK) is a set of tools you can use to develop SuiteCloud Development Framework (SDF) projects, the SuiteCloud IDE plug-ins, and SuiteCloud CLI. SuiteCloud SDK for 2020.1 includes the following features and updates:
  • 2020.1 SuiteCloud CLI for Java Is Not Yet Available
  • 2020.1 SuiteCloud Plug-in for WebStorm Is Not Yet Available
  • 2020.1 SuiteCloud Plug-in for Eclipse Is Not Yet Available Generally, 2020.1 plug-in behavior changes are designed to support SDF. In addition, SuiteCloud IDE plug-ins for versions 2017.1 and later have compatibility requirements. The version of your plug-in must match the version of your NetSuite account before you can use the plug-in to create SDF projects. For information about additional features that impact SuiteCloud IDE plug-ins and SuiteCloud CLI, see the release note for SuiteCloud Development Framework. 2020.1 SuiteCloud CLI for Java Is Not Yet Available SuiteCloud Command-Line Interface for Java (SuiteCloud CLI for Java) 2020.1 is targeted for release in March 2020. SuiteCloud CLI for Java is the SDF (SuiteCloud Development Framework) command-line interface. You can use the CLI for Java with your own integrated development environment (IDE) to create SDF projects, including SDF SuiteApps. You can also create batch and shell scripts that use CLI commands to automate your project validation and deployment processes. When used with your own IDE, CLI for Java acts as an alternative to SuiteCloud IDE. For more information about CLI for Java, see the help topic CLI for Java Guide. CLI for Java is supported on Windows, Linux, and Mac OS X. For more information, see the help topic CLI for Java Installation Prerequisites. 2020.1 SuiteCloud Plug-in for WebStorm Is Not Yet Available The 2020.1 SuiteCloud plug-in for WebStorm is targeted for release in February 2020. Important: When your account is upgraded to 2020.1, your instance of the plug–in is not updated automatically to 2020.1. After your account upgrade, you must manually update the plug–in to the latest version. For more information, see the help topic Adding the SuiteCloud IDE Plug-in to WebStorm. 2020.1 SuiteCloud Plug-in for Eclipse Is Not Yet Available The 2020.1 SuiteCloud plug-in for Eclipse is targeted for release in February 2020. Change SuiteCloud SDK 94 Important: When your account is upgraded to 2020.1, your instance of the plug–in is not updated automatically to 2020.1. After your account upgrade, you must manually update the plug-in to the latest version. For more information, see the help topic Updating Eclipse for Use with SuiteCloud IDE Plug-in. SuiteCloud Development Framework SuiteCloud Development Framework (SDF) is a development framework and deployment mechanism. Customers and partners can use SDF to create customization projects for internal use within their organizations or for commercial distribution. For more information about SDF, see the help topic SuiteCloud Development Framework Overview. For a complete list of custom records and customizations that are supported by SDF, see the help topic Customizations Supported by SuiteCloud Development Framework. With the release of SuiteCloud Development Framework, the SuiteCloud Terms of Service were updated in September 2016 to specifically include SuiteCloud Development Framework as one of the listed SuiteCloud Technologies and to make other clarifying changes. You can review the complete updated terms at http://www.netsuite.com/termsofservice. NetSuite 2020.1 includes the following enhancements to SDF features:
  • Custom Code and Action Tabs in Custom Forms Support
  • Sales and Purchase Custom Transactions Support
  • Additional Transaction Form Types Can Be Customized
  • Translatable Fields Support
  • Map/Reduce Concurrency Limit Adjusts to Target Account Limit
  • Financial Institution Connectivity Plug-in Support
  • Parser Plug-in Support
  • Minor Updates to Custom Objects Custom Code and Action Tabs in Custom Forms Support SuiteCloud Development Framework (SDF) supports the Custom Code and Action tabs in custom forms. In NetSuite, the Custom Code tab and Actions tab are used together to define custom buttons for custom forms. Custom buttons are a way for your users to intentionally execute client SuiteScript on custom forms. The buttons are useful for executing a specific function when the user clicks the button on the form, such as creating a customized invoice. You can add custom buttons to custom forms in SDF by specifying the actionBar element to define the Action tab. The following example defines two custom buttons. The first button has the label Invoice Client, and that button runs the function invoiceClient. The second button has the label Generate Report, and runs the function generateReport. To execute, both functions must be defined in the client SuiteScript file referenced by the scriptFile field for the customCode element in the same custom form object.
invoiceClient Change SuiteCloud Development Framework 95 generateReport Each custom button runs SuiteScript from the Custom Code tab, which you can define in SDF by specifying the customCode element. Important: Only SuiteScript 2.0 scripts are supported for the scriptFile value in customCode. The following example defines the Custom Code tab by specifying the customCode element, which contains the scriptFile field that references the client SuiteScript file invoice.js. The invoice.js file can contain functions used by custom buttons. [/SuiteScript/invoice.js] The following custom objects support the customCode and actionBar elements: - addressForm - entryForm - transactionForm For more information about defining the customCode and actionBar elements, see Custom Code Tab and Actions Tab in XML Definitions. Sales and Purchase Custom Transactions Support SuiteCloud Development Framework (SDF) supports the sales and purchase custom transaction types when defining custom transaction objects. For information about sales and purchase custom transactions in NetSuite, see Sales and Purchase Custom Transactions Available and Sales and Purchase Transaction Types Overview. For information about defining customtransactiontype objects, see the help topic Custom Transaction Record Types as XML Definitions. Additional Transaction Form Types Can Be Customized Prior to this release, SDF supported a small number of transaction form types. As of 2020.1, SDF supports many more transaction forms. Important: You should copy or modify a custom transaction form that you imported from your account. SDF does not support creating custom forms. To learn about importing an object, see the help topic Account Component Imports. The following table shows the new types of transaction forms that SDF supports. The columns show the script ID of the form and the record type the form is applied to. Script ID of Transaction Form Type Record Type Associated with Transaction Form STANDARDBLANKETPURCHASEORDER Blanket Purchase Order STANDARDCREDITCARDCHARGE Credit Card STANDARDCREDITMEMO Credit Memo Change SuiteCloud Development Framework 96 Script ID of Transaction Form Type Record Type Associated with Transaction Form STANDARDCUSTOMERDEPOSIT Customer Deposit STANDARDCUSTOMERREFUND Customer Refund STANDARDDEPOSIT Deposit STANDARDEXPENSEREPORT Expense Report STANDARDFULFILLMENTREQUEST Fulfillment Request STANDARDFULFILLMENTREQUESTPICKINGTICKET Fulfillment Request Picking Ticket STANDARDINVENTORYADJUSTMENT Inventory Adjustment STANDARDINVENTORYCOUNT Inventory Count STANDARDINVENTORYTRANSFER Inventory Transfer STANDARDINVENTORYWORKSHEET Inventory Worksheet STANDARDITEMFULFILLMENT Item Fulfillment STANDARDITEMRECEIPT Item Receipt STANDARDONLINEORDERINVOICE Sales Order External STANDARDOPPORTUNITY Opportunity STANDARDPACKINGSLIP Packing Slip STANDARDPICKINGTICKET Picking Ticket STANDARDPURCHASECONTRACT Purchase Contract STANDARDREQUISITION Requisition STANDARDRETURNAUTHORIZATIONCASH Return Authorization STANDARDRETURNAUTHORIZATIONCREDIT Return Authorization STANDARDRETURNREQUESTCASH Return Authorization (External) STANDARDRETURNREQUESTCREDIT Return Authorization (External) STANDARDREVENUEARRANGEMENT Revenue Arrangement STANDARDSALESORDERPROGRESSBILLING Sales Order STANDARDSERVICEINVOICE Invoice STANDARDTRANSFERORDER Transfer Order STANDARDVENDORBILL Bill STANDARDVENDORCREDIT Bill Credit STANDARDWORKORDER Work Order STANDARDVENDORRETURNAUTHORIZATION Vendor Return Authorization To define the transaction form type in your object XML, you can specify a form value listed in the table earlier. For the complete list of supported values, see the help topic transactionform_standard. The following code shows the reference syntax: Change SuiteCloud Development Framework 97 scriptid="objectprefix_scriptid" standard="ATRANSACTIONFORMID" In the following example, “Ultimate Sales Form” is the name of the custom transaction form. The customization is based on the standard sales order form in NetSuite. As specified by the recordType element, “Ultimate Sales Form” is applied to the sales order record. Ultimate Sales Form SALESORDER . . . Note: Some transaction forms have feature requirements. You can use SDF project validation to determine if a feature is required to use a form. For information, see the help topic SDF Project Validation. For more information about custom transaction form objects, see the following topics: - Supported Custom Transaction Form Objects - transactionform_standard - Referencing a Custom Transaction in XML Definitions - Custom Transaction Form Example Translatable Fields Support SuiteCloud Development Framework (SDF) supports some translatable fields for clientscript and workflow custom objects. When creating custom objects in SDF that have translatable fields, you can reference translation strings from translation collections. After the custom objects and the translation collections are deployed to an account, the NetSuite UI displays the translation for each translatable field in the account language. If a field has no translation in the account language, the NetSuite UI displays the default translation. For information about the supported translatable fields in custom objects, see Translatable Fields in XML Definitions (Beta). Note: The format for field label translations requires a translation collection object. For information about using translation collections in SDF, see the help topic Translation Collections as XML Definitions. The following example is a workflow custom object with a label field that contains a reference to the term approve in the translation collection custcollection_approvals: My custom workflow LEAD ... ... State 2: Pending Approval ... Change SuiteCloud Development Framework 98 ... ... ... ... Map/Reduce Concurrency Limit Adjusts to Target Account Limit Prior to this release, your SDF project validation failed with an error if your SDF project contained a map/ reduce object that set the concurrency limitto a value that was greater than the target account limit. You also might have required multiple map/reduce script versions with different concurrency values specific to account limits you deploy to. Now you can deploy the same map/reduce script object to accounts limited to different concurrency values. As of 2020.1, if your SDF project contains a map/reduce script object, SDF can adjust the concurrency value to the target account limit. Concurrency limits are specific to an account and depend on the number of SuiteCloud Plus licenses in the account When SDF adjusts the concurrency value to the target account limit, it adjusts the value only in the script deployment record of the map/reduce script. The source concurrency value in the map/reduce object in your SDF project is not modified. The concurrency value sourced from your SDF project is compared to the account limit. The script deployment record in the account uses the lesser value of the two, and SDF adjusts the concurrency value as necessary. When the concurrency value is equal to or less than the target account limit, there is no change to concurrency value. If the account concurrency limit increases, the concurrency value is updated when the source value is larger. Adjustment no longer occurs if the concurrency value is changed manually in target account. For example, if you set concurrency value to 10 and deploy your SDF project to an account limited to a concurrency value of 5, the script deployment record in the account is set to 5. If you then download the map/reduce object as XML or import it to an SDF project, the concurrency value is unchanged. It remains set to 10. For more information, see the following topics: - Map/Reduce Concurrency in the SDF documentation. - scriptdeployment in the SDF XML reference. - mapreducescript in the SDF XML reference - Concurrency Limit in the SuiteScript documentation. Financial Institution Connectivity Plug-in Support SuiteCloud Development Framework (SDF) supports customizing the Financial Institution Connectivity plug-in. The plug-in provides a way for NetSuite to use the Financial Institution Connectivity API to directly Change SuiteCloud Development Framework 99 connect customers to a specific financial institution. For information about customizing and using the Financial Institution Connectivity plug-in in NetSuite, see Financial Institution Connectivity API. You can customize the plug-in in SDF by defining ficonnectivityplugin objects. For information about the available fields, see ficonnectivityplugin. Each ficonnectivityplugin custom object requires a scriptfile field reference to a SuiteScript file that implements the following interface functions: - getAccounts - getTransactionData - getConfigurationiFrameUrl The following example defines a ficonnectivityplugin custom object named “Financial Connectivity Profile 1” that specifies the SuiteScript file connectionprofile.js: F DEBUG Financial Connectivity Profile 1 F T F [/SuiteApps/com.example.yourapp/src/parser/connectionprofile.js] TESTING Parser Plug-in Support SuiteCloud Development Framework (SDF) supports customizing the Parser plug-in to create parsers for different bank and credit card statement formats. For information about using the Parser plug-in, see the help topic Parser Plug-in Overview. You can customize the plug-in by defining bankstatementparserplugin objects in your SDF project. For information about the available fields, see bankstatementparserplugin. Each bankstatementparserplugin custom object requires a scriptfile field reference to a SuiteScript file that implements an interface function. For more information, see the help topic Creating the Parser Plug- in Script File. The following example defines a bankstatementparserplugin custom object with the name “Statement Parser 1” that references the SuiteScript file statementparser1.js: F DEBUG Statement Parser 1 F T F Change SuiteCloud Development Framework 100 [/SuiteApps/com.example.yourapp/src/parser/statementparser1.js] TESTING Minor Updates to Custom Objects Note the following information about updates to SuiteCloud Development Framework (SDF) support for custom objects as of 2020.1: Object Field Type Notes clientscript localizationcontext multi-select list You can filter your scripts to run based on the localization context of your users. For more information, see Introducing Localization Context – User Event and Client Script Association and Localization Context Filtering for SuiteScript 2.0. For more information about the possible values for localizationcontext, see the help topic scriptdeployment. usereventscript alllocalizationcontexts boolean You can filter your scripts to run based on the localization context of your users. For more localizationcontext multi-select list information, see Introducing Localization Context – User Event and Client Script Association and Localization Context Filtering for SuiteScript 2.0. For information about the possible values for alllocalizationcontexts and localizationcontext, see the help topic scriptdeployment. workflow clienttriggerfieldssublist single-select list You can include workflows on the Expense sublist for expense report records by specifying the field sublist single-select list value EXPENSEREPORT:EXPENSE. For more information about the Expense sublist, see Support for Expense Sublist on Expense Report. SuiteApps (Bundles) Released by NetSuite NetSuite 2020.1 includes the following enhancements to SuiteApps released by NetSuite: - Accounting SuiteApps - Administration SuiteApps - Banking SuiteApps - SuitePeople SuiteApps - Order Management SuiteApps - Inventory Management SuiteApps - Localization SuiteApps - Manufacturing SuiteApps - Projects SuiteApps Change SuiteApps (Bundles) Released by NetSuite 101 - Non-Profit SuiteApps - Food and Beverage SuiteApps - Taxation SuiteApps Accounting SuiteApps Following is the 2020.1 accounting enhancement to SuiteApps: - Fixed Assets Management Enhancements - SuiteApprovals Enhancements Fixed Assets Management Enhancements Fixed Assets Management version 20.1 includes the following enhancements: - Lease Accounting Modifications - FAM Diagnostics - Fixed Assets Reports for Japan Lease Accounting Modifications The Lease Modification process enables users to make changes to the original terms and conditions of a lease. The Modify Lease Record button is available on Lease records with associated assets, so that you can modify the Lease Term, Interest Rate, and update the Lease Payments as of the effective date of modification. Alternatively, you can go to Fixed Assets > Leases > Lease Modification page and select the lease record that you want to modify. After entering the necessary modifications, the Apply Lease Modification button will be available on the lease record. Clicking this button will trigger the following processes: - Create a lease modification journal entry to record the adjustments to the Lease Liability and Right-of- Use Asset accounts. - Record a reversal interest journal entry to reverse the interest expense recorded to lease payments after the effective date of modification. - Associate the lease modification journal entry to the newly created Lease Modification DHR. The asset’s current cost and net book value will then be updated. FAM Diagnostics Starting with Fixed Assets Management version 20.1, you can add the FAM Diagnostics portlet to your Home Dashboard to see the health of your Fixed Assets Management bundle. You can run a scan of the following processes in FAM Diagnostics: Precompute Depreciation Values, Reset Asset Values, and Check Missing Summary. The following information are also available in the portlet: - Processes that require action - What you can do to correct the problem - When a process was last corrected - Who corrected the process Change SuiteApps (Bundles) Released by NetSuite 102 To add the FAM Diagnostics, go to Home Dashboard, and then click Personalize > SuiteApps > FAM Diagnostics. Fixed Assets Reports for Japan To comply with the depreciation requirements of the Japan National Tax Authority, the following enhancements for Japan Corporate Tax Reports are added in FAM version 20.1: - Japan Schedule 16 (1) Report – This report is for assets and leased assets that use the Japan Straight Line Depreciation Method. - Japan Schedule 16 (2) Report – This report is for assets and leased assets that use the Japan 200% Declining and Japan 250% Declining Balance Depreciation methods. By default, these reports are displayed in Japanese. SuiteApprovals Enhancements SuiteApprovals version 5.00.0 includes the following enhancements: - Extension to Requisition Records – You can now create approval rules for requisition records. You can define any approval rule for requisitions in two ways: - Using the total line amount of the record as basis and then selecting an approval routing type: employee hierarchy or custom approval matrix. - Specifying an approval chain (employee hierarchy or custom) regardless of the total amount on the record. The following standard capabilities are supported for requisitions: - Automatic approvals using employee and record amount limits - Approval delegation - Approve and finalize (Final Approval) - One-level approval based on approver’s approval limit (Skip Approval) - Support for Cross-Subsidiary Approvals for Users with Appropriate Subsidiary Permissions – You can now set up subsidiary restriction values on the employee record of approvers through the roles assigned to them. This enhancement enables you to specify or add approvers from a subsidiary that is different from the subsidiary of an approval rule. This change applies to all supported record types. For more information, see the help topic SuiteApprovals Version 2019.2. Administration SuiteApps Following are the 2020.1 administration enhancements to SuiteApps: - Operation ID Field Added on Page Time Details - Deprecation of Script Queue Monitor (Beta) Operation ID Field Added on Page Time Details In Application Performance Management (APM) SuiteApp version 1.10.3, you can filter instances according to their operation ID on the Page Time Details tool. Change SuiteApps (Bundles) Released by NetSuite 103 Previously, you can open the Page Time Details page of an instance by going to the Customization > Performance > Page Time Summary, selecting the performance log instance, and clicking the corresponding view icon. Like other tools, Page Time Details provides a link to Profiler Details, which lets you monitor the performance of the operation. To avoid getting an error before you click Profiler Details on the upper right corner of the page, ensure that the Operation ID field contains a value. To start using Page Time Details, go to Customization > Performance > Page Time Details. For more information, read the help topic Using Page Time Details. Banking SuiteApps Following is the 2020.1 banking enhancement to SuiteApps: Bank Statement Parsers Enhancements Bank Statement Parsers version 20.1 includes the following enhancements: - CAMT.053 Parser - The new version of Bank Statement Parsers SuiteApp includes a parser plug-in for CAMT.053 in UTF-8 (Unicode) encoding. The CAMT.053 parser plug-in can parse bank statement files that use the CAMT.053.001.02 version and can recognize transactions in standard ISO bank transaction codes. The plug-in includes default field mappings for bank transactions imported into NetSuite. You can also create new mappings or override the default mappings. - BAI2 Parser Enhancement – BAI2 files are now successfully imported even if the non-mandatory fields in Record 03 and Record 16 are blank. - OFX/QFX Parser Enhancements: - Import credit card statements – The OFX/QFX plug–in implementation can now read and parse OFX credit card statement files. Statement files may contain single, multiple credit card accounts, or mixed of bank and credit card accounts. - Support for multiple accounts – The SuiteApp can now successfully import OFX/QFX statement files that use the aggregator tag to separate multiple bank accounts in the file. - Parser plugin name – The OFX plug–in name has been changed from OFX Plugin Implementation to OFX/QFX Plugin Implementation to easily recognize that this parser supports QFX version. For more information, see the help topic Bank Statement Parsers SuiteApp. SuitePeople SuiteApps Following is the 2020.1 SuitePeople enhancement to SuiteApps: - New Employee Fields and Reports Added for U.K. Localization - Onboarding Checklist Enhancements New Employee Fields and Reports Added for U.K. Localization SuitePeople U.K. Localization SuiteApp version 1.00 introduces enhancements that help HR professionals monitor information required by employee reporting regulations in the United Kingdom. Change SuiteApps (Bundles) Released by NetSuite 104 SuitePeople U.K. Localization (Bundle ID: 316598) includes the following enhancements: - New Employee Record Form and Fields – HR professionals can enter U.K.-specific information by using the forms and fields on the following table. U.K. Localization Forms U.K. Localization Fields Location of Fields U.K. Employee Form Ethnic Origin (U.K.) – This field lets you select the Personal subtab in the ethnic origin or group of the employee. Human Resources subtab Northern Ireland □ Ethnic Origin (U.K.) – This field lets you select the Personal subtab in the Employee Form Human Resources subtab ethnic origin or group of the employee. - Community Background – This field lets you select the community where the employee belongs. - Method of Monitoring – This field lets you select the method used to determine the employee's community background. - Determination Date – This field lets you select or enter the date that the employee's community background was determined. - New Employee Saved Searches – HR professionals can generate and customize reports to comply with regulations in the United Kingdom. U.K. Localization Saved Searches Description TEMPLATE U.K. Pay Equity Report This saved search helps you generate a report that includes the following: - Employee Name - Job Title - Department - Contract Type - Gender - Ethnic Origin (U.K) - Base Salary Type - Compensation Currency - Base Salary TEMPLATE U.K. Workforce Employee This saved search helps you generate a report that includes the Report following: - Employee Name - Job Title - Department - Contract Type - Gender - Ethnic Origin (U.K) For more information, read the help topic SuitePeople U.K. Localization. Onboarding Checklist Enhancements The latest update of the Onboarding Checklist SuiteApp includes enhancements to existing features and the renaming of the application to Onboarding/Offboarding Plans SuiteApp. Change SuiteApps (Bundles) Released by NetSuite 105 Onboarding/Offboarding Plans Version 1.01.0 (Bundle ID: 244690) helps businesses facilitate employee transitions by using dedicated plans and templates. HR professionals can use it to create employee plans, use premade plan templates or create their own, and receive notifications related to an employee transition. The following table shows the enhancements included with the update. Enhancements Onboarding Checklist Onboarding/Offboarding Plans Updated bundle details Onboarding Checklist Onboarding/Offboarding Plans Bundle ID: 244690 Bundle ID: 244690 Version: 1.01.0 Added the Includes onboarding checklists Includes the following: offboarding plan type for newly hired and transferring (previously checklist) employees ■ Onboarding plans for newly hired and transferring employee - Offboarding plans for exiting employees Enhanced access for Chief People Officer (CPO) and CPO, HRG, and Administrator roles can view, edit, Administrators Human Resources Generalist (HRG) and delete plans and templates. roles can view, edit, and delete checklists. Administrators have limited access. Updated navigation to For HRGs and CPOs: For HRGs and CPOs: create plans and templates - To create a new checklist, go ■ To create a new plan, go to Payroll and HR > to Payroll and HR > Lists > Lists > Onboarding/Offboarding Plan > New. Onboarding Checklist > New. ■ To create a new template, go to Setup > - To create a new template, go Onboarding/Offboarding > Template > New. to Payroll and HR > Lists > Onboarding Checklist Template For Administrators: > New. - To create a new plan, go to Lists > Employees > Onboarding/Offboarding Plan > New. - To create a new template, go to Setup > Onboarding/Offboarding > Template > New. Updated page names ■ Onboarding Checklist ■ Onboarding/Offboarding Plan List - Onboarding Checklist Template ■ Onboarding/Offboarding Template List Updated navigation to view ■ Onboarding Checklist List ■ Onboarding/Offboarding Plan lists - Onboarding Checklist Template ■ Onboarding/Offboarding Template List Added the premade Includes the Onboarding Checklist Includes the following templates: offboarding templates Template - Onboarding Plan Template - Offboarding Plan Template Updated fields used to On the Onboarding Checklist On the Onboarding/Offboarding Template page, determine due dates in a Template page, the following the following information determine the due date template information determine the due of a task: date of a task: - Due Date Basis field on the header section - Calculate Due Date From ■ Days from Due Date Basis column on the Tasks column on the Tasks subtab subtab - Days column on the Tasks subtab Change SuiteApps (Bundles) Released by NetSuite 106 Enhancements Onboarding Checklist Onboarding/Offboarding Plans On the Days column, you only need The Due Date Basis field automatically changes to enter the number of days. according to plan type. For onboarding plans, it displays Hire Date. For offboarding plans, it Example: Assignee must order a displays Termination Date. computer 14 days before the hire date. Enter data based on when the task must be finished. - Checklist Type: Onboarding - Before the due date basis – Enter a minus - Task Name: Order a computer sign (-) and the number of days. - Calculate Due Date From: Employee Start Date - ■ On the same day as due date basis – Enter zero (0) - Days from Due Date Basis: 14 - After the due date basis – Enter the number of days. - No defined due date – Leave blank. The following lists some examples of tasks and the appropriate entries: - Order a computer 14 days before the hire date – Enter -14. - Introduce the new hire on their hire date – Enter 0. - Complete profile five days after the hire date – Enter 5. - Submit an optional document – Leave blank. If you have created a custom saved search to generate a list of onboarding checklists, add a filter to this saved search to exclude offboarding checklists. For more information, read the help topic Employee Onboarding and Offboarding Plans. Order Management SuiteApps Following are the 2020.1 order management enhancements to SuiteApps: - Electronic Bank Payments Enhancements - Grid Order Management Enhancements - Subscription Billing Bulk Operations - Pricing Interval UI Enhancements - Add Interval to Multiple Subscription Lines Electronic Bank Payments Enhancements Electronic Bank Payments version 2020.1 includes the following features. - Electronic Bank Payments SuiteApp Templates Ownership Transfer to Localization SuiteApps - Installment Payments Support for Accounts Receivables - Primary Bank Setup for One World Accounts with Multiple Subsidiaries - Positive Pay Processing using SuiteScript 2.0 Change SuiteApps (Bundles) Released by NetSuite 107 Electronic Bank Payments SuiteApp Templates Ownership Transfer to Localization SuiteApps In NetSuite 2020.1, Electronic Bank Payments (EBP) SuiteApp templates are updated with the following changes. - Ownership of 61 native templates that were previously managed by the Electronic Bank Payments (EBP) SuiteApp are transferred to country-specific localization SuiteApps. - The From Localization SuiteApp field in the Template File is marked during the installation of a localization SuiteApp. The installation marker confirms that the template is localized. For information on the list of templates that have been transferred, refer to the SuiteAnswers article Electronic Bank Payment Templates Ownership Transfer to the Localization SuiteApp, SuiteAnswers ID 89384. Installment Payments Support for Accounts Receivables Installment Payments feature is now supported for Account Receivables in Electronic Bank Payments SuiteApp version 2020.1. You can now pay your invoices in installments using Invoice Payment Processing. If you enable the Installment feature in your account, a new column is added to display the Installment Reference Number on the Invoice Payment File when the installment bills are retrieved. Primary Bank Setup for One World Accounts with Multiple Subsidiaries In Electronic Bank Payments SuiteApp version 2020.1, the following changes have been made to NetSuite OneWorld accounts with multiple subsidiaries. - You can now assign a primary bank to each subsidiary for multi-subsidiary customer and vendor accounts. - The Entity Bank Details page is renamed to Bank Details. - A new required multi-select field, Subsidiary, has been added to this page. You can perform the following actions after this update. - Use the Subsidiary field to assign one or more subsidiaries to a bank. This enables you to assign one primary bank to each subsidiary for accounts with multiple subsidiaries. - Create multiple bank records per entity based on the account’s base country of operation. - Process transactions that belong to a different subsidiary. You can do this only if the transaction’s company and entity bank templates match the subsidiary and the entity bank is set to primary. Positive Pay Processing using SuiteScript 2.0 As of 2020.1, all functions for Positive Pay processing using the Electronic Bank Payments SuiteApp will use SuiteScript 2.0. Positive Pay is now enhanced to support a maximum of 5,000 transactions. Grid Order Management Enhancements Grid Order Management SuiteApp version 6.01.1 includes the following enhancements: - CSV Import Changes for Purchase Order and Sales Order Transactions – When you use CSV Import for purchase order and sales order transactions, both Grid Item ID and Grid Template Change SuiteApps (Bundles) Released by NetSuite 108 fields are no longer required. The SuiteApp now autogenerates a grid item ID for each item in the transaction. The system also assigns the grid template based on the current preferred grid template assignment. - Preferred Grid Template – You can now set a preferred grid template for inventory matrix items. You can set a preferred grid template on the item record, through CSV Import, or when creating or editing matrix templates. Having a preferred grid template simplifies the process of assigning a grid template to inventory matrix items. - Customizable Grid Print Templates – Alongside purchase order and sales order, the SuiteApp now enables you to customize grid print templates for the following transaction records: - Cash sale - Invoice - Packing slip - Picking ticket - Quote To learn more about these features, see the help topic Grid Order Management. Subscription Billing Bulk Operations SuiteBilling Enhancements version 20.1.0 includes support for bulk operations. Bulk operations enables you to remove charge, usage, and change order records that are no longer needed in the system. You can also update specific fields on charge and change order records. You can perform the following bulk operations using mass update: - Delete Records – Delete or void erroneous, obsolete, or irrelevant charge, usage, and change order records in the system. - Set Charge Stage to Non-Billable – Change the value of the Stage field on charge records to Non- Billable. - Update Change Order Effective Date – Change the value of the Effective Date field on change order records. This feature also includes the Bulk Operations Summary page, which can help you keep track of the mass update operations performed in the system. From this page, you can access the Bulk Operations Audit Trail record for each bulk operation run. On the audit trail record, you can view information about each run including job name, operation type, record type, number of records successfully processed, details of the records that were included in the mass update, and details about when the job was created and who performed the job. For more information, see Performing Bulk Operations Using Mass Update. Pricing Interval UI Enhancements Subscription Billing Enhanced UI version 20.1.0 includes the following pricing interval UI enhancements on subscription plan and subscription records: - Pricing Information On View – Pricing information and tiers are readily available on the pricing interval. Previously, detailed pricing information and tiers are available as collapsible sections on the pricing interval. - Edit, Make Copy, and Delete Actions for Pricing Interval – Click the ellipsis icon on the top right corner of the pricing interval to show the possible actions for the pricing interval. Previously, these actions are available as individual icons on the pricing interval. Change SuiteApps (Bundles) Released by NetSuite 109 - Click the Pricing Interval to Edit or View – Click anywhere on the pricing interval to open it for editing (if the subscription line is included) or viewing (if the subscription line is not included). - Add Pricing Interval – To add a pricing interval, click the plus (+) icon on the right side of the last pricing interval of the subscription line. - Scroll Bars to Extend View – Use the vertical scroll bar on the pricing interval to see the other details that are not available in the current viewing area. Use the horizontal scroll bar at the bottom of the subscription line to view pricing intervals that extend to the next page of the screen. - Filter, Quick View, and Add Item – These buttons are available on the top left corner of the Lines subtab. Previously, the filter and quick view icons are on the top right corner of the Lines subtab, and the +Add-On button is at the bottom of the subscription lines. For more information, see the help topic Subscription Billing Enhanced UI. Add Interval to Multiple Subscription Lines Subscription Billing Enhanced UI version 20.1.1 includes support for adding intervals to multiple subscription lines on subscription plans and subscriptions. On subscription plans, the Add Interval To All button is available when you open a price book in edit mode. On subscriptions, this button is available on the Lines subtab when you open the subscription in edit mode. Click the Add Interval To All button to create a new interval for all recurring and usage lines. On subscriptions, a new interval is created only for recurring and usage lines in Draft status. The pricing information on the new interval is copied from the last interval of the subscription line, except for discount. After the new interval is created, you can edit the pricing information as needed. If the price book or subscription is saved without changing any information in the new pricing interval, the new interval is combined with the adjacent interval that has the same pricing information. For more information, see the help topic Subscription Billing Enhanced UI. Inventory Management SuiteApps Following are the 2020.1 inventory management enhancements to SuiteApps: - Quality Management – High Volume Sampling - Shelf-to-Sheet Inventory Count - Warranty and Repairs Management Enhancements - Warehouse Management System Enhancements - Support for Printing Shelf-to-Sheet Count Records Quality Management – High Volume Sampling NetSuite 2020.1 Quality Management SuiteApp enables you to work with larger volumes of raw data sets. As an administrator you are able to distinguish sample data from summary or aggregate data and control whether sample data should be recorded in NetSuite or stored externally. Note: Quality Management – High Volume Sampling is targeted to be available in April 2020. The Quality Inspection tablet interface update accommodates reasonably sized raw data sets with improved usability. Change SuiteApps (Bundles) Released by NetSuite 110 Administration and Setup NetSuite High Volume Sampling is automatically available when you upgrade to Quality Management 2020.1. NetSuite automatically migrates all existing inspections and related data to 2020.1. Inspection records are now maintained through standard record forms. Record customizations are available during setup or inspection maintenance. Inspection Record Changes The latest version of the Quality Management SuiteApp includes the following changes to the Inspection record. Inspection Sampling The following fields are available under Inspection Sampling: - Sampling Requirement – Select either No Sampling Required or Simple Sampling. - Simple Sampling – Select this option to display the Sampling Rate and Allowable Failures fields where you can define the inspection parameters. - No Sampling Required – Select this option to disable the inspection sampling fields. - Create Samples – Check this box to prompt the system to prepare all data records to collect sample data using the table. Clear this box if you want to use only summary data. Data Fields On the Data Fields subtab of the inspection record, you can select the type of view in the View field: - Sample Summary – Select this option to review or add to the list of summary data fields that provide a high-level or aggregated evaluation for the inspection. For example, the number of units of inspected and the number defects or failures. The Summary Field column identifies summary field. - Inspection Data Fields – Select this option to display detailed inspection data that can be captured for each sample. This data can be stored and aggregated to determine sample summary data but is not used in pass/fail inspection evaluations. Change SuiteApps (Bundles) Released by NetSuite 111 NetSuite 2020.1 restricts this data to display numbers, text, and check boxes. Inspection Data Fields The Inspection Data Field form displays a new Is Sample Summary Field box. Tablet Changes The NetSuite 2020.1 Quality Management inspection tablet interface displays a new summary data presentation section. Summary data is displayed as data fields for non-sampling inspections. The layout is defined during inspection setup. This new feature enables you to enter data into fields to drive inspection pass/fail behavior. Sample data is only supporting data. The Sample Data grid icon appears when sample data collection is enabled. Click the Sample Data icon to display the sample data grid. The Sample Data Grid displays the following: Change SuiteApps (Bundles) Released by NetSuite 112 - The column layout follows the customer-defined sequence assigned to data fields. - Field focus auto advances after each entry, from left to right, top to bottom. - Pre-defined row count matches the number of samples required. The maximum number of rows is 50. - When scrolling through data, the headers remain visible. - The system applies validation rules as data is entered into the system. Fields are then highlighted by customer defined pass or fail colors. For example, green for pass, red for fail. - The grid support numbers, text, and Boolean data types. Sample Data Recording With the release of NetSuite 2020.1, all sample data is now stored in the new Quality Data Samples record. Quality Data Detail and Quality Data Sample records are now separate records. This enhancement helps you generate more focused summary or details reports. Migration Quality Management inspection data will be migrated to 2020.1 in three stages. - Inspection definitions will be moved to new definitions: - For inspections requiring sampling, the Create Sample box is checked by default. - Current fields will be treated as inspection data fields. - Default summary fields will be created for inspected samples and defect counts. - All active inspections will be migrated. - Historical inspections will be migrated. Sample data will be moved to new records. Shelf-to-Sheet Inventory Count The new Shelf-to-Sheet Count SuiteApp implements the shelf-to-sheet inventory count, which is a manner of recording the quantity of kit items, assembly items, or inventory items according to how they are stored or organized in locations, storage areas, and shelves. The Shelf-to-Sheet Count SuiteApp includes the following components and features: - Shelf-to-Sheet Template - Using this custom record that comes with the SuiteApp, you can create and organize virtual representations of storage areas, shelves, and items at a specific store or branch location. You can group items to be stored in shelves, and then group shelves in storage areas, as they are organized in the real-world scenario. Only one template can be set up for a combination of subsidiary and location. - Shelf-to-Sheet Count record - Using this custom transaction also included in the SuiteApp, you can start the count of the items specified in the Shelf-to-Sheet Template by entering their quantity on the record. You can then complete the count and the record goes through an approval stage. For every Shelf-to-Sheet Count record, the SuiteApp automatically creates a corresponding Inventory Count record where, after completing a count, the items and their quantity are also recorded. The SuiteApp requires the following Add-On Modules that you can request your NetSuite Account Manager to enable: - Advanced Financials - Advanced Inventory Change SuiteApps (Bundles) Released by NetSuite 113 Note: The Shelf-to-Sheet Count SuiteApp works best with the SuiteSuccess Restaurants and Hospitality (R & H) edition of NetSuite. If you are interested in SuiteSuccess R & H edition, contact your NetSuite Account Manager to request for the edition to be provisioned to your account. For more information, see the help topic Shelf-to-Sheet Count in the Help Center. Warranty and Repairs Management Enhancements Warranty and Repairs Management version 3.00.0 includes the following enhancements: - Support for Warranty Registration Through SuiteScript and Web Service – You can now create warranty registration for invoice records processed through SuiteScript and web service. The same conditions apply for warranty to be registered for each item on the invoice: - Warranty tracking is enabled on the item record. - The item belongs to any of the supported types and there is available quantity on hand. - Support for Warranty Registration on Invoices Created or and Saved Through Bulk Process and Billing Schedules – You can now create warranty registration through bulk processing of invoices using the Invoice Sales Order page, and through Billing Schedule processing. Warranty registration through these processes require enabling of the Automatically Register Warranty on Invoice preference. - Support for Customizing the Display of the Warranty Registration Subtab on the Invoice Record – When creating an invoice, you can choose to show or hide the Warranty Registration subtab using the Register Warranty setting of line items. - Multi-Language Support – The SuiteApp now supports the Multi-Language feature. You can set your preferred language on the General subtab of the Set Preferences page (Home > Set Preferences). For more information, see the help topic Warranty and Repairs Management. Support for Printing Shelf-to-Sheet Count Records Shelf-to-Sheet SuiteApp version 1.01.0 includes support for printing the Shelf-to-Sheet Count record. After completing an item count on the Shelf-to-Sheet Count record, you can print it by clicking the Print Shelf- to-Sheet Count button. A pre-formatted Inventory Count Sheet printout is displayed in a new browser window. For more information, see the help topic Starting and Completing Item Count. Localization SuiteApps The following are 2020.1 localization enhancements to SuiteApps: - Belgium Localization - Contra Account Sheets (Beta) - Country-Specific Reports (Beta) - EMEA Localization - France Localization - Germany Central Bank Reports (Beta) - Germany Localization (Beta) - GL Matching - Netherlands Localization Change SuiteApps (Bundles) Released by NetSuite 114 - New Simplified India GST Tax Return Reports - Sweden Tax Reports - United Kingdom Localization - New Japan Trial Balance and Enhancements to Financial Statements - Philippine Invoicing Belgium Localization The Belgium Localization SuiteApp delivers templates to generate the following Belgium-specific tax reports in English, French, and Dutch: - Annual Client Listing Form 725 - EC Sales List - Intrastat - Belgium VAT Report: Return Form 625 Belgium Localization works with SuiteTax Reports by providing Belgium tax report templates that you can select from the list of country-specific templates on the Country Tax Reports page. Installing Belgium Localization requires EMEA Localization. For more information, see the help topic Belgium Localization. Contra Account Sheets (Beta) Important: The Contra Account Sheets SuiteApp is currently only available in beta version. Its content is preliminary and may be significantly changed in the future. It is therefore strongly recommended to install this SuiteApp in a sandbox account. You should only install this SuiteApp to a production account after you are familiar with its individual features and overall performance. To get access to the Contra Account Sheets (Beta) SuiteApp, contact your professional services provider or your account administrator. The Contra Account Sheets SuiteApp enables you to generate transaction records with contra account information. These records can be used by accountants for viewing the account balance or transactions. Records can be also filtered, for example, by customer, vendor, or employee. You can generate reports for various time periods and export them to PDF format. Country-Specific Reports (Beta) Important: The Country-Specific Reports SuiteApp is currently only available in beta version. Its content is preliminary and may be significantly changed in the future. It is therefore strongly recommended to install this SuiteApp in a sandbox account. You should only install this SuiteApp in a production account after you are familiar with its individual features and overall performance. To get access to the Country-Specific Reports (Beta) SuiteApp, contact your professional services provider or your account administrator. The Country-Specific Reports SuiteApp enables administrators or NetSuite Professional Services teams to build customized financial, account balance based reports that meet country-specific requirements. You can then use this SuiteApp to view, filter out, and export these reports. To build a new financial report, you must first create an initial HTML/XML report template (formatted table containing cells) and upload it to NetSuite. After uploading the template, use the Country-Specific Reports Change SuiteApps (Bundles) Released by NetSuite 115 SuiteApp to set variables assigned to individual cells (as well as filters enabling you to arrange displayed data in different ways). You can use your variables as text only, inserting them into your report as labels or captions. However, your variables can also be much more advanced, such as formulas. Values from various general ledger accounts are added or subtracted and the final count of each formula is displayed in the specified cell of the report. You do not necessarily have to design new reports. Some reports are created by NetSuite developers and delivered through specific localization SuiteApps, such as Germany Localization. Localization SuiteApps developed by NetSuite work with the Country-Specific Reports SuiteApp by importing your data and delivering reports designed for the specific country. The predefined reports are not editable. However, you can use the Country-Specific Reports SuiteApp to create copies of the report and adjust them as needed. EMEA Localization The EMEA Localization SuiteApp provides custom lists and fields on transaction forms and item records to collect information. This information is used to generate EC Sales List, Intrastat, and VAT Reports for Germany and the United Kingdom. The SuiteTax Reports SuiteApp is required to use the tax-related features of EMEA Localization. Note: EMEA Localization is a prerequisite for the Germany Localization (Beta) and United Kingdom Localization SuiteApps. The collected information is used to deliver the country-specific tax reports. For more information, see the help topic EMEA Localization. France Localization The France Localization SuiteApp provides features that address or comply with accounting and financial reporting requirements or standards specific to France. The following features are available: - French Chart of Accounts or Plan Comptable – A template that includes numerous common accounts is provided, giving companies in France the option to add subaccounts to the chart of accounts or to set up only the accounts they will use. - Customized Financial Reports – The following standard NetSuite financial reports have been customized to comply with accounting laws in France: - France Account Detail - France General Ledger - France Income Statement - France Income Statement Detail - France Transaction Detail - France Trial Balance The France Localization SuiteApp provides two versions of these reports: validated and non- validated. Validated reports display only transactions with a GL# assigned (which means that they are validated and aligned with the FEC). - Account number format validation – For every account number, the validation is being performed to make sure that its format is compliant. Change SuiteApps (Bundles) Released by NetSuite 116 - Memo field validation – The Memo field is mandatory for every France subsidiary. If you try to save any transaction with this field left blank, an error is shown and you will not be allowed to proceed. - Open accounting periods check – To comply with the accounting practice in France, you are not allowed to create a transaction and add it to a new accounting period (or year) if 24 accounting periods and 2 accounting years are already open. Also, to be fully compliant with French laws, French users are not allowed to have more than 23 accounting periods (months) within one accounting year. For more information, see the help topic France Localization. Germany Central Bank Reports (Beta) Important: The Germany Central Bank Reports SuiteApp is currently only available in beta version. Its content is preliminary and may be significantly changed in the future. It is therefore strongly recommended to install this SuiteApp in a sandbox account. You should only install this SuiteApp to a production account after you are familiar with its individual features and overall performance. To get access to the Germany Central Bank Reports (Beta) SuiteApp, contact your professional services provider or your account administrator. The Germany Central Bank Reports SuiteApp enables companies in Germany to track and report incoming and outgoing payments to fulfill the requirements of the Germany Central Bank. Each month, German companies are required to report international payments for services of more than 12.500 EUR. For incoming payments, sums received from non-residents or from residents for the account of non-residents are reported. For outgoing payments, sums sent to non-residents or to residents for the account of non-residents are reported. The reporting documentation must be kept for at least three years to allow verification of compliance with the requirements. The Germany Central Bank Reports SuiteApp enables you to generate these reports and to export them in different file formats. This SuiteApp also lets you specify an email address to which these reports are automatically sent for archiving purposes. Finally, it notifies users whenever any report is overdue. Germany Localization (Beta) Important: The Germany Localization SuiteApp is currently only available in beta version. Its content is preliminary and may be significantly changed in the future. It is therefore strongly recommended to install this SuiteApp in a sandbox account. You should only install this SuiteApp to a production account after you are familiar with its individual features and overall performance. To get access to the Germany Localization (Beta) SuiteApp, contact your professional services provider or your account administrator. The Germany Localization SuiteApp provides features that comply with accounting and financial reporting requirements or standards specific to Germany. Two of the most important standards, the German SKR 03 and SKR 04 Chart of Accounts templates, are fully supported by the Germany Localization SuiteApp. The templates provided include numerous common accounts, giving German companies the option to add subaccounts to existing charts of accounts or to set up only the accounts they will use. The Germany Localization SuiteApp also supports several German financial statements. These statements are designed and created using the Country-Specific Reports SuiteApp. The Country-Specific Reports SuiteApp is developed by NetSuite and is a prerequisite for the Germany Localization SuiteApp. Available statements are as follows: - Balance Sheet mapped to SKR 03 Chart of Accounts Change SuiteApps (Bundles) Released by NetSuite 117 - Income Statement in total costs format mapped to SKR 03 Chart of Accounts - Income Statement in the cost of sales format mapped to SKR 03 Chart of Accounts - Balance Sheet mapped to SKR 04 Chart of Accounts - Income Statement in total costs format mapped to SKR 04 Chart of Accounts - Income Statement the cost of sales format mapped to SKR 04 Chart of Accounts - SuSa Report (trial balance report for Germany) These financial statements show aggregated data drawn from relevant accounts defined in the chart of accounts. To display them, go to Reports > Financial > Country-Specific Reports, select a report from the dropdown list, and click the Show Report button. You can also use the same button to recalculate the balances in the financial statements to include the latest updates within a defined accounting period. GL Matching The GL Matching SuiteApp provides transaction matching capability to accommodate the accounting practice known as “Lettrage” in France or “account reconciliation” in other countries, especially in Europe. GL Matching splits transactions from one account into smaller groups of transaction lines. These groups are then evaluated to ensure the sum of the credit entries is equal to the sum of the debit entries (so the total balance is zero). Every evaluated group is assigned a unique matching code and matching status, which are required in France. GL Matching supports the Multiple Currencies and Full Multi-Book Accounting features for NetSuite OneWorld accounts. The SuiteApp delivers a GL Matching Dashboard where transaction lines can be searched and matched. Installing the GL Matching SuiteApp also adds a new GL Matching subtab to every supported non-custom transaction record. It contains GL Matching-related information about the selected transaction. The following features are included in the GL Matching SuiteApp: - Large-group matching capability – You can match a large group of more than 50 transaction lines through a backend asynchronous operation. - Matching In Progress and History subtabs – In the dashboard, you can check the status of the SuiteApp process and review the last 100 actions done. - Access to summary of results – You can get and create a summary of the GL Matching results using a saved search. - Inconsistency checker – It is a fail-safe system to check and notify you if a group of transaction lines is found to be associated with multiple accounts, subsidiaries, or both. For more information, see the help topic GL Matching. Netherlands Localization The Netherlands Localization SuiteApp delivers templates to generate the following Netherlands-specific tax reports: - EU Sales List - Intrastat - Periodic VAT return OB 69 Netherlands Localization works with SuiteTax Reports by providing Netherlands tax report templates that you can select from the list of country-specific templates on the Country Tax Reports page. Installing Netherlands Localization requires EMEA Localization. Change SuiteApps (Bundles) Released by NetSuite 118 For more information, see the help topic Netherlands Localization. New Simplified India GST Tax Return Reports Note: This feature requires the India Localization SuiteTax Engine (Bundle ID 253246) and SuiteTax Reports (Bundle ID 237699) SuiteApps installed. For more information, see the help topic Installing India Localization SuiteTax Reports. In compliance with the new India GST Simplified Return Filing system, the India Localization SuiteTax Reports version 2.00.0 added the following India GST simplified tax reports: - GST ANX-1 3A B2C - GST ANX-1 3B B2B - GST ANX-1 3C & 3D EXP - GST ANX-1 3E & 3F - GST ANX-1 3H RCM - GST ANX-1 3I IMP - GST ANX-1 3J - GST ANX-1 3K IMPG SEZ The new India GST tax reports serve as a template for the GST ANX-1 section of the main GST RET-1 simplified GST tax return form. These reports can be viewed, edited, and exported through the Country Tax Reports generation page. For more information, see the help topic India Goods and Services Tax (GST) Reporting. Sweden Tax Reports The Sweden Tax Reports SuiteApp delivers templates to generate the following Sweden-specific tax reports: - EU Sales List - Intrastat - Periodic VAT return Form 4700 Sweden Tax Reports works with SuiteTax Reports by providing Sweden tax report templates that you can select from the list of country-specific templates on the Country Tax Reports page. Installing Sweden Tax Reports requires EMEA Localization. For more information, see the help topic Sweden Tax Reports SuiteApp. United Kingdom Localization The United Kingdom Localization SuiteApp delivers templates to generate the following UK tax reports: - UK VAT100 - EC Sales List - Intrastat United Kingdom Localization works with SuiteTax Reports by providing UK tax report templates that you can select from the list of country-specific templates on the Country Tax Reports page. Installing United Kingdom Localization requires EMEA Localization. Change SuiteApps (Bundles) Released by NetSuite 119 For more information, see the help topic United Kingdom Localization. New Japan Trial Balance and Enhancements to Financial Statements Japan Financial Statements SuiteApp version 2.0 includes the following enhancements: - New Japanese Trial Balance - Support for Accounting Context in Japan Financial Statements - Classification Fields in Japan Financial Statements New Japanese Trial Balance The Japanese Trial Balance is available from Reports > Financial > Japanese Trial Balance (New). This report shows active account balances in credit and debit columns, for a specific period. You can run this report before preparing actual financial statements to ensure that debits and credits balance out. For more information, see the help topic Japanese Trial Balance (New). Support for Accounting Context in Japan Financial Statements If you select an accounting context from Home > Set Preferences, then the Japan Balance Sheet, Income Statement, and Trial Balance can reference and apply it when generating reports. For more information, see the help topic Support for Accounting Context. Classification Fields in Japan Financial Statements All Japan financial statements now have Department, Class, and Location fields that you can specify as parameters in generating any of the reports. Philippine Invoicing The Southeast Asia Localization SuiteApp version 3.00 includes the following features that support Philippine invoicing: - Philippine Invoicing Templates - Document Numbering - Inclusive Serial Number and PTU Number Philippine Invoicing Templates The SuiteApp comes with localized and customizable templates for Philippine invoicing. Using the templates, Philippine VAT-registered persons or businesses can generate and print VAT invoice or VAT official receipt in PDF or HTML, which are pre-formatted to comply with BIR requirements. Philippine invoicing templates only work with or must be used on the following document types: - Sales Invoice - Billing Statement - Collection Receipt - Official Receipt Change SuiteApps (Bundles) Released by NetSuite 120 - Credit Memo You must map these document type templates to corresponding transaction forms. When you print those transactions, the output will be pre-formatted based on the template used. The templates support system-generated documents for users or businesses with Computerized Accounting System (CAS). You can also print pre-formatted forms for non-CAS users or businesses with loose-leaf books of accounts. For more information, see the help topics Philippine Invoicing and Philippine Transaction Form Mapping. Document Numbering The Philippine Document Numbering feature automatically generates and assigns a document number to supported document types, which can help further identify transactions. To enable this feature, go to Setup > Company > Auto-Generated Numbers and check the Allow Override box of the document type that you want to have numbering. Then, set up document numbering on Philippine subsidiary records and on the Philippine Document Numbering page. In the set up, you can customize document numbering by: - Adding a prefix or suffix to the document number - Setting an initial number greater than the default minimum of 100,000 - Setting the number of digits greater than the default minimum of 6 For more information, see the help topic Philippine Document Numbering Setup. Inclusive Serial Number and PTU Number You can set up and include the serial number or PTU (Permit To Use) information, issued by the BIR, to your VAT invoice or VAT official receipt to be generated by the invoicing templates. The serial number or PTU information can be included on transactions according to subsidiary or location, depending on which classification engages with your customers and is authorized to issue invoices or receipts for your company. For more information, see the help topic Philippine Inclusive Serial Number and PTU Information Setup. Manufacturing SuiteApps Following is the 2020.1 manufacturing enhancement to SuiteApps: Manufacturing Mobile The NetSuite 2020.1 Manufacturing Mobile SuiteApp enables you to use mobile scanners to report manufacturing shop floor data. This solution compliments the existing Advanced Manufacturing scanner to provide improved performance, scalability, customization support, and streamlined production activities. Note: Manufacturing Mobile is targeted to be available in April 2020. The new scanner solution is not dependent on the Advanced Manufacturing SuiteApp, so you do not have to purchase an Advanced Manufacturing license. The manufacturing mobile solution is built using the same mobile technology as NetSuite WMS. Both the WMS and Manufacturing mobile features can coexist in one scanner solution. Change SuiteApps (Bundles) Released by NetSuite 121 This initial release of the Manufacturing Mobile SuiteApp enables shop floor operators to use components to produce assembly items. Operators can start and end assigned work and report production quantity and consumed component quantity for a date and a shift. Production Managers can review data entered by production operators and control inventory and financial record updates in NetSuite. They can also respond to inaccurate data or errors to initiate processes to correct discrepancies and reprocess data. This release of the Manufacturing Mobile SuiteApp only supports non-WIP work orders. It also supports Uncontrolled and Lot Controlled Items but does not support Serial Number Controlled Items. To reduce operator error and fatigue, Manufacturing Mobile scanners are used on the shop floor to collect only relevant, commonly available information. Operators can focus on reporting only what happened on the shop floor. For example, system reports can show that no material is staged in the bin. However, the operator reported that they consumed material from the bin and completed the production transaction. When the operator ends their work, the NetSuite Manufacturing Mobile SuiteApp checks for any inconsistencies at the end of the process. This ensures that inventory and financial records are not updated with inconsistent data. Administration To access the Manufacturing Mobile SuiteApp, install the Manufacturing Mobile bundle and the latest SCM Mobile bundle. To access the Advanced Manufacturing SuiteApp, install the Advanced Manufacturing bundle. NetSuite Administrators will need to enable the following NetSuite features: Locations, Bins, Work Centers, and Work Orders: - Work Centers — The Manufacturing Mobile SuiteApp leverages standard NetSuite Work Center definitions for non-WIP Work Orders. - Bins — All consumed quantity is assigned to a staging bin and produced quantities are assigned to production bins - Locations — A work center is associated to a location. A location represents an organization’s warehouse or production facility. Setting Work Order Context Establishing a time bound work effort helps operators and managers to distinguish shop floor data and scope financial and inventory transactions. Multiple operators can work on one work order at the same time. Managers can then use the application to identify what each employee produced and consumed for that work order. The Manufacturing Mobile SuiteApp enables shop floor operators to choose to tap the Start Work button to initiate work on the selected work order. Tapping Resume Work enables operators to resume uncompleted work where they left off. For example, the shift ended before the work was completed. When the next shift resumes, the operator taps Resume Work and picks up the job where they previously left it. After work is started, the Report Work screen (see Reporting Work Order Context) displays the work order number, assembly number, and the employee who started the work. Change SuiteApps (Bundles) Released by NetSuite 122 Reporting Work Order Context The Manufacturing Mobile SuiteApp enables you to separate shop floor activities and reporting from transaction processing. The Consumption and Production options can be selected independently. You can also partially report production and consumption. After completing your assigned work, go to the Report Work screen to formally end your work in the Manufacturing Mobile SuiteApp. Inventory and Financial Records After work has ended, NetSuite automatically transacts and updates all reported production and consumption data. - Adhoc Builds — NetSuite 2020.1 supports expedited updates to inventory and costing anytime before the work order ends. Production managers can use a NetSuite custom forms to initiate an Adhoc Build. They cannot do this in the scanner. For example, a customer agreement may require you to ship products as soon they are finished. Work order production continues as products are shipped. - Real-Time Builds — Real-time builds to inventory and costing can be triggered to run automatically from the work order interface. - Backflush Component Quantity During Build — Component quantities can be back flushed based on the production quantity. This functionality can be set in the work order interface. - Validate Data, Review Exceptions, and Correct Data — The 2020.1 Manufacturing Mobile SuiteApp does not allow data to be corrected from the scanner interface. Only the Production Manager can correct data recorded in the Manufacturing Mobile SuiteApp. The manager uses a NetSuite custom form to validate data to ensure the data is consistent in both NetSuite and the scanner. They will then review the data for any exceptions and potential build errors. Change SuiteApps (Bundles) Released by NetSuite 123 After a data error is identified, the manager can correct the data, revalidate the data, and then trigger the build process. Projects SuiteApps Following is the 2020.1 projects enhancement to SuiteApps: Preferred First Day of a Week Available for RACG Calendar In NetSuite 2020.1, the Resource Allocation Chart/Grid calendar now respects the First Day of a Week preference by default. For more information, see the help topic Resource Allocation Chart/Grid SuiteApp. Non-Profit SuiteApps Following are the 2020.1 non-profit enhancements to SuiteApps: - Social Impact Standard Edition - Non-Profit Finanicals Social Impact Standard Edition The Social Impact Standard Edition is the advanced version of Non-profit Social Impact releases. It provides additional roles and the ability to track relations between two constituents and manage households. In addition to the CEO, CFO, and Grant Administrator roles, the Social Impact Standard Edition contains following new roles: - Controller - Program Manager - A/P Clerk - A/R Clerk The Constituent Management feature of Social Impact Standard edition consists of the following: - Constituent relationships - You can create and track relationships between different constituents. - Households - The Households feature provides the ability to aggregate the information of all the constituents of a family. For more information, see the help topic Social Impact Standard Edition. Non-Profit Finanicals The following Financial Accounting Standards Board (FASB) Reports which are developed from Financial Statement Builder are now moved to a separate SuiteApp called NFP Reports: - Statement of Activity - Statement of Cashflow Change SuiteApps (Bundles) Released by NetSuite 124 - Statement of Financial Position - Statement of Functional Expenses - Grant Statement of Activity Following are the details of the NFP Reports SuiteApp: - Bundle Name: NFP Reports - Bundle ID: 301502 For more information, see the help topic Non-Profit Financial Management Food and Beverage SuiteApps Following is the 2020.1 food and beverages enhancement to SuiteApps: - Auto Close Back Orders - Route Delivery Auto Close Back Orders If a line item on a sales order is partially fulfilled, the remaining quantity is saved as back order. However, in many organizations, such back order quantities are not fulfilled, and the sales order is closed. The Auto Close Back Orders SuiteApp enables you to close such partially fulfilled back orders automatically, post billing. The SuiteApp also enables you to maintain a list of items to exclude from automatic closure of back orders. Following are the bundle details: - Bundle Name: Auto Close Back Orders - Bundle ID: 300047 - Version number: 1.00.0 - Availability: Public For more details, see the help topic Auto Close Back Orders Route Delivery Using the Route Delivery SuiteApp, you can create delivery truck and route records and include the route and truck details to the sales orders. The SuiteApp also determines the earliest possible ship date and route for specified location and shipping address. Following are the bundle details: - Bundle Name: Route Delivery - Bundle ID: 290640 - Version number: 1.00.0 - Availability: Public Route Delivery is a managed SuiteApp that is automatically updated whenever enhancements or new features are added. For more details, see the help topic Route Delivery. Change SuiteApps (Bundles) Released by NetSuite 125 Taxation SuiteApps Following are the 2020.1 taxation enhancements to SuiteApps: - Portugal Tax Audit Files Field Mapping Page Update - Philippines Certificate of Creditable Tax Withheld at Source (Form 2307) Update - Cyprus VAT Return Enhancement - Singapore Goods and Services (GST) F5 Return Update - Germany VAT Return Update - Tax Reporting Category for Country Tax Reports - Tax Reporting Category Support for Australia and Philippines Tax Reports - SuiteTax Support for Tax Groups - SuiteTax Reports Enhancements - Tax Point Date Support for SuiteTax Reports - JAPAC Support for SuiteTax Reports - EMEA Tax Audit Files Support for SuiteTax Reports Portugal Tax Audit Files Field Mapping Page Update In Tax Audit Files SuiteApp version 1.76.0, the Audit Files Field Mapping page for PT SAF-T Account Grouping category is updated with the following added filters: - Account Type - Subsidiary You can map Account instead of Account Type to the Grouping Category list available on the Value column of the Mapping page. Summary Accounts that have sub-accounts can now be mapped with different Grouping Category values. After updating your account to Tax Audit Files SuiteApp version 1.76.0, the previous Grouping Category values mapped to the Account Type will be retained and applied to all Accounts under that Account Type. To learn more, see the help topic Mapping Standard NetSuite fields to SAF-T PT Required Categories. Philippines Certificate of Creditable Tax Withheld at Source (Form 2307) Update Withholding Tax SuiteApp version 1.44.0 includes enhancements for the Philippine Bureau of Internal Revenue (BIR) Form No. 2307 as part of the implementation of the Tax Reform for Acceleration and Inclusion (TRAIN) Law. Withholding Tax Reports 1.44.0 includes the following enhancements: Previous 2307 Form Updated 2307 Form Report footer declaration: Updated to: We declare, under the penalties of perjury, We declare under the penalties of perjury that this certificate has that this certificate is made in good faith, been made in good faith, verified by us, and to the best of our verified by me, and to the best of my knowledge and belief, is true and correct, pursuant to the provisions knowledge and belief, is true and correct, of the National Internal Revenue Code, as amended, and the pursuant to the provisions of the National regulations issued under authority thereof. Further, we give our Change SuiteApps (Bundles) Released by NetSuite 126 Previous 2307 Form Updated 2307 Form Internal Revenue Code, as amended, and the consent to the processing of our information as contemplated under regulations issued under authority thereof. the *Data Privacy Act of 2012 (R.A. No. 10173) for legitimate and lawful purposes. The updated BIR Form 2307 also includes additional manual input fields to show the Signatory Details in the PDF format of the form: - Payor/Authorized Representative/Tax Agent - Tax Agent Accreditation No./Attorney's Roll No. - Payee/Authorized Representative/Tax Agent - Tax Agent Accreditation No./Attorney's Roll No. To learn more, see the help topic Setting Up Tax Groups in SuiteTax Engine. Cyprus VAT Return Enhancement International Tax Reports version 3.112.0 includes enhancements for the latest VAT return for Cyprus. The update includes automatic provisioning of the following reduced rates tax codes for newly-created Cyprus subsidiaries: Tax Code Description Rate Available On R1–CY Reduced Rate 9% Both (Sales and Purchases) R2–CY Special Reduced Rate 5% Both (Sales and Purchases) The update also reflects the correct reporting of the Cyprus tax codes: Box Reported Tax Codes 1 Tax amount of sales S, R1, R2 Notional tax amount of purchases RC, IS 4 Tax amount of purchases S, R1, R2 Notional tax amount of purchases ES, RC, IS, ESSP, ESSS 6 Net amount of sales S, R1, R2, E,O, Z, ES, ESSS, EZ, RC Net amount of purchases IS, ESSP 7 Net amount of purchases S, R1, R2, E, Z, I, IS, ES, ESSS, EZ, ESSP, RC 9 Net amount of sales Z, O To learn more, see the help topics Cyprus Tax Codes and Cyprus VAT Report. Singapore Goods and Services (GST) F5 Return Update International Tax Reports version 3.112.0 includes support for Singapore's implementation of reverse charge on imported services and taxing B2C digital services (overseas vendor registration regime). Effective January 1, 2020, Singapore implements Goods and Services Tax (GST) on the following imported services: - Reverse Charge (RC) mechanism to tax services imported by GST-registered persons (B2B) Change SuiteApps (Bundles) Released by NetSuite 127 - Overseas Vendor Registration (OVR) regime to tax digital services imported by non-GST persons including private individuals The GST F5 return update supports the new boxes related to the new tax codes: Tax Code Description Rate Available On SRRC-SG GST on imported services by way of reverse charge 0% Purchases SROVR-SG GST on digital services by way of an overseas vendor 7% Sales registration regime The SRRC-SG and SROVR-SG tax codes are reported in the following boxes of the GST F5 return: Box Number Label/Description Reported Tax Codes 1 Total value of standard-rated supplies Net amount SROVR-SG, SRRC-SG 5 Total value of taxable purchases Net amount purchase SRRC-SG 6 Output tax due Tax amount SROVR-SG, notional tax amount SRRC- SG 7 Input tax and refunds claimed Notional tax amount SRRC-SG - Box 14: Did you import services subject to GST under Reverse Charge? - Box 15: Did you operate an electronic marketplace to supply digital services subject to GST on behalf of third-party suppliers? To learn more, see the help topic Singapore GST Report. Germany VAT Return Update International Tax Reports version 3.112.0 includes updates to enhance the XML version of the Germany Monthly/Quarterly and Annual VAT returns. The update for the XML version is necessary to align it with the new FormularDepotXI version 15, which enables you to continue submitting your VAT returns online. To learn more, see the help topic Submission of VAT Returns in Germany. Tax Reporting Category for Country Tax Reports SuiteTax Reports version 2.00.2 introduces the Tax Reporting Category feature which enables you to further classify transactions for VAT reporting requirements. On the Item subtab of transaction records, you can assign a category according to your local VAT reporting guidelines in the Tax Reporting Category column. The Tax Reporting Category varies per country and therefore requires support from the regional or country-specific localization SuiteApp. For more information about Tax Reporting Category and to see the list of countries that support this feature, see the help topic Assigning a Tax Reporting Category. Tax Reporting Category Support for Australia and Philippines Tax Reports SuiteTax Country Tax Reports JAPAC version 1.00.1 supports the Tax Reporting Category feature for Australia and Philippines. You can now segregate purchases of capital goods from other transactions and Change SuiteApps (Bundles) Released by NetSuite 128 report it separately in the tax report by selecting the following categories in the Tax Reporting Category column: - AU – Capital Goods - category for reporting capital purchases in Australia - PH - Capital Goods – category for reporting purchases of capital goods in the Philippines To learn more about assigning a tax reporting category to your transactions, see the help topic Assigning a Tax Reporting Category. The tax return templates for Australia and Philippines are also updated with the preselected Tax Reporting Category filters. For more information about using the Tax Reporting Category as a tax return filter, see the help topic Customizing Localized Tax Returns. SuiteTax Support for Tax Groups In SuiteTax Engine version 2.00.1, you can now create tax groups. A tax group enables you to combine and use several tax codes as a single tax code on the tax schedule. The tax group is used either as an entity default tax code or a nexus default tax code. Tax groups are beneficial when you need to apply multiple tax codes. For example, you can combine GST and PST rates for relevant provinces in Canada. The tax records permission is required to create tax groups. For further information, see the help topic Setting Up Tax Groups in SuiteTax Engine. SuiteTax Reports Enhancements SuiteTax Reports SuiteApp version 2.00.0 includes the following enhancements: - Tax Point Date Support for SuiteTax Reports - JAPAC Support for SuiteTax Reports - EMEA Tax Audit Files Support for SuiteTax Reports Tax Point Date Support for SuiteTax Reports SuiteTax Reports version 2.00.0 now supports generation of country tax reports using tax point dates. The tax point date (time of supply) is the date when VAT becomes due. For more information about tax point dates in SuiteTax, see the help topic Tax Point Dates. When you generate a country tax report, you can now choose a tax point start and end date on the period filters. To learn more about generating a tax report using the tax point date, see the help topic Generating Localized Country Tax Reports. The Use Tax Point Date feature is automatically enabled for VAT/GST returns, supplementary VAT/GST reports, and EU cross-border reports. To set up this feature, see the help topic Setting Up Country Tax Reporting Preferences. JAPAC Support for SuiteTax Reports The SuiteTax Country Tax Reports JAPAC SuiteApp provides the JAPAC tax report templates and localization for SuiteTax Reports version 2.00.0. If you have SuiteTax Reports and you install SuiteTax Country Tax Reports JAPAC in your account, you can generate localized tax reports for Australia, Japan, New Zealand, Philippines, and Singapore. For more information, see the help topic SuiteTax Country Tax Reports JAPAC. Change SuiteApps (Bundles) Released by NetSuite 129 EMEA Tax Audit Files Support for SuiteTax Reports The SuiteTax EMEA Audit Files SuiteApp provides the France and Germany tax audit file support for SuiteTax Reports version 2.00.0. If you have SuiteTax Reports and you install SuiteTax EMEA Tax Audit Files in your account, you can generate the France FEC and Germany GoBD reports. For more information, see the help topic SuiteTax EMEA Audit Files. Change