Commerce · SuiteCommerce Solutions (SC/SCMA/SCA) Note: For a comprehensive list of 2021.1 releases of SuiteCommerce, SuiteCommerce MyAccount, and SuiteCommerce Advanced (including minor releases), see SuiteCommerce Solutions (SC/SCMA/SCA).
- Reorder Items on Your SuiteCommerce MyAccount Site
- Manage Subscriptions Using Commerce Websites
- SuiteCommerce Developer Tools Require Token-Based Authentication
- Extensibility API Updates
- Configuration Changes
- Node.js Requirement Change
- Third-Party Library Updates
- Issue Fixes Commerce · Commerce Website Setup
- Ability to Enable all Commerce Products Independently Commerce · Commerce Website Management and Performance
- New Commerce Tab Containing Commerce-related Features
- Ability to Hide Web Store Prices from Customer Segments
- Enhanced Merchandising Zone
- Exporting and Importing Bulk Translation Content
- Access to Customer Segments via API Methods NetSuite 2021.1 Release Notes 7
- Country Specific Payment Method
- Multi-Language Support for Commerce Categories as Facets
- NetSuite Connector Commerce · SuiteCommerce InStore
- SuiteCommerce InStore 2021.1 SuiteCloud Platform SuiteCloud Platform · SuiteApp Distribution
- Bundle Support During Release Phasing
- Deprecation of NetSuite Bundle Repository SuiteCloud Platform · SuiteBuilder – Customization
- Enhancements to Sales Custom Transactions
- Changes to Kit or Assembly Components Settings for Custom Segments and Custom Transaction Line Fields
- Changes to Field Type Conversions in Custom Fields
- Changes to Supported APIs for Checking Custom Password Fields
- Translatable Fields Enhancements SuiteCloud Platform · CSV Import
- Newly Supported Record Types for CSV Import
- Referencing Custom List Entries by Script ID SuiteCloud Platform · SuiteScript
- Upload a SuiteScript 2.1 Client Script to the File Cabinet
- Secrets Management
- SuiteScript 2.1 Debugger
- Changes to the Workbook API (Beta)
- CurrentRecord.getSubrecord Behavior Change
- New N/suiteAppInfo Module
- EmaiI Send Security Update
- Asynchronous Server-Side Support
- Support for Copying Files Using the N/file Module
- Support for Formatting Locales and Indian Number Formatting
- New Built-in Functions for SuiteQL
- New Methods to Check Password Fields
- Advance Notice: Upcoming Removal of MD5 and SHA1 Hash Algorithms NetSuite 2021.1 Release Notes 8
- Deprecation of RESTlet Authentication Through User Credentials
- New SuiteScript Actions and Macros
- 2021.1 SuiteScript Record Exposures
- 2021.1 SuiteScript Records Browser SuiteCloud Platform · SuiteTalk Web Services Integration
- REST Records Service
- Fully Supported Record Types for REST Web Services in 2021.1
- Asynchronous Request Execution in REST Web Services (Beta)
- Body Field Selection on Single Resources in REST Web Services
- Changes in the Returned Format of Enumerator Field Values
- Removal of Main Record IDs from SuiteBilling Subrecords
- REST Query Service
- Support for Formula Field Names in Datasets
- Support for Paging in Dataset Lists
- REST Web Services
- New Option for Integration Record to Support OAUTH2 Authorization Flow
- Changes in Error Codes Returned in REST Web Services
- SOAP Web Services
- New Default Value of Available Without Login Field for File Cabinet Uploads
- Deprecation of the Inbound Single Sign-on Feature
- Changes for Name and Display Name Fields on Account Record
- SOAP Web Services Version 2021.1
- Araxis Merge Diff File for the 2021.1 Endpoint
- 2021.1 SOAP Schema Browser SuiteCloud Platform · SuiteCloud SDK
- 2021.1 SuiteCloud CLI for Java Is Now Available
- 2021.1 SuiteCloud CLI for Node.js Is Now Available
- 2021.1 SuiteCloud IDE Plug-in for WebStorm Is Now Available
- 2021.1 SuiteCloud IDE Plug-in for Eclipse Is Now Available
- account:ci Command Renamed to account:savetoken in SuiteCloud CLI for Node.js
- Installation Preferences for SuiteApps in SuiteCloud CLI
- Installation Preferences for SuiteApps in SuiteCloud IDE Plug-ins
- New dryrun Option for the project:deploy Command in SuiteCloud CLI for Node.js
- Overwriting File Included in SuiteApp Projects
- Setup Multiple Accounts with Run/Debug Configurations in SuiteCloud IDE Plug-in for WebStorm SuiteCloud Platform · SuiteCloud Development Framework
- New Installation Preferences Configuration for Script Deployments in SuiteApp Projects Accounting 9
- Feature Dependency Enhancements For SDF Custom Objects
- Translatable Fields Enhancements
- Minor Updates to Custom Objects SuiteApps SuiteApps · SuiteApps (Bundles) Released by NetSuite
- Accounting SuiteApps
- Administration SuiteApps
- Banking SuiteApps
- Food and Beverage SuiteApps
- Integration SuiteApps
- Inventory Management SuiteApps
- Item Record Management SuiteApps
- Localization SuiteApps
- Manufacturing SuiteApps
- Non-Profit SuiteApps
- Order Management SuiteApps
- Projects SuiteApps
- Restaurant and Hospitality SuiteApps
- SuiteAnalytics SuiteApps
- SuitePeople SuiteApps
- Taxation SuiteApps
- Vendors, Purchasing, and Receiving SuiteApps
- Wholesale Distribution SuiteApps Accounting NetSuite 2021.1 includes the following enhancements to accounting features:
- Advanced Numbering
- Enhancements to Advanced Revenue Management
- My Transactions Standard SuiteAnalytics Workbook
- Changes to Name and Display Name Fields on Account Record
- Balancing by Segments Status in Transaction Search
- Multi-Language Support for Sequential Liability
- Fixed Assets Management Enhancements
- Expense Commitments and Budget Validation
- SuiteApprovals Enhancements Accounting 10
- Advanced Localization Features
- ANZ Localization Enhancements
- China Localization Enhancements
- Country-Specific Reports Enhancements
- France Localization Enhancements
- Germany Localization Chart of Accounts and Financial Statements Enhancements
- Localization Assistant Features
- NFP Financials Enhancement
- NFP Constituent Management Enhancement
- NFP SuiteApps Update Verification Now Available
- Expense Commitments and Budget Validation Enhancements
- Social Impact Standard Edition Enhancement Advanced Numbering In NetSuite 2021.1, the new Advanced Numbering feature enables you set up flexible document and transaction numbering that reflect the requirements of the countries you do business in. With this feature, you can create multiple complex numbering sequences per transaction type, fiscal year, and other selected criteria. For example, Advanced Numbering automatically updates your document or transaction number sequence when a new fiscal year begins or when you create different types of transactions. The generated numbers use prefixes and suffixes that you set in each rule. You can also prioritize advanced numbering rules for different circumstances. NetSuite generates the number when you save the transaction. Advanced Numbering supports the following transaction types: Document Number Only Transaction Number Only
- Cash refund ■ Bill
- Cash sale ■ Bill credit
- Credit memo ■ Credit card
- Currency revaluation ■ Credit card refund
- Customer deposit
- Deposit
- Deposit application
- Estimate
- Expense report
- Invoice
- Item fulfilment
- Item receipt
- Journal
- Opportunity
- Payment
- Purchase order Accounting 11 Document Number Only Transaction Number Only
- Return authorization
- Sales order
- System journal Advanced Numbering uses two components to generate numbers: rule sets and rules.
- Advanced numbering rule set - a collection of advanced numbering rules for one transaction type. All rule sets have at least one rule. You can set the run order for the rules in the set. Each advanced numbering rule set includes a default rule that assigns the number when no other rules apply. You cannot edit or delete this rule.
- Advanced numbering rule - the definition of a numbering scheme. You can use fiscal year expressions that reflect your company’s fiscal year setup at Setup > Accounting > Manage G/L > Manage Accounting Periods and other expressions that only use the transaction date. When you import transactions from another application, the feature determines the numbers in the following ways:
- If external document numbers are present, Advanced Numbering uses those document numbers.
- If external document numbers are missing, Advanced Numbering generates document numbers with your Advanced Numbering rules.
- Advanced Numbering always generates new transaction numbers. You cannot import transaction numbers from external applications or overwrite the NetSuite generated transaction numbers with external numbers. These rules apply to transactions you import with the following methods:
- SuiteScript
- CSV import
- REST
- JSON To enable this feature, go to Setup > Company > Enable Features > ERP General (Administrator) and check the Advanced Numbering box. You can then set up Advanced Numbering rules and rule sets at Setup > Company > Auto-Generated Numbers (Administrator). You can use the Auto-Generated Numbers permission to control who has access to the feature. Additionally, every transaction includes an Applied Rules subtab which displays the following information:
- the date NetSuite applied the rule
- an action log link to additional feature-specific information For more information, see the help topic Advanced Numbering. Enhancements to Advanced Revenue Management NetSuite 2021.1 includes a change in behavior and a new accounting preference for the deferred revenue reclassification process in Advanced Revenue Management.
- New Behavior for Unbilled Receivables Using Grouping
- New Accounting Preference for Reclassification of Deferred Revenue Accounting 12 New Behavior for Unbilled Receivables Using Grouping All unbilled receivable adjustment journal entries (contract assets) now post to the revenue element’s deferred revenue account. Previously, the setting for the accounting preference Unbilled Receivable Adjustment Journal Grouping determined the account for deferred revenue. When Arrangement or Sub-Arrangement Group was set for the preference, deferred revenue posted to the account selected in the accounting preference Default Deferred Revenue Reclassification Account. If needed, a new reclassification journal entry adjusts account balances to present remaining obligations as either assets or liabilities in accordance with ASC 606-10-45-1. The new Net Contract Asset or Liability per Element journal entry is needed only when the reclassification process runs at the arrangement level or sub-arrangement group level. The reclassification process reverses this netting journal in the next period. For details for the adjustment, see the help topic Net Contract Asset or Liability per Element. New Accounting Preference for Reclassification of Deferred Revenue A new accounting preference, Exclude Contract Assets From FX Reclassification, controls whether foreign currency revaluation for contract assets occurs during deferred revenue reclassification. By default, the Exclude Contract Assets From FX Reclassification box is checked, and reclassification does not include foreign currency revaluation for the contract asset account. The exchange rate for the contract assets is the rate on the date that the reclassification process creates the first unbilled receivable adjustment. This is the same behavior as prior to 2021.1. When you clear the Exclude Contract Assets From FX Reclassification box, reclassification changes as follows:
- The process uses the period-end currency exchange rate of the posting period to calculate contract assets.
- Reclassification creates an adjustment for foreign currency gain or loss on contract assets when a variance occurs. As a result, revenue from foreign-currency-denominated revenue arrangements is adjusted to the period-end exchange rate. For information about the adjustment, see the help topic Foreign Currency Gain or Loss on Contract Asset. My Transactions Standard SuiteAnalytics Workbook NetSuite 2021.1 includes a SuiteAnalytics Workbook that displays all transactions you have created within the last year, by default. Customize views with additional filters and data by modifying the workbook template and dataset template. You can choose to view the data as a table, chart, or pivot. The dataset template is based on the transaction record. The workbook also includes the following pivot tables:
- Summary by Currency - displays transactions by type, currency, and status
- Summary by Period - displays a count of transactions by type and posting period Use the Summary by Currency pivot table to search for specific transactions. You can also use the status information to identify the next workflow steps for transactions, such as for period closing. Use the Summary by Period pivot table to report on user or team performance during each period and by transaction type. Accounting 13 For more information, see the help topic My Transactions Workbook. Changes to Name and Display Name Fields on Account Record In 2021.1, the account record’s Name field and its localized versions no longer display their associated account number. Instead, only the Display Name field and its localized versions display the account number if the Use Account Numbers preference is set. This change improves consistency in the behavior of these fields. The following table summarizes the new behavior of the Name and Display Name fields: Account Record Field Name With Use Account Numbers Without Use Account Numbers Preference Preference Name Account Name Account Name Display Name Account Number + Account Name Account Name This release also changes the SOAP web services 2020.2 endpoint’s name field behavior. When you set the Use Account Numbers preference, the name field only includes the account name without the account number. When you do not set the Use Account Numbers preference, both name and displayName display only the account name. This change does not affect the behavior of SOAP web services endpoints prior to 2020.2. The following table summarizes the behavior of name and displayName in the affected SOAP endpoints with the Use Account Numbers preference: SOAP Endpoint Version name displayName 2021.1 Account Name Account Number + Account Name 2020.2 Account Name Account Number + Account Name 2020.1 or earlier Account Number + Account Name – Saved search results that use the Name field now only display the account name without the account number. If you want to retain the account number before the account name in your saved search results, replace the Name field in your search with the Display Name field. Important: If you use a SOAP-based integration with the 2020.2 endpoint, you should review and update your integration for this change or upgrade to the 2021.1 endpoint. Your script or bundle may use the Search API for an Account search and require the Account Name to include the Account Number in the search results. If so, you may need to change the Name field (id: “name”) to the Display Name field (id: “displayname”) in your script or bundle prior to the NetSuite 2021.1 upgrade. For more information, see the help topic General Accounting Preferences. Balancing by Segments Status in Transaction Search NetSuite 2021.1 includes a new Balanced by Segments field available at Reports > New Search > Search
Transactions and in SuiteAnalytics workbooks. You can use the field as a field filter or a result field. Use this field to identify transactions that are not balanced by segments. The field has the following values: Accounting 14 Field Value Description Yes NetSuite balanced this transaction by segments for all subsidiaries and accounting books. Yes (Outdated) NetSuite balanced this transaction by segments for all subsidiaries and accounting books, but a change which impacted the general ledger occurred after the process. Partially NetSuite balanced this transaction by segments only for some subsidiaries or accounting books. Partially (Outdated) NetSuite balanced this transaction by segments only for some subsidiaries or accounting books, but a change which impacted the general ledger occurred after the process. No NetSuite has not balanced this transaction by segments. To use this field in a transaction search, you must enable the Balancing Segments feature. For more information, see the help topic Reports That Display Balanced Segments. Account Setup and Maintenance This release note was updated March 10, 2021. NetSuite 2021.1 includes the following enhancements to account setup and maintenance features:
- Enhancements to the Customer-Scheduled Maintenance Page
- Improvements to Personal Information Removal
- Deletion Tracking Support for Records That Use the New Analytics Data Source
- Change to Default Setting for Available Without Login
- Application Performance Management (APM) Enhancements Enhancements to the Customer-Scheduled Maintenance Page Enhancements to the Customer-Scheduled Maintenance page are now available. Administrators can include notes about actions they took for a rescheduled maintenance. They can also view a log of rescheduling actions performed on a maintenance that was rescheduled. Other enhancements include bug fixes, a rescheduling confirmation message, and a label that counts down time remaining until the start of the maintenance. Over the course of 2021.1, the Customer-Scheduled Maintenance feature will begin supporting more maintenance types. For details, see the help topic Customer-Scheduled Maintenance. Improvements to Personal Information Removal Changes made to Personal Information (PI) Removal improve usability and performance in UI when loading large numbers of records in UI. To improve load times, the Records column now displays only partial information about the record. Account Setup and Maintenance 15 When more than 100 records exist, the range of records that have been loaded into UI appears. You download records in groups of 100. The first 100 records load automatically. To load the next 100 records, click the double arrows beside the number range. The plus sign (+) beside the number range indicates there are more records to load. As records are loaded, the range updates to show the number of loaded records. The following screenshot shows the range of records that have been loaded: You can now use the search field to find specific records using a search word or ID number. For more information, see the help topic Creating and Approving a New PI Removal Request. Deletion Tracking Support for Records That Use the New Analytics Data Source For some records, when the record is deleted, NetSuite retains some general data about it. This data includes the record name and type, when the record was deleted, and the name of the user who deleted the record. Deletion tracking now supports records that use the new analytics data source that was designed for SuiteAnalytics Workbook. For more information, see the help topic Searching for Deleted Records That Use the New Analytics Data Source. You can retrieve information about deleted records that use the new analytics data source by using a SuiteQL query. SuiteQL is a query language that provides advanced query capabilities you can use to access your NetSuite records and data. You can run SuiteQL queries using the N/query module in SuiteScript. You can also run SuiteQL queries against NetSuite database tables directly using SuiteAnalytics Connect. For more information, see the help topics N/query Module and SuiteQL Syntax and Examples. For more information about deletion tracking, including a list of records that support deletion tracking, see the help topic Searching for Deleted Records. Account Setup and Maintenance 16 Change to Default Setting for Available Without Login By default, the Available Without Login setting for files that you upload using SOAP Web Services is now set to false for images and web site hosting files. For more information, see the help topic File Record Field Definitions. If you want a file that you uploaded to be available without login, you must set the file.isOnline parameter to true. For more information, see the help topics File.isOnline, File, and the Schema Browser. When the parameter is set to true, the Available Without Login box appears checked in the file’s detail page in the File Cabinet. Authentication This release note was updated March 17, 2021. NetSuite 2021.1 includes the following enhancements to authentication features:
- NetSuite as OIDC Provider (OP)
- Enhancements to NetSuite OAuth 2.0 Support
- Deprecation of the NetSuite Inbound Single Sign-on Feature
- Relying Party-initiated (RP) Logout for OpenID Connect Single Sign-on (OIDC) for Web Store
- SAML Single Sign-on Logouts for the NetSuite UI and Web Store
- Deprecation of HMAC-SHA1 for Token-based Authentication (TBA)
- Unsupported Cipher Suite for SuiteAnalytics Connect
- New Look for NetSuite Authentication Email Messages
- Create Your Own Test Window for HMAC-SHA1 in TBA Integrations
NetSuite as OIDC Provider (OP)
A new outbound single sign-on solution is now available for the NetSuite application. The NetSuite as
OIDC Provider feature is based on OpenID Connect, with NetSuite acting as an OIDC Provider (OP). User
credentials and policies are managed by NetSuite. Users can delegate access to a third-party application
(relying party, RP) without any further authentication.
OIDC is an identity layer on top of the OAuth 2.0 protocol. OIDC uses JavaScript Object Notation (JSON) as
the data format, and uses JSON Web Tokens (JWT) to transfer claims between parties.
The NetSuite as OIDC Provider feature is the recommended solution to replace the Outbound SSO
(SuiteSignOn) feature. The Outbound SSO (SuiteSignOn) feature is scheduled to be deprecated in
NetSuite 2023.1. You should migrate your solutions to use the Netsuite as OIDC Provider feature before
2023.1.
To enable the NetSuite as OIDC Provider feature, go to Setup > Company > Enable Features. On the
SuiteCloud tab, in the Manage Authentication section, check the NetSuite as OIDC Provider box. When
this feature is enabled, you can create integration records that use the NetSuite as OIDC Provider feature.
Important: To ensure the NetSuite as OIDC Provider feature works correctly, you also must
enable the OAuth 2.0 feature. For more information, see the help topic Enable the OAuth 2.0
Feature.
The NetSuite as OIDC Provider feature introduces a new permission called OIDC Provider Setup. Users
who have this permission can allow other users to use the NetSuite as OIDC Provider integrations for
outbound single sign-on.
Authentication 17
Enhancements to NetSuite OAuth 2.0 Support
NetSuite 2021.1 enhances OAuth 2.0 authorization framework support for access to NetSuite through
REST web services and RESTlets. These enhancements include new security measures and support for
public clients.
Rotation of Certificates
The system uses certificates to validate access and refresh tokens during the OAuth 2.0 Code Grant flow.
These certificates previously had an unlimited time validity and the public key was stable. As of 2021.1, the
expiration date of the certificates is 90 days.
The system generates new certificates 30 days before the previous certificates expire. During this 30-day
period, both the previous and new certificates are valid. NetSuite public keys used to validate the OAuth
2.0 tokens are available here: https://
.suitetalk.api.netsuite.com/services/rest/auth/ oauth2/v1/keys, where the represents your NetSuite account ID. As of 2021.1, the certificates are issued per account. PKCE for Public Clients As of 2021.1, the OAuth 2.0 Authorization Code Grant flow is extended to support the use of public clients with OAuth 2.0. Public clients have less strict authentication rules than confidential clients. To configure an integration for use with OAuth 2.0 public clients, check the Public Client box on the integration record. The following rules apply to OAuth 2.0 public clients: - In the POST request to the token endpoint, the application only sends the client ID.
- The application sends the client ID as a parameter in the body of the request, instead of in the authorization header.
- The application must use PKCE, which is required for public clients.
- The application sends the PKCE parameters in Step 1 and Step 2 of the Authorization Code Grant Flow. For more information, see the help topic OAuth 2.0 Authorization Code Grant Flow.
- The refresh token for public clients is for one-time use only and expires after three hours. With every new refresh token request, the token endpoint generates a new pair of access and refresh tokens.
- The use of public clients is only available in the OAuth 2.0 Authorization Code Grant flow. Deprecation of the NetSuite Inbound Single Sign-on Feature As of 2021.1, the NetSuite proprietary Inbound SSO feature is deprecated and you cannot use it anymore. Partners and customers with solutions based on this feature 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 UI and Commerce websites.
- To use OpenID Connect (OIDC) SSO, see the help topics OpenID Connect (OIDC) Single Sign-on and 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 SOAP web services ssoLogin and mapSso operations are part of the proprietary Inbound SSO feature. To avoid issues after this feature is deprecated, you must update your integrations that use the ssoLogin Authentication 18 operation to use Token-based Authentication (TBA) instead. For more information, see the help topics Token-based Authentication (TBA) and Token-based Authentication and Web Services. Relying Party-initiated (RP) Logout for OpenID Connect Single Sign-on (OIDC) for Web Store As of 2021.1, NetSuite supports Relying Party-initiated (RP) logout for OpenID Connect Single Sign-on (OIDC) for web store. If your OIDC provider (OP) supports the End Session Endpoint configuration, when a user logs out of NetSuite, they are consequently logged out of the OP. The user is then redirected to the OP login page. NetSuite does not support a logout landing page configuration for OIDC for web store. Note: If you do not want to configure the End Session Endpoint field on the OIDC for web store setup page, you must do a manual configuration. To do so, choose the Set Configuration Manually option. For more information, see the help topic Configure OpenID Connect (OIDC) in NetSuite. SAML Single Sign-on Logouts for the NetSuite UI and Web Store As of 2021.1, NetSuite supports Service Provider-initiated (SP) logout for SAML Single Sign-on access to the UI and web store, and Identity Provider-initiated (IdP) logout for the web store. Note: NetSuite currently supports only POST binding. Service Provider-initiated (SP) Logout for the NetSuite UI and Web Store If your identity provider (IdP) supports the SP-initiated logout, when a user logs out of NetSuite, they are consequently logged out of the IdP. The user is then redirected to the Logout Landing Page specified on the SAML SSO setup page. To ensure the SP-initiated logout for SAML SSO works correctly, check the following:
- Your IdP supports the functionality.
- There is a valid URL in the Logout Landing Page field on the SAML SSO setup page. For more information, see the help topic Logout Landing Page.
- The IdP metadata file used for SAML SSO setup includes the Single Logout Service (SLO) parameter. Note: If the SLO parameter is missing from the IdP metadata file, the SP-initiated logout does not initiate the IdP logout. Identity Provider-initiated (IdP) Logout for Web Store The IdP-initiated logout was previously only available for the NetSuite UI. As of 2021.1, this logout is also available for the web store. When NetSuite receives a logout request from the IdP, all related NetSuite sessions are ended. Authentication 19 Deprecation of HMAC-SHA1 for Token-based Authentication (TBA) As of 2021.1, it is no longer possible to start using the HMAC-SHA1 signature method for Token-based Authentication (TBA). If you are actively using the HMAC-SHA1 signature method in your account, you can continue using it currently, but you must stop using it before your account is upgraded to NetSuite 2022.1. You should use the HMAC-SHA256 signature method to create new solutions for use with TBA. You also should update your existing solutions to use HMAC-SHA256 as soon as possible. As of 2022.1, any solutions using the TBA feature with HMAC-SHA1 as a signature method will stop working. You must update your TBA integrations to use HMAC-SHA256 before your account is upgraded to 2022.1. This limitation also applies to any third-party integration. Before 2022.1, you must update your authorization header to use HMAC-SHA256. To do so, change the value of the oauth_signature_method parameter to HMAC-SHA256. The value of the oauth_signature parameter should change accordingly. For more information, see the following help topics Example OAuth Header, The Authorization Headers, and The Signature for Web Services and RESTlets. Important: If you are using a library for signing, verify whether the library supports HMAC- SHA256, and if needed, update the library with HMAC-SHA256 support. Unsupported Cipher Suite for SuiteAnalytics Connect As of February 2021, the following cipher suite is no longer supported for SuiteAnalytics Connect: ECDHE-RSA-AES128-SHA256 Currently, you can use this cipher suite to access other NetSuite services. However, support for this cipher suite is scheduled to end soon, and you will not be able to use it to access any NetSuite services. You will receive a notification with the date of the upcoming end of support. Additionally, the list of supported cipher suites has changed. If you are using a cipher suite that is not supported, you cannot access any NetSuite services that require the use of cipher suites. You should remove the unsupported cipher suite and include one of the supported cipher suites. For more information about the supported and unsupported cipher suites, see the help topic Supported TLS Protocol and Cipher Suites. New Look for NetSuite Authentication Email Messages NetSuite system-generated email messages related to authentication, including messages about password expirations, password resets, and security questions, have a new look. This new design is intended to provide better readability. The following image is an example of the header for redesigned authentication messages. Authentication 20 Both users and administrators will see the new look in authentication-related email messages. Create Your Own Test Window for HMAC-SHA1 in TBA Integrations As of NetSuite 2022.1, the HMAC-SHA1 signature method for Token-based Authentication (TBA) integrations will no longer be supported, and any integrations still using it will stop working. To help you prepare for the end of support, you can temporarily disable the HMAC-SHA1 signature method for TBA in your production account. Disabling HMAC-SHA1 temporarily allows you to test your TBA integrations to verify that they are not using the HMAC SHA1 signature method. Note: Support ended on July 30, 2021 for the HMAC-SHA1 signature method for TBA integrations in all non-production accounts, such as sandbox, test drives, development accounts, and Release Preview accounts. To temporarily disable HMAC-SHA1 for TBA in your NetSuite production account:
- Go to Setup > Company > Setup Tasks > Enable Features.
- Click the SuiteCloud tab, and scroll down to the Manage Authentication section.
- Check the Disable HMAC-SHA1 for Token-based Authentication box. To re-enable HMAC-SHA1 for TBA, clear the Disable HMAC-SHA1 for Token-based Authentication box. Important: You must update any TBA integrations to use HMAC-SHA256 for the signature method before the end of support in NetSuite 2022.1. Accounts will be upgraded to 2022.1 between February and April of 2022. For more information, see the help topic The Signature for Web Services and RESTlets. Banking NetSuite 2021.1 includes the following enhancements to banking features:
- Deprecation of Reconcile Bank Statement and Reconcile Credit Card Statement Pages
- Enhancements to Bank Import
- Clear Account Transactions
- Bank Feeds SuiteApp Enhancements
- CSV Parser Plug-in Now Available in Bank Statement Parsers Deprecation of Reconcile Bank Statement and Reconcile Credit Card Statement Pages The Reconcile Bank Statement and Reconcile Credit Card Statement pages are now deprecated. Although these pages are still accessible, they are scheduled for removal in a future release. Therefore, you should adopt the redesigned bank reconciliation feature, Account Reconciliation, which includes the Match Bank Data and Reconcile Account Statement pages. These pages enable you to match and reconcile transactions without requiring Microsoft Excel or other third-party tools. Banking 21 To use the redesigned bank reconciliation feature, check the Use Match Bank Data and Reconcile Account Statement Pages box on each existing account record. If an account contains any held statements that you have begun to reconcile but chosen to complete later, you have two options: Note: NetSuite automatically checks the Use Match Bank Data and Reconcile Account Statement Pages box for all newly-created accounts in 2021.1.
- Before migrating to the new feature, reconcile all held statements for the account. See the help topic Reconciling Bank Statements.
- Proceed with migrating to the new feature, and let NetSuite delete the held statements. NetSuite moves the previously-cleared transactions to the new Match Bank Data page. Note: This option is new for NetSuite 2021.1. To enable the redesigned bank reconciliation feature for each existing account, see the help topic Editing an Account. For details about adopting the redesigned bank reconciliation feature, see the help topic Bank Data Matching and Reconciliation. Enhancements to Bank Import In NetSuite 2020.2, an import failure for one bank or credit card account during the import process caused the entire import to fail. Also, the error logs did not provide clear indicators to identify which account caused the issue. NetSuite 2021.1 includes enhancements to the import and troubleshooting process. Bank data imports can now be partially complete, even when the import fails for some accounts. You can see account- specific errors and which accounts are affected. Bank data import includes the following enhancements:
- Partially Completed Import Status
- Account-Specific Import Errors
- Enhancements to Import Process Performance
- New Email Notification Partially Completed Import Status On the Banking Import History page, there is a new import status, Partially Completed. This status applies to imports in which NetSuite did not successfully retrieve data for all bank or credit card accounts. You can troubleshoot import errors on the Banking Import History page. For more information about the Partially Completed status, see the help topic Banking Import History. Account-Specific Import Errors You can now view account-specific errors for an import on the following pages:
- Banking Import History – This page displays failure reasons and the list of accounts affected for an import with a Partially Completed or Failed status. Banking 22 You can expand each row to view the import error details. See the help topic Banking Import History.
- Format Profile – In a format profile record configured for bank reconciliation, the Account Linking subtab displays warning icons next to accounts with errors. You can see account-specific errors by clicking the warning icon. See the help topic Bank Account Linking.
- Match Bank Data – If you select an account for which NetSuite failed to import data during the latest import, a popup message displays the most recent import error. See the help topic Matching or Clearing Bank Data. For permission details, see the help topic Permissions for Banking Features. Enhancements to Import Process Performance Previously, imported data was not visible until processing was complete. Now, NetSuite completes the import process, and then processes the bank lines separately. On the Match Bank Data page, you can view imported bank lines that are currently being processed. These lines are dimmed and you cannot select them for matching until processing is complete. To see if processing is complete, you can refresh the Imported Bank Data grid or the page. For more information, see the help topic Matching or Clearing Bank Data. New Email Notification NetSuite now sends a notification for a partially completed import. A partially completed import is an import in which NetSuite did not successfully retrieve data for all bank or credit card accounts. The email message contains troubleshooting information, including the following next steps:
- Match and reconcile data on the Match Bank Data and Reconcile Account Statement pages.
- View accounts that failed and troubleshoot issues on the Banking Import History page. NetSuite sends all bank data import email notifications to the user who configured the associated format profile record, if one was created. If a statement file was imported using NetSuite’s default parser functionality, the user who imported the file receives an email notification that the import was completed Banking 23 or failed. NetSuite also sends email notifications for failed and partially completed imports to the email address listed in the Return Email Address field at Setup > Company > Company Information. Clear Account Transactions On the Match Bank Data page, you can now mark account transactions that do not have imported bank lines to match as cleared pending submission. This functionality was previously only possible in the bank register when using the deprecated Reconcile Bank Statement and Reconcile Credit Card Statement pages. Transactions that are marked as cleared pending submission appear on the Review subtab (previously called Matches to Submit) on the Match Bank Data page. When you click Submit, the transactions appear in the Reconcile subtab on the Reconcile Account Statement page and NetSuite automatically selects them for reconciliation. For more information, see the help topic Marking Transactions as Cleared. If you have marked a transaction as cleared pending submission that now has a matching imported bank line, you can undo the cleared status if the transaction is unreconciled. You can do so from the Review subtab on the Match Bank Data and Reconcile Account Statement pages. NetSuite then moves the transaction back to the To Be Matched subtab on the Match Bank Data page. See the help topics Undoing the Cleared Status of Transactions and Undoing the Cleared Status of Submitted Transactions. For information on matching and reconciling data, see the help topic Reconciling Bank and Credit Card Statements. Employee Management This release note was updated May 5, 2021. NetSuite 2021.1 includes the following enhancements to employee management features:
- Performance Management Enhancements
- New Payroll Item Groups
- Include Specific Payroll Items in an Off-Cycle Payroll Batch
- New CSV Import for Bonus Record
- Retract Weekly Timesheets
- Expense Report Policies Enhancements
- Time-Off Portlet Enhancement
- Enhancement to the Employee Base Pay Change Template
- Manager Access to Employee Timeline
- Time-Off Tracking Enhancements
- Onboarding and Offboarding Plans Enhancements Performance Management Enhancements The Performance Management feature introduces the following enhancements:
- New Goals Portlet
- Enhancements to Goal Management
- Performance Management Record Types and Analytics Templates Employee Management 24 New Goals Portlet The new Goals portlet surfaces key actions and goals that are in progress to keep you on track. Employees and managers can view progress and elapsed time for each goal. The portlet keeps you aware of goals that are starting soon, due soon, overdue, and goals that require approval or reflection. You can add the goals portlet to any dashboard. For more information, see the help topic Viewing Goals in the Goals Portlet. Enhancements to Goal Management Goal Management now includes the following enhancements.
- All goals — The All Goals page provides an optimized view of your own goals and your direct reports’ goals that you can search and filter. After a goal is closed for over three months, it no longer appears on the Goals page, so you only see relevant goals on the page. However, you can still find closed goals older than three months on the All Goals page. To access All Goals, click the link at the bottom of the Closed column on any employee’s Goals page.
- Goal progress — A progress bar now appears on approved goals to show the percentage of the goal that is complete. The progress bar appears for manually tracked goals that are approved. The progress bar calculates progress for goals tracked with a performance metric when the goal’s status is in In Progress. When you create a goal, you must now enter a Start value to calculate the goal’s progress.
- Formats for performance tracking — When you create a goal, under Performance Tracking, you must now select either Manual or Performance Metric. If you track a goal manually, you can now select either number, percent, or currency as the format for your goal’s Start, Actual, and Target values. When you create a performance metric, you can now choose to track goals with the metric by either number, percent, or currency.
- Descriptions for performance metrics — When you create a goal, you can now view a description of each performance metric to help you choose the right metric to track your goal. For more information, see the help topic Goal Management. Performance Management Record Types and Analytics Templates The following performance management record types and dataset templates are now available:
- Goal Record
- Performance Review Record
- Performance Management — Goals Dataset
- Performance Management — Reviews Dataset You can use the templates to analyze performance processes, trends, and themes in your organization. You can also use the templates to create your own tables, pivots, and charts. A workbook template, Performance Management — Goals and Reviews, is also now available. Within the workbook, you can use and customize the following predefined pivot tables and charts:
- Goals by Status
- Overdue Goals
- Goal Outliers
- Performance Metrics Alignment Employee Management 25
- Reviews by Status
- Overdue Reviews
- Overall Rating Distribution
- Review Outliers To access the workbook, your role must have the SuiteAnalytics Workbook permission. For more information, see the help topics Performance Management Workbook and SuiteAnalytics Workbook Overview. New Payroll Item Groups You can now group multiple payroll items into a payroll item group. When you create a payroll item, you can derive the value of a deduction or employer contribution payroll item from a payroll item group. For example, you can derive an employee’s contribution to their 401(k) from their salary and bonuses but not from their commissions. You can create a payroll item group that includes a salary payroll item and a bonus payroll item. Next, you can create a 401(k) deduction payroll item and derive this deduction from the salary and bonus payroll item group. If you derive a payroll item from a payroll item group, you can specify a default rate. You can apply the default rate to all employees or specify a custom rate for each employee. For more information, see the help topics Creating Payroll Item Groups, Deriving a Pay Rate from Payroll Items and Groups, and Applying a Default Rate to a Payroll Item. Include Specific Payroll Items in an Off-Cycle Payroll Batch When you create an off-cycle payroll batch, you can now choose to include a custom list of payroll items in the off-cycle batch. For example, rather than processing all auto deductions, you can select specific payroll items to include and exclude in an off-cycle batch. If you check the Include Specific Payroll Items box, the following payment option boxes are no longer available:
- Pay Auto Earnings
- Pay Time
- Pay PTO
- Pay Expenses
- Pay Commissions
- Pay Auto Deduction
- Pay Auto Contribution If you check any of these payment option boxes, you cannot include specific payroll items in the off-cycle batch. For more information, see the help topics Creating an Off-Cycle Payroll Batch and Selecting Payment Options for a Payroll Batch. New CSV Import for Bonus Record The Import Assistant now lets you import bonus-related data from a CSV file into NetSuite. This enables you to update bonus information for a large number of employees at one time. To import bonus-related Employee Management 26 data, you must enable the Compensation Tracking feature and your role must have the Import CSV File permission. To access the Import Assistant, go to Setup > Import/Export > Import Tasks, then select Import CSV Records. For more information, see the help topic Bonus Import. Retract Weekly Timesheets Employees can now update their submitted time by retracting timesheets before they are approved by their supervisor. Previously, employees had to wait for their supervisor to reject the submitted timesheets before any changes could be made. On the Weekly Timesheets page, in view mode, click the Retract button to retract a pending timesheet. You can use the Retract button to retract individual time entries from the time transaction record. You can only retract time that is pending approval. You cannot retract Time transactions with any other status. The Retract button is not available in edit mode for timesheets or time transactions. Retracting time is not available when you use custom approval routing. When an employee clicks the Retract button, NetSuite sends an e-mail to notify the supervisor of the retraction. NetSuite also updates the status of all pending time entries to Open, and the supervisor cannot see any of the previously pending time entries. The employee can make their updates and resubmit the weekly timesheet or time entry. For more information, see the help topic Weekly Timesheets. Expense Report Policies Enhancements NetSuite 2021.1 includes the following enhancements to the Expense Report Policies feature:
- You can now set limits for individual expense lines separately using the Per Individual Expense Line limit type. Previously, only Per Individual Expense Report and Per Day limit types were available.
- You can now apply filters for billable expenses, non-billable expenses, or both.
- When allowing expenses outside limits with a warning, you can now choose not to warn employees if they fill required fields. If you check the Requires Memo or Requires Receipt box, check the Do not warn if required fields are included box to allow employees to submit expenses outside the limits when they include the required fields. For more information, see the help topic Expense Report Policies. Time-Off Portlet Enhancement The Time-Off portlet now includes a unit of measure on the Home and Balances subtabs to indicate if the time measurement is in days or hours. For more information, see the help topic Viewing an Employee’s Time-Off Balance. Enhancement to the Employee Base Pay Change Template In NetSuite 2021.1, the Employee Change Requests feature includes three default employee change request types, including the Base Pay Change Template. With the Base Pay Change Template, managers and HR administrators can now enter a base pay change by percent (%) or amount ($) for any employee. Employee Management 27 Manager Access to Employee Timeline Managers can now access their direct reports’ timeline through the My Team portlet. From the Actions dropdown list, click View Timeline. Managers no longer need the Effective Dating permission to view the effective-dated changes on the timelines of any employee in their reporting chain. Internationalization NetSuite 2021.1 includes the following enhancements to internationalization features:
- Intercompany Framework Enhancements
- Record Localization Context Support Expanded with New Record Types
- New Formatting API Available for Use in SuiteScript 2.0
- Enhancements to Manage Translations
- Workbooks Are Now Translatable Intercompany Framework Enhancements NetSuite provides the following enhancements to Cross Charge Automation and Intercompany Netting, which are part of the Intercompany Framework feature:
- Cross Charge Automation Enhancement
- Intercompany Netting Support for Classifications
- Support for Currency Exchange Rate Types Cross Charge Automation Enhancement Prior to NetSuite 2021.1, you could generate cross charges only during period end close. Now you can generate cross charges at any time. To generate cross charges outside of period end close, go to Transactions > Financial > Manage Intercompany Cross Charges (Administrator). Important: Newly enabled feature menu items are not automatically added to custom centers. You must manually add menu items to custom centers after a feature is enabled. For detailed information about generating cross charges, see the help topic Intercompany Cross Charges. Cross Charge Generation supports the new Centralized Purchasing and Billing feature and the existing Intercompany Cross-Subsidiary Fulfillment feature. Intercompany Netting Support for Classifications Intercompany Netting now supports all classifications and custom segments. If the netted transactions specify a department, class, location, or custom segment, NetSuite groups the lines in the Netting Settlement based on these classifications. NetSuite also considers the general ledger account associated with the netted transactions in the grouping. If multiple transactions have the same classifications, including custom segments and general ledger accounts, NetSuite groups them into one line. If any classification in the netted transaction is different, NetSuite displays a separate line for that classification. Internationalization 28 To use classifications with Intercompany Netting, you must first set an intercompany preference. You can find the preference, Allow Per-Line Classification For Netting Settlement, on the Accounting subtab under the Classification section. For information about intercompany preferences, see the help topic Intercompany Preferences. For information about Intercompany Netting, see the help topic Intercompany Netting. To view lines by classification in the Transaction Detail and General Ledger reports, you must customize the reports to include classifications. For information about these reports, see the help topics Transaction Detail Report and General Ledger Report. Support for Currency Exchange Rate Types Intercompany Netting and Cross Charge Automation now support the Currency Exchange Rate Types feature. The Currency Exchange Rate Types feature lets you store multiple currency exchange rates for a currency pair and date. For more information, see the help topic Currency Exchange Rate Types. NetSuite uses your currency exchange rate type when you use Intercompany Netting and when you generate cross charges. For more information, see the help topics Intercompany Netting and Intercompany Cross Charges. Record Localization Context Support Expanded with New Record Types As of NetSuite 2021.1, you can use record localization context with subsidiary and account record types in the NetSuite application. Because of this support, you can use country-specific scripts and workflows with subsidiary and account record types. For more information about supported record types, see the help topic Records Supporting the Localization Context. For more information about record localization context, see the help topic Localization Context. New Formatting API Available for Use in SuiteScript 2.0 As of NetSuite 2021.1, the format.getCurrencyFormatter and format.getNumberFormatter methods in the formatting API of the N/format/i18n module now include a new parameter named options.locale. You can use the options.locale parameter to apply regional formatting of numbers and currencies by setting the proper locale for them. For example, if you use this parameter to set the locale to en_IN (English- India), all numbers and currencies will be formatted according to Indian number formatting. For more information, see the help topic N/format/i18n Module. For more information about worldwide formatting in the UI, see the help topic Worldwide Support for Phone Number Formatting. Enhancements to Manage Translations In NetSuite 2021.1, the Manage Translations application includes the following updates:
- Mass Update of Translation Strings
- New Options for String Filtering Internationalization 29 Mass Update of Translation Strings The Manage Translations application now includes batch import and export of translation strings:
- Importing Translation Strings
- Exporting Translation Strings Importing Translation Strings As of NetSuite 2021.1, you can use the Manage Translation application to select multiple XLF files and import them all at the same time. You can select and import them in the Import Strings dialogue window accessible either from the Strings subtab or the Import Jobs subtab of the Manage Translations application. In addition, you can now select the files you want to import and drag and drop them on the Import Strings dialogue window to import them. For more information, see the help topic Importing Translations into a Translation Collection. Exporting Translation Strings As of NetSuite 2021.1, you have new options of exporting translation strings using several Export Strings buttons newly added in the Manage Translations UI. You can find these newly added buttons in the expanded collection view on the Collections subtab and on the Strings subtab of Manage Translations. Click the button to open an Export Strings dialogue window with source languages and available translations. Note: If you export strings from the Strings subtab, all translation strings in the account will be exported. If you export strings from a Translation Collection on the Collections subtab, only strings from the respective collection will be exported. When you click the Export Strings button without changing any of the settings, all of the respective source strings will be exported in a zip file. If you want to include translations of these source strings, Internationalization 30 check the Include existing translations box, select the desired languages, and click Export Strings. The exported zip file contains separate XLF files for each language combination (translation strings in a source language and possibly their translation into a selected language). If some strings in the source language lack translations in the selected language, they will be exported, but their translations in the XLF files will be empty. For more information, see the help topic Exporting a Translation Collection. New Options for String Filtering The NetSuite 2021.1 enhancements to the Manage Translations application include the following:
- New Filtering Options
- New Option to Exclude Strings Without Collection
- New Sorting Options New Filtering Options As of NetSuite 2021.1, search options are expanded to support searching both in the Source String field and in the Description field. Additionally, if you select a language in the Language dropdown list, the search results will also include all translations in the selected language. In addition, when you select a language, you will see the translations of the source strings in the Language column instead of statistics. If a source string is missing a translation into the selected language, the respective field will be empty. New Option to Exclude Strings Without Collection As of NetSuite 2021.1, you can select the Without Collection option in the Collection dropdown list. When you select this option, the search result will only display stand-alone strings. For more information about stand-alone strings, see the help topic Translation String Types. New Sorting Options As of NetSuite 2021.1, the sorting options of translation strings include the following enhancements:
- When you click the Source String, Description or Collection column, strings are arranged alphabetically in an ascending order according to the values in the given column. In addition, a respective icon appears on the right side of the column.
- When you click the column for the second time, the strings are arranged alphabetically in a descending order and the icon will change.
- When you click the column for the third time, the strings are set to ascending order again. Workbooks Are Now Translatable As of NetSuite 2021.1, workbooks are now translatable and can be distributed through SDF. For more information, see Translation Collections for User-Defined Text Supported in Workbook. For more information about Manage Translations, see the help topic Introduction to Manage Translations. Inventory Management 31 Inventory Management NetSuite 2021.1 includes the following enhancements to inventory management features:
- Supply Planning
- Supply Allocation Enhancements
- Manage Allocations
- Projected Available Inventory Balance from the Supply Chain Snapshot
- Channel Allocations
- Exclude Predicted Risks
- Blanket Purchase Orders and Inbound Shipment in the Snapshot
- New button for Best Location
- Automatic Numbering in Snapshot
- Warehouse Management Enhancements
- Basic Bin Management Enhancement
- Multi-Book Accounting Support for Allow Partial Receipt Against a Fulfillment in Transfer at Cost
- Quality Management Enhancements
- New Pack Station Mobile App
- Shelf-to-Sheet Count Enhancements
- FEFO Lot Allocations Supply Planning In NetSuite Supply Planning 2021.1, the following enhancements have been made to Supply Planning:
- You can designate a Master Production Schedule (MPS) or Material Requirements Plan (MRP) for review separately or together in the planning results.
- The supply planning workbench date-based view enables you to review item and location planning results by period. NetSuite displays cause and effect by period and trends for the item and location.
- The High Impact Late Demand threshold uses supply planning workbench logic to set a threshold for an items and locations. If the late demand threshold is exceeded, a color highlights the issue in the supply planning workbench.
- Improved item supply planning workbench search works with other item filters to refine item search results. if you enter a partial item name, the search results include all matching items. Entering a full item returns the specific item.
- Improved Saved Search in the planning repository data and supply planning results data enables you to run adhoc reports and analyses.
- Supply Planning enables you to schedule a planning repository refresh, after which you can launch one or more supply plans.
- The Auto-Approve Supply Change Orders system preference enables you to bypass secondary approvals when you release changes to existing supply orders from the supply planning workbench.
- REST, web services, and CSV Import are now available for planning data.
- You can now use blanket purchase orders transactions in the supply planning process. Inventory Management 32 Supply Allocation Enhancements NetSuite 2021.1 includes the following Supply Allocation enhancements: Manage Allocations The NetSuite 2021.1 Order Management Dashboard provides a single work space where you can find the orders that require immediate attention. It also provides direct access to the allocation management tools that you can use react to those orders. The dashboard helps managers who have a comprehensive view of the allocation of supplies and the resulting customer service and financial outcomes. The dashboard provides access to the following portlets:
- Supply Allocation and Sales Channel Allocation – shortcuts to pages where you can allocate and re- allocate supplies to demand.
- Order Allocation KPI Scorecard – displays key sales, customer service, and the following inventory
management performance indicators:
- Average inventory value
- Current inventory value
- Inventory turnover
- Sales turnover value
- Fill rate This metric measures how well sales orders are being fulfilled complete and on time.
- The Order Allocation Alerts portlet identifies allocation exceptions that need immediate attention.
- After you enable the Sales Channel allocation feature, the Order Operations by Channel portlet provides an overview of supply allocations for each sales channel.
- The Allocation Automation Status portlet monitors the automated background processes of supply allocation. All portlets are customizable by the NetSuite dashboard and saved search customization tools. Projected Available Inventory Balance from the Supply Chain Snapshot The NetSuite 2021.1, the Supply Planning Snapshot includes Allocated Quantity in snapshot calculations. This more accurate future quantity availability information is based on allocations in conjunction with the existing projected inventory balance. When the supply allocation feature is enabled it displays the following new columns:
- Allocated Demand – Supply Lines display current inventory that is allocated to future demand.
- Allocated Supply – Demand Lines display the quantity that is fulfilled by future supply or current inventory.
- Available Inventory Balance – dDisplays the total unallocated supplies and unallocated demands. Blanket Purchase Orders and Inbound Shipment in the Snapshot Including Blanket Purchase Order and Inbound Shipment as sources of supply improves the accuracy of the the Supply Chain Snapshot results. Inventory Management 33 Blanket purchase order schedules represent a forecasted requirement to vendors. It serves as an early indication for the vendor to prepare for production. When the blanket purchase order schedules a line item, it creates a purchase order and replaces the schedule line item on the snapshot. Inbound shipments represent a shipping consignment between the trading partners, with a list of items on the purchase order. In NetSuite, you can create multiple inbound shipments against each purchase order line, each with its own delivery date and receiving location. The supply chain snapshot includes the scheduled line items from blanket purchase orders, the purchase orders, and related inbound shipments. This ensures that the supplied quantities across these sources of supply are consistently accounted for. Channel Allocations The Sales Channel Allocation feature now enables planners to set inventory and future supplies aside to sales orders in these channels. You can enable Sales Channel Allocations separately on top of the supply allocation feature. After you enable sales channel allocation, you can undertake the following activities :
- Track sales and operations activities by sales channel (lead to order and order to cash).
- From the Order Operations by Channel portlet, you can see and review the following:
- potential revenue to be captured by channel
- potential channel profit by fulfilling the order
- operational performance to capture profit
- Add channels to generate reports that displays sales improvements and operational data.
- Create order reservations to set inventories and future supplies aside for channels based on channel priorities.
- Allocate channel sales orders based on channel reservations.
- Manage allocation exceptions by channel.
- Rearrange reservations when market priorities change. Exclude Predicted Risks After you enable the Supply Chain Control Tower, the purchase order, transfer order, and sales order forms display the Exclude From Predicted Risk custom field. If you check the Exclude from Predicted Risk box on the transaction line of an atypical order, the line is not included in the predicted risk calculations. This means that the system ignores the order line during the supply chain risk prediction model training and validation. Predicted Risk Vendor Delivery Performance After you enable Supply Chain Predicted Risk, NetSuite automatically performs a vendor performance analysis based on the transaction history. It then recalculates the predicted risk of early or late delivery for each vendor. You can monitor the results of the vendor performance analysis on the Vendor Performance Calculation page. You can now mark the vendors for implementation. The implementation populates the vendor record Predicted Days Early/Late and Predicted Risk Confidence fields. Inventory Management 34 New button for Best Location The best location on the Earliest Availability popup window displays more order promising information. This information is based on earliest availability across multiple locations for each required order item.
- The Earliest Availability link appears in the Supply Required By Date column.
When you click the link, the Earliest Availability popup window appears to display the following order
line attributes:
- Item
- Quantity
- Required date
- Allocation strategy
- Location
- When you enable Automatic Location Assignment, click the Assign Location button on the Earliest Availability popup window to determine the best location.
- NetSuite calculates the best location based on availability and the rules of automatic location assignment configuration for the selected sales order. Automatic Numbering in Snapshot The new automatic numbering support for snapshot simulation helps identify snapshot simulations to review the projected inventory balance. You can customize automatic numbering logic to suit your company’s need. After you enable Supply Chain Control Tower:
- You can set up custom automatic numbering patterns for simulations on the supply chain snapshot.
- The system applies automatic numbering logic to manual and auto generated simulations.
- The update option enables you to apply automatic numbering to existing simulations. Transfer Orders can Receive Reallocation Recommendations When a transfer order line has late allocation or no allocation, the order line displays a Reallocate link to the Reallocate Order Item page. The transfer order line shows up as target order and the system can compute recommendations to re- allocate supplies from other orders. After you accept a recommendation, the Transfer Order is no longer considered late. The Expected Ship Date equals the Supply Require By Date. Warehouse Management Enhancements Note: Use of the Warehouse Management feature requires that you install the SCM Mobile and Oracle NetSuite WMS SuiteApps. See the help topic Installing the NetSuite WMS SuiteApps. NetSuite 2021.1 includes the following enhancements for Warehouse Management:
- Inbound Processing Enhancements Inventory Management 35
- Ability to Change the Inventory Status
- Outbound Processing Enhancements
- Mobile Printing Enhancements
- Tally Scanning Updates
- Support for the New Pack Station Mobile App Inbound Processing Enhancements Enhancements for inbound processing include the following:
- Cart Moves for Received Items – For warehouse locations that use bins, NetSuite WMS introduces the ability to process cart moves for received items on a mobile device. You can track the quantity, bin, and cart details as you move inventory in carts from the staging bin location. When you transfer items from the cart to a storage location, you can perform a full or partial putaway. When you select the Putaway option on the Receiving mobile page, NetSuite WMS now displays the two putaway options: Cart Moves and Bin Putaway.
- Status Change for Bin Putaway - If you use the Inventory Status feature and you want to perform a bin putaway, you can now change the inventory status of received items. For more information, see or Item Putaway. Ability to Change the Inventory Status If you use the Inventory Status feature, you can change the inventory status of items using your mobile device. You can select any of the statuses available on your account. The Inventory mobile page now displays the Change Inventory Status option. See the help topic Changing the Inventory Status of Items. Outbound Processing Enhancements NetSuite 2021.1 includes the following enhancements for outbound processing:
- New Wave Release Capabilities
- New WMS System Rules
- Pick Reversal on Mobile Devices New Wave Release Capabilities Enhancements for the wave transaction and release process include the following:
- Bulk Order Picking – The updated wave transaction displays the new Bulk Order Picking option in the Picking Type field. It generates a single pick task that contains the consolidated ordered quantity for the same regular inventory or lot item across all orders in the wave. See the help topic Creating Wave Transactions. On a mobile device, you can select the Multi-Order Picking option to process wave transactions for the Bulk Order picking type. NetSuite WMS automatically distributes picked quantities across orders included in the wave. For set up information, see New WMS System Rules. Inventory Management 36
- Scheduled Wave Release – NetSuite WMS now provides the ability to schedule the release of wave transactions for sales or transfer orders. It submits a job that generates and releases a wave transaction for a maximum of 10,000 order lines across all orders. You can filter the orders you want to include in a wave and set the schedule of the release to your warehouse. See the help topic Creating a Wave Release Schedule.
- Releasing Waves from a Mobile Device – On a mobile device, you can generate and release waves for single orders. The Single Order Picking page now displays the following options: Unreleased Orders and Released Orders. When you select the Unreleased Orders option, you can choose the orders to include and release in a wave transaction. See the help topic Picking Items for Single Orders. New WMS System Rules NetSuite WMS provides the following system rules that modify the picking and staging process on a mobile device:
- Enable bulk picking of large pick tasks – Automatically creates and submits a bulk processing job for pick tasks that exceed 50 pick task lines, by default. This rule applies to the new Bulk Order Picking process only. See New Wave Release Capabilities.
- Enable bulk staging of large pick tasks – Automatically creates and submits a bulk processing job for pick tasks that exceed 25 pick task lines, by default. This rule applies to Single Order, Multi-Order, and Bulk Order picking. Based on your business requirements and number of SuiteCloud processors, you can change the default pick task line limit to any number from 1 to 125. If you inactivate any of these system rules, NetSuite WMS adjusts the default limit to 125 pick task lines. It creates bulk processing jobs only for pick tasks that exceed this limit. However, you may observe a slowness in performance on your mobile device when you process large pick tasks. For more information, see the help topic System Rules for NetSuite WMS. Pick Reversal on Mobile Devices Prior to NetSuite 2021.1, you can reverse pick tasks using the NetSuite user interface. Now, you can perform pick task reversals through your mobile device. NetSuite WMS updates the records associated with the reversed pick tasks. See the help topic Pick Task Reversal. Mobile Printing Enhancements You can configure Mobile Printing to automatically print labels after you enter the quantity of an item you are processing. You can set up multiple labels for automatic printing and specify the print sequence or priority. Automatic printing follows your default mobile printing and print sequence configuration. See the help topic Mobile Printing for NetSuite WMS. Tally Scanning Updates Aside from the outbound Order Picking process, Tally Scanning now supports the Cart Moves and Work Order Picking mobile processes. When you scan an item, NetSuite WMS increments the processed quantity by 1. Inventory Management 37 The updated Tally Scanning flow reduces manual steps for the supported mobile processes. It includes automatic page forwarding when you have no remaining items to scan and lot number or item scanning on the same page. To set up Tally Scanning, see the help topic System Rules for NetSuite WMS. Support for the New Pack Station Mobile App In NetSuite 2021.1, you can access the Pack Station mobile app when you install the new Pack Station SuiteApp. This mobile app enables carton and pallet packing through a kiosk device. After you pick and stage outbound orders, packers can pack them into cartons and transfer packed cartons onto pallets. See New Pack Station Mobile App. Basic Bin Management Enhancement Previous versions of Basic Bin Management enabled you to set partial quantities only for multiple lot numbers in a line item of a transaction. It automatically assigned the full quantity to a single lot number in the line item. In NetSuite 2021.1, Basic Bin Management lets you to allocate a partial quantity even to a single lot number in a line item. The line item displays the lot number in the format, Lot Number(Quantity), which follows the format for multiple lot numbers in a line item. This enhancement applies to all transactions that allow lot number entry. For more information, see the help topic Basic Bin Management. Multi-Book Accounting Support for Allow Partial Receipt Against a Fulfillment in Transfer at Cost In 2020.2, NetSuite enabled you to create multiple partial receipts against specific fulfillments for a transfer order. However, If you used Multi-Book Accounting, you could not partially fulfill a transfer order receipt when the transfer order was at cost. Now, Multi-Book Accounting users can partially fulfill a transfer order receipt when the transfer order is at cost. Item Record Management NetSuite 2021.1 includes the following enhancement to item record management features:
- Lot Auto Numbering Manufacturing NetSuite 2021.1 includes the following enhancements to Manufacturing features:
- Automated Work Order Lead Time Calculation
- Outsourced Manufacturing Consolidator
- Routing Work Order Support in Manufacturing Mobile Manufacturing 38 Automated Work Order Lead Time Calculation Prior to this release, you had to manually calculate lead time for supply planning. Now, NetSuite can automatically calculate lead time for supply planning. On an assembly record, on the Inventory subtab, and then Location subtab, the grid now provides the Auto Calculate Production Lead Time column. When you check the Auto Calculate Production Lead Time box for a location (row), NetSuite calculates work order variable and fixed lead times. NetSuite bases the calculations on available routing information. Note: The Manufacturing Routing and Work Calendar pages contain the fields that ensure NetSuite correctly calculates lead times. Additional NetSuite fields could trigger automatic calculation, such as the bill of materials (BOM) and assembly items functionality. If you use the Advanced Item Location Configuration feature, the location rows are read-only. Click Edit next to a location to open the Item Location Configuration popup window. The Work Order Fixed Lead Time, Work Order Variable Lead Time, and Auto Calculate Production Lead Time fields appear on the Planning subtab. On the Manufacturing subtab of an assembly record, there must be BOM and routing links or the Auto Calculate Production Lead Time box clears. For information about product areas specific to this enhancement, see the following help topics:
- Assembly Items
- Manufacturing Routing
- Setting Up a Work Calendar
- Supply Planning and Routing
- Lead Time and Safety Stock Per Location
- Bill of Materials Inquiry Outsourced Manufacturing Consolidator The Outsourced Manufacturing Consolidator lists all pending work orders. This page enables you to learn work order specific information such as:
- Last Successful Run
- Next Scheduled Run
- Pending Work Orders To update the work order information, click the Run Consolidator Now button. Mobile This release note was updated July 7, 2021. Mobile 39 NetSuite for Android 9.1 includes the following enhancements to NetSuite for Mobile features:
- NetSuite for Android Record Management Update NetSuite for Android Record Management Update NetSuite for Android 9.1 contains the following updates and improvements to record management:
- Take quick actions on records with touch and hold. For more information, see the help topic Taking Quick Actions on Records in NetSuite for Android.
- Customize the view of record lists. For more information, see the help topic Customizing a List in NetSuite for Android.
- Add record lists to your Favorites in the Navigation Menu. For more information, see the help topic Adding a Record List to Favorites in NetSuite for Android.
- Search the Saved Searches list. For more information, see the help topic Accessing Saved Searches in the App. Order Management NetSuite 2021.1 includes the following enhancements to order management features:
- Invoice Groups Feature Enhancements
- Charges Based on a Total Contract Value
- Removing Usage Records on Active Subscription Lines
- Removal of One-Day Charges from Termination and Reactivation Change Orders
- ACH Payment Instrument
- Separate Credit and Refund Payment Operations
- Dunning Letters Enhancements
- Electronic Bank Payments Enhancements
- Support for Inbound Custom Data Source in Electronic Invoicing
- Same-Store Sales Report
- Enhanced Validations and Defaulting Enhancements
- France Localization Enhancements
- Germany Localization Chart of Accounts and Financial Statements Enhancements
- India Localization SuiteTax Engine Enhancements
- Japan Localization Enhancements
- Philippines Localization Support for BIR Simplified System Registration for CAS Users
- Southeast Asia Localization Enhancements
- Deduction and Chargeback Management
- Auto Close Back Orders Enhancements
- Order Guides Enhancements
- Support for Custom NMFC Values in Bill of Lading Order Management 40
- Increased Limit for Item Fulfillments Search in Bill of Lading Invoice Groups Feature Enhancements There are two new enhancements to the Invoice Groups feature:
- The Add to Group button appears on the invoice record when an invoice is eligible for grouping. You can now add an invoice to an invoice group from the invoice record. If an invoice is eligible for grouping, an Add to Group button appears on the invoice. A list of available invoice groups appears when you click Add to Group. For more information, see the help topic Adding an Invoice to an Invoice Group From the Invoice Record.
- You can now add invoices not associated with a sales order to an invoice group. NetSuite now provides the ability to group an invoice that does not have an associated sales order. This enhancement lets you group invoices for projects and subscriptions. It also allows you to group imported invoices. Charges Based on a Total Contract Value The total amount over the subscription term is known as the total contract value (TCV), which you can use in customer negotiations. Those who use TCVs can now set a total price for a subscription line instead of creating a price plan and quantity. Enter a total amount for the subscription line in the Total Interval Value field and a charge frequency to calculate recurring amounts. When you save the subscription, NetSuite generates the corresponding price plan. You can set either the Total Interval Value field or create a price plan for a specific subscription line. When you fill the Total Interval Value field, NetSuite clears the price plan. If you reenter a value for the price plan, NetSuite clears the Total Interval Value field. You can enter a Total Interval Value only when a subscription line is in the Draft status. Usage items and evergreen terms cannot use Total Interval Values. Removing Usage Records on Active Subscription Lines You can no longer delete usage records, but instead must void them. The Void button is on usage records that are in Edit mode with Active or Suspended status. This is the behavior whether the Void Transactions Using Reversing Journals accounting preference is checked or cleared. After you void a subscription usage record, the record can no longer be edited. Note: In SuiteScript, when the SuiteScript 1.0 nlapiDeleteRecord method or the SuiteScript 2.0 record.delete method runs against a subscription usage, the record is voided instead of deleted. You do not have to manually credit and correct for erroneously rated usage. You can void usage records at any time, even if they have an Active status and already have been rated or invoiced. You also can void a usage record in the Suspended status. When you void a usage record that has been invoiced or has recognized revenue, NetSuite generates any required reverse charges or revenue correction. Revenue is properly handled even when usage was recognized in a closed accounting period. You must void and remove all usage records before you can delete a subscription. After you void and remove the related usage records, you must clear the subscription revisions to remove subscription usages. Order Management 41 For more information about removing a subscription record, see the help topic Voiding, Deleting, or Closing Transactions. Removal of One-Day Charges from Termination and Reactivation Change Orders A new account-level preference, Default Terminations Effective at Start of Day, is at Setup > Accounting > Invoicing Preferences > Subscription Management. This preference determines whether termination change orders take effect at the start or end of the day. You can set or clear this preference at any time. On Termination change orders, the Effective at Start of Day field defaults to the account-level preference. You can change Effective at Start of Day to override the default for an individual change order. When you set the Default Terminations Effective at Start of Day preference, charges are removed or reversed for the effective date of the Termination change order. To cancel an Activation change order and remove all charges for a line, create a Termination change order set to take effect at the beginning of the day. To remove a single suspended day and reactivate all charges, create a Reactivation change order to take effect on the same day as the Suspend change order. ACH Payment Instrument The Automated Clearing House (ACH) payment instrument enables you to charge your customers or send disbursements from NetSuite. You can use ACH for recurring payments. ACH is available only in North America. To use the ACH payment instrument, you must meet the following requirements:
- Use a Payment Processing Plug-in that supports the ACH payment instrument.
- Enable the Payment Instruments feature.
- Use the ACH payment method type. The ACH Coastal payment method type, available with the Electronic Funds Transfer feature, is now named ACH. All ACH Coastal data is available with the ACH payment instrument. The ACH payment instrument replaces ACH Coastal, which is scheduled for deprecation in a future release. For more information, see the help topic Payment Instruments. Separate Credit and Refund Payment Operations Previously, the Credit payment operation was listed in the Gateway Request Types section on the payment processing profile. However, you could not clear the Credit box, and Credit was handled as a part of the Refund payment operation. Credit is a standalone payment operation that returns funds back to the shoppers without any reference to a previous payment. Refund is a follow-up payment operation that returns funds back to the shoppers with a reference code (P/N Ref) to a previous payment. If your Payment Processing Plug-in supports the Credit operation, you can now enable the Credit and Refund payment operations on your payment processing profile independently. For more information, see the help topic Setting Up an Alternative Payment Method Processing Profile. Projects 42 Projects NetSuite 2021.1 includes the following enhancements to Projects features:
- NetSuite Content and Experience Enhancements
- Purchase to Project Now Available
- File Drag and Drop Update
- StickyNotes Update Vendors, Purchasing, and Receiving This release note was updated March 24, 2021. NetSuite 2021.1 includes the following enhancements to the vendors, purchasing, and receiving features:
- Centralized Purchasing and Billing
- Default Vendor Payment Account
- Print Vendor Bills and Vendor Credits
- Create Bill from Item Receipt
- Set Purchase Contract Maximum Amount on Request for Quote Transaction
- Inbound ASN Automation Centralized Purchasing and Billing NetSuite 2021.1 introduces the Centralized Purchasing and Billing feature to OneWorld accounts. Centralized Purchasing and Billing enables you to receive orders and fulfil vendor returns across multiple subsidiaries. This feature provides a flexible item receipt process and lets you avoid unnecessary order transfers between locations. Note: Centralized Purchasing and Billing is not dependent on any other feature. After you enable the Centralized Purchasing and Billing feature, line items in the Items subtab of the purchase order form contain Target Subsidiary and Target Location columns. Target subsidiary and target location can differ from the Subsidiary and Location fields, which lets you target a single purchase order at multiple subsidiaries and locations. When you set the Target Subsidiary and Target Location fields on a line item, you override the Subsidiary and Location fields for that line item. You can configure available subsidiaries and locations on individual item records. For more information, see the help topic Creating Item Records. After receiving items from a centralized purchase order, each target subsidiary creates their own receipt. Subsidiaries can create their item receipt from the Receive Orders page or directly from the purchase order. If you receive directly from the purchase order, the Receive Orders page automatically filters the Orders list by order number. The list splits centralized purchase orders based on a new Target Subsidiary column while retaining the same order number. The Receive Orders page also includes a new Target Subsidiary filter. You can use this filter to only show purchase orders belonging to a specific subsidiary. If you prefer, you can also receive purchase orders in bulk. See the help topic Bulk Receiving Purchase Orders. You must create vendor bills for centralized purchase orders from the originating purchase order. When you create a bill, all purchase order lines received up to that point transfer to the bill automatically. Vendors, Purchasing, and Receiving 43 Note: Line items on the vendor bill form now contains the following new columns:
- Due To/From Subsidiary – Specifies the target subsidiary of the vendor bill line
- Target Location – Specifies the target location of the vendor bill line The columns are hidden by default. If you want these columns to appear on your form, you must create a custom vendor bill form. The Centralized Purchasing and Billing feature enables the automation of intercompany cross charges between the billing subsidiary and the target subsidiary. You can set the automation to automatically run when the accounting period closes. Posting vendor bill variances are also compatible with Centralized Purchasing and Billing. You can use both methods of posting vendor bill variances. See the help topic Vendor Bill Variances. When you post a variance, the journals generate under the receiving Inventory or Target subsidiary. Vendor bill variance postings generate based on individual vendor bill lines. This includes support for multi-currency scenarios, in case the base currency between subsidiaries differs. When you enable the Centralized Purchasing and Billing feature, the Vendor Return Authorization transaction also contains the Target Subsidiary and Target Location columns. You can create a vendor return authorization:
- As a new transaction
- From the originating purchase order
- From the vendor bill You can fulfill vendor returns from the Ship Vendor Returns page, or by clicking the Return button on the vendor return authorization record. The item fulfilment record is generated based on lines specified in the vendor return authorization record. The Ship Vendor Returns page now also contains a Target Subsidiary filter and splits vendor returns by the new Target Subsidiary column when applicable. Note: It is not possible to bulk process vendor returns. When you initiate a vendor return directly from the vendor return authorization record, the Ship Vendor Returns page is automatically filtered by order number. If you are fulfilling a vendor return authorization to be fulfilled by multiple subsidiaries, the orders on the Ship Vendor Returns page are divided by target subsidiary. After you at least partially fulfill the vendor return authorization, you can refund the order in the form of vendor credit. To create a vendor credit record, click the Refund button on the original vendor return authorization record. The bill credit form automatically transfers lines from the vendor return authorization record. Note: Line items on the bill credit form now contains the following new columns:
- Due To/From Subsidiary – Specifies the target subsidiary of the vendor bill line The columns are hidden by default. If you want these columns to appear on your form, you must create a custom bill credit form. Similarly to billing, the Centralized Purchasing and Billing feature enables the automation of intercompany cross charges between the credit subsidiary and the target subsidiary. For more information, see the help topic Centralized Purchasing and Billing. Vendors, Purchasing, and Receiving 44 Default Vendor Payment Account In NetSuite 2021.1, you can set a Default Vendor Payment Account preference. You can set the default vendor payment account on three levels:
- Company level – Set a company-wide accounting preference
- Subsidiary level – Set preferences at the subsidiary level
- Vendor level – Set preferences for individual vendors Individual preferences override preferences set on a higher level. For example, a default vendor payment account set for a vendor overrides any company level or subsidiary level preferences for that individual vendor. The preferences affect the Account field on three transaction types:
- Vendor prepayments
- Bill payments This relates to a change in the standard bill payment and vendor prepayment forms. The Payee field is now the first field in the two forms. The Account, Subsidiary, and currency fields are unavailable until you enter the Payee field. After you fill the Payee field, the fields are populated based on your preferences. If no preferences are set, you can enter the fields manually. For more information, see the help topic Setting Default Vendor Payment Accounts. Print Vendor Bills and Vendor Credits In NetSuite 2021.1, you can enable the Advanced PDF/HTML Templates feature for vendor bills and credits. To print a bill or bill credit using the standard PDF/HTML template, click Print next to the record in the list page. You can also go to the individual bill or bill credit records and select one of the following options from the Print dropdown list:
- Print – Prints the record using the standard PDF/HTML template
- Print GL Impact – Prints the general ledger impact of the transaction You can create custom templates by going to Customization > Forms > Advanced PDF/HTML Templates. You can create a custom Bill or Bill Credit form and set your custom template in the Print Template field. For more information, see the help topic Advanced PDF/HTML Templates. You can print multiple Bills and Bill Credits on the Print Checks and Forms page, which now contains these transactions. For more information, see the following help topics:
- Vendor Bill Printing
- Vendor Credit Printing Create Bill from Item Receipt With NetSuite 2021.1 you can create bills directly from item receipts. When you enable the Advanced Receiving feature, you can click Bill on an item receipt transaction to create a bill. If the quantities on the item receipt and originating purchase order differ, NetSuite deducts the quantity on the item receipt from the purchase order. This enables you to manage the creation of billing information if your purchase order is split into multiple receipts. For more information, see the help topic Receiving a Purchase Orders with Advanced Receiving. Vendors, Purchasing, and Receiving 45 Set Purchase Contract Maximum Amount on Request for Quote Transaction NetSuite 2021.1 adds a Purchase Contract Maximum Amount field to the Awards subtab on the Request for Quote page. If you use Approval Routing, the Purchase Contract Maximum Amount field determines the required approval level of the purchase contract that generates after awarding a request for quote to a vendor. After you enable the Approval Routing feature and set the Approval Routing accounting preference for purchase contracts, the Purchase Contract Maximum Amount field is required. For more information, see the following help topics:
- Approval Routing
- Supervisors, Approvers, and Approval Limits.
- Analyzing and Awarding a Request for Quote Taxation NetSuite 2021.1 includes the following enhancements to taxation features:
- SuiteTax
- Tax Reporting Framework Enhancements ▬ EU VAT One Stop Shop Report for Accounts without SuiteTax ▬ Enhanced Support for Accounts without SuiteTax ▬ Support for India SuiteTax Engine SS2 ▬ SuiteQL Support and Country Tax Reports Page Enhancements ▬ Multi-Book Accounting and Adjustment-Only Book Support
- Mexico Deferred Taxes
- Belgium Localization Tax Reports Enhancements
- Belgium Localization Intrastat Reports Updates
- France Localization Enhancements
- Germany Localization Chart of Accounts and Financial Statements Enhancements
- Germany Localization Tax Reports Enhancements
- Ireland Localization Enhancements
- Netherlands Localization VAT Report Enhancements
- Netherlands Localization Intrastat Reports Updates
- Norway Tax Reports Enhancements
- Sweden Tax Reports Enhancements
- United Kingdom Localization VAT100 Report and Intrastat Report Updates
- Legacy Tax
- Tax Audit Files Enhancements ▬ Enhancements to Period End Journal Entries for France FEC ▬ Period End Journals Support
- Tax Audit Files Issue Fixes ▬ Tax Audit Files 1.83 Issue Fixes Taxation 46 ▬ Tax Audit Files 1.83.1 Issue Fixes
- Single Line Prompt Payment VAT Discounts for Supplementary Tax Calculation
- International Tax Reports Enhancements ▬ Ireland Postponed Accounting for VAT on Imported Goods ▬ EU VAT One Stop Shop Tax Code Provisioning ▬ Belgium Support for Reporting 100% VAT Bill ▬ France Support for Reporting of Imported Services Outside of EU ▬ Germany Monthly/Quarterly VAT Return Form and XML Update ▬ United Kingdom MOSS Tax Code No Longer Provisioned ▬ Finland Support for Reporting of Services Outside of EU ▬ Germany Annual VAT Return Update ▬ United Kingdom Tax Codes, VAT 100 Form, and Intrastat Report Updates
- International Tax Reports Issue Fixes ▬ International Tax Reports 3.120.0 Issue Fixes
- ANZ Localization Enhancements
- China Localization Enhancements
- Portugal Invoice Certification Enhancements
- Portugal SAF-T User Interface NetSuite 2021.1 includes the following enhancements to the NetSuite User Interface:
- Changes to Account and Role Selection Pages
- Advance Notice: End of Support for Some Browsers
- End of Support for Reset Button on Standard Form Pages Changes to Account and Role Selection Pages Any pages in NetSuite where you are prompted to select an account or a role now display a new view of your choices. You may encounter these pages during the login process, or when you are switching roles. The new page layouts better organize the accounts and the roles you can access. Changes to these pages include:
- Grouping of Roles per Account
- Pages that prompt you to select a role or an account now have two sections. Roles in the account you most recently accessed are listed in the upper section of the page.
- All your other accounts are listed under the Or switch to another account section. Your roles in any other account are only displayed when you switch to that specific account.
- Renaming: View My Roles and My Roles
- The View All Roles menu item has been renamed View My Roles.
- The Choose Role page has been renamed the My Roles page.
- Default Role Changes
User Interface 47
- You can now select a default role for each NetSuite account that you can access.
- For accounts where you have not indicated a default role, you are logged in to your last used role. For more information, see the help topic Switching Between Roles and Accounts. Grouping of Roles per Account In previous releases, if you had access to multiple roles and accounts, you may have seen a long list of roles on any role selection page. These role and account selection pages are now organized into two sections. The upper section displays your roles in the account you most recently accessed. Most recently accessed means the account and role you were using when you last logged out. All of the other accounts you can access are listed under the Or switch to another account section. Your roles in other accounts are not shown in this lower section of the page. When you switch to another account, the upper section of the page displays your roles in that account.
- If the system cannot determine (through your browser history) which account to log you in to, you see a Choose account page.
- If the system can determine the account but not the role, you see a Choose Role page. User Interface 48 Renaming: View My Roles and My Roles In previous releases, when you selected the View All Roles menu item, the Choose Role page opened. The View All Roles menu item has been renamed View My Roles. The Choose Role page has been renamed the My Roles page. Like the other pages that prompt you to select an account or a role, the My Roles page now displays content in two sections. These changes are also reflected in the Change Roles list that is displayed when you hover over your name at the upper right of any NetSuite page. Default Role Changes In previous releases, if you had roles in more than one account (or roles in more than one company’s accounts) you were only able to select a single default role. Now you have the option to select a default role for each NetSuite account.
- If you relied heavily on the default role in previous releases, you should select a default role again in this release. User Interface 49
- If you have multiple roles in more than one account, you can select a default role for each account. Note: The NetSuite application automatically logs you in to an account and a role based on your most recent usage. If you want to override the automatic selection, select a default role in an account. Alternatively, after login, you can switch to another role or to another account. For more information about these changes, see the help topic Switching Between Roles and Accounts. Advance Notice: End of Support for Some Browsers As of 2021.2, NetSuite will no longer support the following browsers:
- Microsoft Internet Explorer 11
- Microsoft Edge (EdgeHTML)
- All Safari versions prior to 13.1 If you use any browsers included in the preceding list, you should switch to another supported browser prior to the 2021.2 release. As of 2021.2, NetSuite will no longer test or address any issues related to these browsers. If you use an unsupported browser after your account is upgraded to 2021.2, the NetSuite Login and Two-Factor Authentication pages may not work as expected. You may also experience loss of functionality on other NetSuite pages. To avoid any unexpected behavior, you should switch to a supported browser. For information about supported browsers, see the help topic Supported Browsers for NetSuite. End of Support for Reset Button on Standard Form Pages As of 2021.1, NetSuite no longer supports the use of the Reset button on standard form pages. As a result of this deprecation, a reset button is no longer visible on any form or record. To revert to the original version of the form or record, use the refresh function in your browser. For more information, see the help topic Using Buttons and Menus in NetSuite. You can still access existing custom Reset buttons that you added using SuiteScript APIs. SuiteCommerce Solutions (SC/SCMA/SCA) These release notes refer to the latest release of the following SuiteCommerce Solutions: SuiteCommerce Solutions (SC/SCMA/SCA) 50
- SuiteCommerce
- SuiteCommerce MyAccount
- SuiteCommerce Advanced Important: SuiteCommerce Advanced releases are available as unmanaged bundles. Accounts are not automatically upgraded to the latest version during the standard NetSuite phased release process. For existing implementations, taking advantage of enhancements in a given SuiteCommerce Advanced release requires you to migrate changes into your existing code base. For details, see the help topic Update SuiteCommerce Advanced. 2021.1.0 Release Notes The latest versions of SuiteCommerce, SuiteCommerce My Account, and SuiteCommerce Advanced include the following enhancements. Complete release notes are available here: 2021.1.0 Release SC/ SCA/SCMA.
- Reorder Items on Your SuiteCommerce MyAccount Site
- Manage Subscriptions Using Commerce Websites
- SuiteCommerce Developer Tools Require Token-Based Authentication
- Extensibility API Updates
- Configuration Changes
- Node.js Requirement Change
- Third-Party Library Updates
- Issue Fixes Minor Release Notes
- 2021.1.5 Minor Release of SuiteCommerce, SuiteCommerce MyAccount, and SuiteCommerce Advanced
- 2021.1.4.1 Minor Release of SuiteCommerce and SuiteCommerce Advanced
- 2021.1.4 Minor Release of SuiteCommerce, SuiteCommerce MyAccount, and SuiteCommerce Advanced
- 2021.1.3 Minor Release of SuiteCommerce, SuiteCommerce MyAccount, and SuiteCommerce Advanced
- 2021.1.2 Minor Release of SuiteCommerce, SuiteCommerce MyAccount, and SuiteCommerce Advanced
- 2021.1.1 Minor Release of SuiteCommerce, SuiteCommerce MyAccount, and SuiteCommerce Advanced Commerce Themes Complete release notes on the latest themes for your SuiteCommerce and SuiteCommerce Advanced site are available here: Commerce Themes Release Notes. SuiteCommerce Solutions (SC/SCMA/SCA) 51 Important: Commerce Themes are only available if they are provisioned and set up in your account. For more information, see the help topic Commerce Themes. Commerce Extensions Complete release notes on the latest extensions for your SuiteCommerce, SuiteCommerce MyAccount, and SuiteCommerce Advanced site 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. Commerce Website Setup NetSuite 2021.1 includes the following enhancements to site setup features for your Commerce website:
- Ability to Enable all Commerce Products Independently Ability to Enable all Commerce Products Independently Prior to 2021.1, Site Builder was automatically enabled when the Web Store feature was checked on the Enable Feature page. However, the Web Store feature was a required feature for all Commerce products. This meant that Site Builder would be enabled even if you only had a SuiteCommerce product (SuiteCommerce, SuiteCommerce Advanced, SuiteComerce MyAccount, or SuiteCommerce InStore). In 2021.1, the Web Store feature has been removed and Site Builder is now enabled using the following new features:
- Site Builder (Website) - enables creation of Site Builder websites
- Site Builder (Web Store) - enables addition of web store capabilities, such as cart and checkout, to Site Builder websites It is now possible to enable all Commerce products independently of each other by checking the Website feature plus the relevant product feature. Commerce Product Features to Enable SuiteCommerce Website, SuiteCommerce SuiteCommerce Advanced Website, SuiteCommerce Advanced SuiteCommerce MyAccount Website, SuiteCommerce MyAccount SuiteCommerce InStore Website, SuiteCommerce InStore Site Builder ■ Website, Site Builder (Website)
- Site Builder (Web Store) - for additional web store functionality Other supporting features must also be enabled to set up sites based on different Commerce products. For more information, see the help topic Enable Features and Set Preferences (SC/ SCA/ SCMA), Required Features and Settings for SCIS, and Enabling Web Store Features (Site Builder). NetSuite users who do not use Site Builder can now clear the Site Builder options on the Enable Features page to disable Site Builder in their account. Doing so hides Site Builder records from the website list and removes Site Builder options from the navigation menu. Commerce Website Setup 52 Note: The ability to enable Site Builder sites independently affects the values you use when creating a Site Builder site using SuiteScript. For information on which values to use, see the help topic Website Setup. Commerce Website Management and Performance NetSuite 2021.1 includes the following enhancements to Commerce site management features:
- New Commerce Tab Containing Commerce-related Features
- Ability to Hide Web Store Prices from Customer Segments
- Enhanced Merchandising Zone
- Translations Tab
- Exporting and Importing Bulk Translation Content
- Access to Customer Segments via API Methods
- Country Specific Payment Method
- Multi-Language Support for Commerce Categories as Facets
- NetSuite Connector Site Management New Commerce Tab Containing Commerce-related Features In 2021.1, the new top-level Commerce tab provides you with easy access to all features related to your Commerce sites. The Commerce tab only contains menus that are related to the products you have enabled and is organized in a way that makes finding features more intuitive. SC/SCA/SCMA Commerce Site Builder Commerce menus All Commerce Products menus menus The tab contains menus and menu options that were previously found in the following locations: Commerce Website Management and Performance 53
- Setup > SuiteCommerce Advanced
- Setup > Site Builder
- Lists > Web Site To access a full list of all options available under the Commerce tab, click on the Commerce tab in the navigation menu and then click Expand All. For more information, including a map of old menu locations to new ones, see the help topic Commerce Tab. Ability to Hide Web Store Prices from Customer Segments If you use Personalized Catalog Views on SuiteCommerce or SuiteCommerce Advanced 2021.1 or later, item prices in your web store can be hidden for one or more customer segments. For example, you may want only those customers who have signed a contract to be able to see prices. To configure item price visibility, use the Website Visibility Level options available in Customer Segments Manager. There are three visibility options: Commerce Website Management and Performance 54
- Display Fully - members of customer segments with this visibility level are able to see all items and item prices in the item segment and are able to add them to their shopping carts.
- Disable Purchase - members of customer segments with this visibility level are able to see all items and item prices in the item segment, but they cannot add them to their shopping carts.
- Disable Purchase and Hide Price - members of customer segments with this visibility level are able to see all items in the item segment, but they cannot see the item prices or add the items to their shopping carts. A fourth visibility option, Hide Fully, is available only for the Unmapped Items item segment. This item segment contains all items that are not mapped to a customer segment. You can use the visibility options to define whether these items should be displayed to or hidden from all users. Note: If you have a SuiteCommerce Advanced website, the Disable Purchase and the Disable Purchase and Hide Price visibility options can be used only if you have upgraded to the 2020.2 release of SuiteCommerce Advanced or later. Do not use these options if your site is using a SuiteCommerce Advanced release prior to 2020.2. For more information, see the help topic Managing which Customer Segments can Access Item Segments. Enhanced Merchandising Zone In 2021.1, you can add an enhanced merchandising zone in Site Management Tools (SMT) to display complementary, cross-sell or up-sell products. The functionality of the enhanced merchandising zone is similar to that of the legacy merchandising zone, however it includes a configurable display, support for multiple languages, and it is compatible with SuiteCommerce themes. The enhanced merchandising zone lets you present your products in a consistent way, but also gives you the choice to display products differently throughout your website to match your brand quality. With the enhanced merchandising zone you can:
- Display products in a grid, a horizontal slider, or a vertical slider.
- Include a heading. Commerce Website Management and Performance 55
- Choose the number of products to display. For more information, see the help topic Enhanced Merchandising Zone Content. Translations Tab In 2021.1, you can now access a Translations tab in Overview Mode, which enables you to manage your webstore’s content that requires translating. You can view the translation status of your content for each language in a published and unpublished state. Included is the ability to filter the content based on missing translations for any language. For more information, see the help topic Translations Tab User Interface. Exporting and Importing Bulk Translation Content In 2021.1, you can now export bulk content that requires translation on your web store and import the translated content back into SMT from the Translations tab in Overview Mode. Translatable content includes CMS Pages and CMS Content Types. To export and import bulk translation content in SMT, your account must meet the following conditions:
- Your account must be using SMT version 3. To check your version of SMT, see SMT Versions.
- Your account must be using SuiteCommerce and SuiteCommerce Advanced 20.2 or later.
- Multi-language must be set up for your site. For details, see the help topic Prerequisites for Using Multi-Language.
- Multiple languages must be configured on the website record. For details, see the help topic Web Site Language Preferences. For more information, see the help topic Exporting and Importing Bulk Translation Content in SMT. Access to Customer Segments via API Methods From 2021.1 onwards, developers can access customer segments using the following API methods:
- getAllCustomerSegmentTypes() - returns the types of customer segments in NetSuite, that is, the customer group type and the internal type.
- getAllCustomerSegments() - returns all customer segments that are in use in the Customer Segment Manager, that is, all customer groups selected in the Customer Segment Manager as well as the default groups of All Users, Anonymous Users, and Recognized and Logged In Users.
- getCustomerSegments() - returns all customer segments to which the current customer belongs. For more information about the API methods, see the help topics ShoppingSession Methods and Customer Methods. For more information about customer segments, see the help topic Defining Customer Segments. Country Specific Payment Method As of NetSuite 2021.1 you can restrict a customer’s payment methods by the country of the shipping address. During the checkout process, a customer enters a shipping address and is then prompted to choose a payment method from those available for the country. You can enable this feature using the Restrict Payment Methods by Country of Shipping Address field on the Web Site Setup record. For more information, see the help topics Creating a Payment Method and Shopping Preferences. Commerce Website Management and Performance 56 Multi-Language Support for Commerce Categories as Facets The Multi-Language feature lets site visitors view your site in languages other than English. As of 2021.1, Commerce Categories used as facets on the Product Listing Page (PLP) are also translated in a multi- language site setup. For this change to take effect, you must rebuild the search index after the NetSuite 2021.1 upgrade. For more information, see the help topic Rebuild the Search Index Manually. SuiteCommerce InStore 2021.1 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 2021.1. Release Summary This SCIS release provides updates that affect behind-the-scenes processing in NetSuite. The release has no functional changes that are visible at the point-of-sale. New NetSuite SCIS Menu for Administrators For NetSuite administrator access, we have added an InStore branch from the Commerce menu. This menu provides a direct method for updating custom records, such as setting up a Quick Add Key. You can still access SCIS setup records by going to Customization > Lists, Records & Fields > Record Types. SuiteCommerce InStore 2021.1 57 Beta Release – SuiteScript 2.X SCIS 2021.X includes a beta-release program for SuiteScript 2.X. This beta feature must be enabled, and is limited to a subset of our customers for beta testing. General availability to all SCIS customers will be determined using the test results. Refactored Payment Processing SuiteScript 2.X provides enhanced payment processing at the POS and in NetSuite. These enhancements reduce the wait from tendering payment to having the receipt display. The shorter wait times are gained by pre-staging the required records and having most behind-the-scenes processing occur after the customer interaction is complete. Another performance factor is that we use an on-demand transaction number instead of waiting to receive that number from NetSuite. This on-demand number is generated locally and is later referenced to the NetSuite transaction number. We include the on-demand number in the bar code to assist with processing for exchanges and refunds. The refactored processes are:
- Single Payment
- Split Payment
- Shipping or Pickup Order Payment
- Exchange Without Additional Payment
- Exchange With Additional Payment
- Refund Payment Records Deprecated for Transactions SuiteScript 2.X deprecates the following two records for use in current and future transactions. Support for these records will continue for activities dependent on historical data, such as exchanges and refunds from past purchases.
- Cash Sale — If you have standard scripts that use the Cash Sale record, the SCIS team will modify them to use Invoice and Sales Order records. If you have custom scripts that depend on the Cash Sale record, you will need to have those scrips updated.
- Customer Payment — Replaced with the Customer Deposit record. Beta documentation is available for beta program participants. Warning: SCIS SuiteScript 2.X is a beta feature. The contents of this feature are preliminary and may be changed or discontinued without prior notice. Any changes may impact the feature’s operation with the NetSuite application. NetSuite warranties and product service levels shall not apply to the feature or to the impact of the feature on other portions of the NetSuite application. NetSuite 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. Please review Beta Software Legal Notices. ORACLE CONFIDENTIAL. For authorized use only. Do not distribute to third parties. Pre-General Availability Draft: June 4, 2021. SuiteApp Distribution SuiteApp distribution includes SuiteBundler, SuiteApp Marketplace, and SuiteApp Control Center capabilities that you can use to distribute customizations to accounts. SuiteApp Distribution 58 NetSuite 2021.1 includes the following changes:
- Bundle Support During Release Phasing
- Deprecation of NetSuite Bundle Repository Bundle Support During Release Phasing Bundle support during phasing of 2021.1 is consistent with the support provided during previous releases. During phasing of 2021.1, some accounts continue to use 2020.2 at the same time that other accounts are upgraded to 2021.1. Therefore, you may be using a different version than some of the accounts where your bundles are installed. Review the following descriptions for a reminder of how bundles from different versions are handled during release phasing:
- Bundles developed with 2020.2 can be installed in accounts that are already using 2021.1.
- Bundles developed with 2021.1 can be installed in accounts that are still using 2020.2, but with the
following limitations:
- When a user in a 2020.2 account installs a bundle from a 2021.1 account, the bundle installation stops if there are object types in the bundle that are not supported in 2020.2.
- A bundle with a script that uses a new API available only in 2021.1 can be installed into a 2020.2 account, but the script may not function correctly because 2020.2 does not support the API. Deprecation of NetSuite Bundle Repository As of the January 18, 2021, the NetSuite bundle repository was deprecated. After your account is upgraded to 2021.1, you will no longer be able to use the bundle repository to install bundles or distribute new bundles. Specifically, the Copy to Repository option is no longer available on the Bundle Availability page. You can store bundles in one of your accounts. For unmanaged bundles, you should instruct your customers to upgrade their bundles to a new version that is stored somewhere other than the bundle repository. For more information, see the help topic Moving a Bundle Out of the Bundle Repository. If you have additional questions or require assistance, please contact NetSuite Customer Support. SuiteBuilder – Customization NetSuite 2021.1 includes the following enhancements to SuiteBuilder features:
- Enhancements to Sales Custom Transactions
- Changes to Kit or Assembly Components Settings for Custom Segments and Custom Transaction Line Fields
- Changes to Field Type Conversions in Custom Fields
- Changes to Supported APIs for Checking Custom Password Fields
- Translatable Fields Enhancements Enhancements to Sales Custom Transactions View the New Feature Training for Sales Custom Transaction changes. SuiteBuilder – Customization 59 Two new enhancements are available for Sales Custom Transaction Types in 2021.1. You can now apply a transformed custom transaction to the source transaction directly from the transformed transaction. You can also close a sales order when a custom sales transaction is transformed from a sales order. Apply Subtab Previously, if you wanted to apply one custom transaction to another, you had to first transform the transaction and then create a Customer Payment or Vendor Payment to connect the two transactions. A new Apply subtab is now available for sales credit transactions. Use the Apply subtab to apply transformed custom transactions to the source transaction. For example, you can apply a custom credit transaction to the source debit transaction. The Apply subtab has the same fields as the Apply subtab for Credit Memo and displays the same set of transactions. For more information, see the help topic Creating a Sales Custom Transaction Instance. Ability to Close Sales Order A new Ability to Close Sales Order box is available on the Custom Transaction Type page for sales types. If you want the transaction to close the sale order, check the Ability to Close Sales Order box. The sales custom transaction can close a sales order only if the transaction is of debit type and if it is posting. For more information, see the help topic Ability to Close Sales Order. Changes to Kit or Assembly Components Settings for Custom Segments and Custom Transaction Line Fields As of 2021.1 the behavior of Kit or Assembly Components settings for custom segments and custom transaction line fields has changed. Kit/Assembly Components Setting for Custom Segments The behavior of the Kit/Assembly Components box on the Transaction Columns subtab on the Application & Sourcing subtab in custom segment configuration has changed. Previously, values for kit and assembly segments were always copied from sales orders to item fulfillments, even if you did not check the Kit/Assembly Components box. Now, you must check this box for kit and assembly segment values to be copied from sales orders and saved to related item fulfillments. Apply to Kit/Assembly Components Setting for Custom Transaction Line Fields The behavior of the Apply to Kit/Assembly Components box on the Applies To subtab in custom transaction line field configuration has changed. Previously, kit and assembly line item values were not copied from sales orders to item fulfillments, even if the Kit/Assembly Components box was checked. Now, when you check this box, kit and assembly line values are copied from sales orders and saved to related item fulfillments. Changes to Field Type Conversions in Custom Fields For custom fields, you can no longer convert the document field type and the image field type to the free- form text field type. SuiteBuilder – Customization 60 For more information about record conversions, see the help topic Converting the Field Type of a Custom Field. Changes to Supported APIs for Checking Custom Password Fields A new nlapiCheckPasswordField SuiteScript function that checks the field value of custom passwords is now available for SuiteScript 1.0 and SuiteScript 2.x. As of 2021.2, the existing nlapiEncrypt encryption SuiteScript method will be deprecated. Before your account is upgraded to the 2021.2 release, update your scripts to use the new SuiteScript checkPasswordField APIs. For more information, see Upcoming Changes to Supported APIs for Checking Custom Password Fields (SuiteAnswer ID 97620). SuiteAnalytics This release note was updated May 12, 2021. NetSuite 2021.1 includes the following enhancements to SuiteAnalytics:
- Calculated Measures Now Available in SuiteAnalytics Workbook
- Conditional Formatting Now Available in SuiteAnalytics Workbook
- NetSuite IP Addresses and SuiteAnalytics Connect
- Removal of Some Connect Tables and Columns
- Changes to Phone Number Length in SuiteAnalytics Connect Columns
- Removal of Password Custom Fields from SuiteAnalytics Connect
- Translation Collections for User-Defined Text Supported in Workbook
- 2021.1 Connect Browser
- Supported Cipher Suites for SuiteAnalytics Connect
- Deletion Tracking Support for Records That Use the New Analytics Data Source
- Dashboard Tiles Enhancements Calculated Measures Now Available in SuiteAnalytics Workbook You can now enhance your pivot tables and charts by creating calculated measures. Calculated measures are custom measures that you define by creating a calculation from existing measures and basic operators. The following example shows how to calculate the profit percentage: % Profit = Est. Gross Profit (Sum) / Amount (Sum) You can create as many calculated measures as you need with the fields available in the connected dataset. You can use your calculated measures only in the pivot table and chart where you created them. SuiteAnalytics 61 For more information about creating calculated measures, see the help topic Calculated Measures. Conditional Formatting Now Available in SuiteAnalytics Workbook You can now apply conditional formatting to your workbook table view and pivot table results. Conditional formatting highlights results based on rules that you define, so that you can quickly analyze your company data. Depending on the conditions you set up, you can apply conditional formatting to groups of results or individual results. You can define conditional formatting using any fields containing NUMBER or STRING values, including custom formula fields and calculated measures. For more information, see the help topic Conditional Formatting NetSuite IP Addresses and SuiteAnalytics Connect The IP addresses of SuiteAnalytics Connect servers are changing. Therefore, you should not use IP addresses in your firewall configurations to access the Connect Service. If you use IP addresses in your configurations, you will be unable to access the Connect Service after the IP addresses change. The use of NetSuite IP addresses to manage access to any NetSuite services is not supported. Make sure that you do not rely on methods that require explicit reference to any NetSuite IP address. To manage access to the Connect Service, you can use the domain name in your configurations instead of the IP address. The domain name does not change, even if the account is moved to a different data center. Over the next several releases, the IP addresses of SuiteAnalytics Connect servers may change frequently, at any time, and without notice. To avoid issues each time the IP addresses change, you should make sure that you are not using IP addresses in your configurations. For more information about NetSuite IP addresses and firewall configurations for SuiteAnalytics Connect, see the help topics NetSuite IP Addresses and Third-Party Application Access. Removal of Some Connect Tables and Columns Removal of some tables and columns from the Connect schema is targeted for upcoming releases, starting in 2021.1. This gradual process is designed to allow you time to make any needed adjustments to your queries. Note: This removal applies only to the schema available through NetSuite.com. The following tables and columns are affected by the upcoming removal process: Targeted Release Table or Column To Be Removed Alternative Table or Column 2021.1 Table name: notes_system Table name: system_notes 2021.1 Table name: notes_system_custom Table name: system_notes_custom 2021.2 Column name: date_last_modified Column name: date_last_modified_gmt SuiteAnalytics 62 Targeted Release Table or Column To Be Removed Alternative Table or Column Available in transaction_lines table Available in transaction_lines table The removal process is scheduled as follows:
- As of 2021.1, the notes_system and notes_system_custom tables are permanently removed. Since 2017, the Connect Browser has included a warning that these tables should not be used. Any queries that still include these tables will fail as of 2021.1. You can use the system_notes and system_notes_custom tables instead. See the Connect Browser for descriptions of the columns available for each table, then make adjustments to your existing queries as needed.
- As of 2021.2, the date_last_modified column will be permanently removed from the transaction_lines table. The Connect Browser has included a description that this column may return inaccurate values and that you should use the date_last_modified_gmt column instead. Note that the date_last_modified_gmt column returns results in the Coordinated Universal Time (Greenwich Mean Time). You should consider the time zone when you review your queries and make any adjustments as needed. These changes are effective when your account is upgraded to the corresponding release. However, the Connect Browser is not upgraded at the same time, so it will not show these changes at the time of your account upgrade. These changes are visible in the Connect Browser when it is released at a later date. You should check your existing queries and make any adjustments before these tables and this column are permanently removed. Note: Before you modify your queries, you should refer to the Connect Browser to check the descriptions of available tables and columns. For more information about the tables available in the Connect Schema, see the help topic Connect Schema. Changes to Phone Number Length in SuiteAnalytics Connect Columns SuiteAnalytics Connect changes the maximum length attribute for values that return phone numbers in some columns. The length changes to 100 characters. Note: This update applies to the NetSuite.com data source only. If you work with the NetSuite.com data source and you are using the column attributes in your configuration, review them and make adjustments as needed. To avoid error or discrepancies, your configuration must match the column values listed in the Connect Browser. The length of the following columns changes to 100 characters: Column Name Previous Length Updated Length calls.phone 99 100 item_fulfillments.hold_at_location_loc_phone 24 100 item_fulfillments.hold_at_location_phone 24 100 SuiteAnalytics 63 Column Name Previous Length Updated Length support_incidents.case_phone 99 100 This change is effective as of 2021.1, but the current version of the Connect Browser does not show the updated values yet. This change is visible in the 2021.1 Connect Browser when it is released at a later date. For information about the column attributes, see the help topic Table Summary. Removal of Password Custom Fields from SuiteAnalytics Connect As of 2021.1, password custom fields have been removed from the Connect Schema. Password custom fields are fields that are created using the Password field type. For more information about custom field types, see Table of Custom Field Type Descriptions. Note: This change applies to the schema available through the NetSuite.com data source. The removal of password custom fields from the Connect Schema is effective as of 2021.1. If you are using these fields in queries that were created before 2021.1, remove them from your existing queries and make any adjustments as needed. For more information about the tables and columns available in the Connect Schema, see the help topic Connect Schema. Translation Collections for User-Defined Text Supported in Workbook Strings and collections for translation are now automatically created when you create and save a dataset or workbook visualization, such as a dataset description or pivot name. You can manage your translation strings and collections on the Manage Translations page. For a list of customizable objects added in the 2021.1 release, see Minor Updates to Custom Objects. For more information about Translation Collections, see the help topic Introduction to Manage Translations. 2021.1 Connect Browser The 2021.1 version of the Connect Browser is now available. The following table has been exposed: Assembly Bill of Materials. You can find the links to all Connect tables in the Connect Schema topic. Note: The notes_system and notes_system_custom tables have been removed as part of the removal process that started in 2021.1. For more information, see Removal of Password Custom Fields from SuiteAnalytics Connect. For more information about how to work with the Connect Browser, see the help topic Working with the Connect Browser. SuiteAnalytics 64 Supported Cipher Suites for SuiteAnalytics Connect As a best practice, you should remove any cipher suites specified in your connection URL. If your connection URL does not include a cipher suite, the JDBC server automatically selects the appropriate cipher suite for authentication. As of February 2021, the list of supported cipher suites for access to NetSuite has changed. For more information, see Unsupported Cipher Suite for SuiteAnalytics Connect. Deletion Tracking Support for Records That Use the New Analytics Data Source For some records, when the record is deleted, NetSuite retains some general data about it. This data includes the record name and type, when the record was deleted, and the name of the user who deleted the record. Deletion tracking now supports records that use the new analytics data source that was designed for SuiteAnalytics Workbook. For more information, see Deletion Tracking Support for Records That Use the New Analytics Data Source. CSV Import NetSuite 2021.1 includes the following enhancements to CSV Import:
- Newly Supported Record Types for CSV Import
- Referencing Custom List Entries by Script ID Newly Supported Record Types for CSV Import Record Type Newly Exposed Notes or Updated Bonus Import Newly Exposed You can now import bonus-related data into NetSuite using the CSV Import assistant. This way you can update bonus information for a large number of employees in one action. To import bonus-related data with the CSV Import Assistant you must enable the Compensation Tracking feature and you must have the Import CSV File permission. Planning Item Newly Exposed Planning Item Categories help you organize and display items in a hierarchy. Due Category to the volume of data involved in supply planning, this hierarchy helps you to Import aggregate and inspect items. To learn more, see the help topic Supply Planning Prerequisites. Planning Item Newly Exposed A Planning Item Group provides a reusable (across different plans) method for Group Import specifying a set of items to be planned together. This enables planners to specify which items are in a plan at the item category or item level. To learn more, see the help topic Supply Planning Process. Planning Rule Newly Exposed Planning Rule Groups enable planners to create rules that govern the supply Group Import planning process to define how items and item categories are replenished. These rules only apply to transfer orders. For example, you can define where to source supply for an item when it is required at a specified location. To learn more, see the help topic Supply Planning Process. CSV Import 65 Record Type Newly Exposed Notes or Updated Supply Plan Newly Exposed Supply Plan Definition enables planners to establish the criteria to be used for Definition supply planning. The plan definition provides the information that drives the Import supply planning process, such as planning horizon and planning scope. For example: you can run supply planning at multiple facilities at one time. A supply plan definition provides a permanent holding place for your planning criteria and planning results. To learn more, see the help topic Creating a Supply Planning Definition and Schedule. Referencing Custom List Entries by Script ID You can use Script ID as a reference type to map a column of the imported CSV file to a NetSuite field that can have one or more custom list or custom record values. For example, you create a custom list and each value has a script ID. Later, you add to a Sales Order a custom field of the type List/Record, referencing the custom list you created. Now you can reference each value by its script ID when you import a Sales Order with the CSV Import Assistant. For more information on reference types, see the help topic Select Reference Types. SuiteScript This release note was updated June 9, 2021. Refer to the following sections for details on SuiteScript updates for NetSuite 2021.1:
- Map/Reduce Scripting – Change to the Character Limits for Keys
- Upload a SuiteScript 2.1 Client Script to the File Cabinet
- Secrets Management
- SuiteScript 2.1 Debugger
- Changes to the Workbook API (Beta)
- CurrentRecord.getSubrecord Behavior Change
- New N/suiteAppInfo Module
- EmaiI Send Security Update
- Asynchronous Server-Side Support
- Support for Copying Files Using the N/file Module
- Support for Formatting Locales and Indian Number Formatting
- New Built-in Functions for SuiteQL
- New Methods to Check Password Fields
- Advance Notice: Upcoming Removal of MD5 and SHA1 Hash Algorithms
- Deprecation of RESTlet Authentication Through User Credentials
- Deletion Tracking Support for Records That Use the New Analytics Data Source
- New SuiteScript Actions and Macros
- 2021.1 SuiteScript Record Exposures
- 2021.1 SuiteScript Records Browser SuiteScript 66 Map/Reduce Scripting – Change to the Character Limits for Keys As of June 10, 2021, the character limit for keys in map/reduce scripts (specifically, in mapContext or reduceContext objects) is reduced to 3,000 characters. The previous character limit for keys was 4,000 characters. In addition, error messages are returned when a key is longer than 3,000 characters or a value is larger than 10 MB. Keys longer than 3,000 characters will return the error KEY_LENGTH_IS_OVER_3000_BYTES. Values larger than 10 MB will return the error VALUE_LENGTH_IS_OVER_10_MB. If you have map/reduce scripts that use the mapContext.write(options) or reduceContext.write(options) methods, make sure that key strings are shorter than 3,000 characters and value strings are smaller than 10 MB. Make sure that you consider the potential length of any dynamically generated strings, which may exceed these limits. You should also avoid using keys, instead of values, to pass your data. Upload a SuiteScript 2.1 Client Script to the File Cabinet NetSuite 2021.1 adds the ability to upload a SuiteScript 2.1 client script that includes ES6+ syntax to the File Cabinet. However, SuiteScript 2.1 client scripts are not supported in the Scriptable Cart. For considerations when using SuiteScript 2.1 client scripts, see the help topic Executing Scripts Using SuiteScript 2.1. For more information on SuiteScript 2.1, see the help topic SuiteScript 2.1. For more information on the Scriptable Cart, see the help topic SuiteScript for Scriptable Cart. Secrets Management SuiteScript 2.x now includes the ability to store, access, and manage API secrets. API secrets include hashes, passwords, keys, and other secrets for managing digital authentication credentials. You can use API secrets management to store these values, preventing the need for plaintext secrets in scripts and allowing secure integration to third-party systems. Secrets up to 4,000 characters are accepted. Secret owners can set criteria to limit access for other users or allow access for a specific SuiteApp. To view and create API secrets, administrators and other users with the appropriate permission can go to Setup > Company > Preferences > API Secrets. To ensure the decrypted secret is never displayed, you can limit the secret to a specific script or locked SuiteApp. Only certain SuiteScript 2.x APIs can reference secrets. A new permission is available to manage role access to the API Secrets page. You can add the Secrets Management permission to a role to enable that role to access the API Secrets page in the UI. For more information, see the help topic Secrets Management. SuiteScript 2.1 Debugger The SuiteScript 2.1 Debugger is now available. You can use this debugger to debug SuiteScript 2.1 scripts, and it supports on-demand debugging and debugging of scheduled scripts, Suitelets, and user event SuiteScript 67 scripts. The SuiteScript 2.1 Debugger uses the Chrome DevTools API to let you debug SuiteScript 2.1 scripts using similar functionality available when debugging JavaScript in the Chrome browser. In our effort to offer a modern coding experience to our developers, the SuiteScript 2.1 Debugger uses the Chrome DevTools API. The Chrome DevTools API allows users to debug SuiteScript 2.1 scripts using similar functionality available when debugging JavaScript in the Chrome browser. The SuiteScript 2.1 Debugger is designed for use with NetSuite in the Chrome browser. Other browsers, such as Firefox, Safari, and Microsoft Edge, have limited support. On-Demand Debugging To debug code on demand, enter your code in the debugger window, select 2.1 in the Version field, and click Debug. A second browser tab for Chrome DevTools automatically opens. Execution of the script pauses waiting for you to perform actions that trigger your script. You can then debug your script using breakpoints, watches, and other tools available in Chrome DevTools. Scheduled Scripts and Suitelets To debug scheduled scripts and Suitelets, select a scheduled script or Suitelet from a list of SuiteScript 2.1 scripts and click Debug. A second browser tab for Chrome DevTools automatically opens, and execution of the script pauses waiting for you to perform actions that trigger your script. You can then debug your script using breakpoints, watches, and other tools available in Chrome DevTools. User Event Scripts You can debug user event scripts that include a single entry point or multiple entry points all within the same Chrome session. Your debugging session automatically pauses between entry points, which lets you to restart debugging at the exact desired entry point when you are ready. To debug user event scripts, select a user event script from a list of SuiteScript 2.1 user event scripts and click Debug. A second browser tab for Chrome DevTools opens, and execution of the script pauses waiting for you to perform actions that trigger your script. You can then debug your script using breakpoints, watches, and other tools available in Chrome DevTools. If your user event script includes more than one entry point, such as beforeLoad and beforeSubmit, you can debug the beforeLoad entry point first. After that entry point is complete, the debugger pauses to let you debug the beforeSubmit entry point. Changes to the Workbook API (Beta) The Workbook API (Beta) includes the following new features:
- Conditional formatting — Format table views and pivots dynamically based on conditions that you specify. For more information about conditional formatting, see Conditional Formatting Now Available in SuiteAnalytics Workbook.
- Translation support — Use localized datasets and workbooks to analyze your data in your preferred language. For more information about translation support, see Translation Collections for User- Defined Text Supported in Workbook.
- Calculated measures — Use new objects (workbook.DataMeasure and workbook.CalculatedMeasure) to create measures using basic and complex calculations. For more information about calculated measures, see Calculated Measures Now Available in SuiteAnalytics Workbook. SuiteScript 68 For more information, see the help topic Workbook API (Beta). CurrentRecord.getSubrecord Behavior Change As of 2021.1, if a script uses the CurrentRecord.getSubrecord(options) to get a subrecord that does not exist, a new subrecord is created and returned. With this change in behavior, it is no longer possible to use this method to check whether a record has an existing subrecord. Use the CurrentRecord.hasSubrecord(options) method to determine if the field contains a subrecord. New N/suiteAppInfo Module A new N/suiteAppInfo module is available. The N/suiteAppInfo module includes methods that let you access information about installed bundles and SuiteApps. These methods let you determine if a bundle or SuiteApp is installed, retrieve a list of all installed bundles and SuiteApps, or retrieve a list of bundles and SuiteApps that contain certain scripts. For more information, see the help topic N/suiteAppInfo Module. EmaiI Send Security Update NetSuite 2021.1 introduces a new Vicarious Emails permission that lets users send email on behalf of another user. This new permission allows a role to define an author (sender) that is different from the current user. This permission is automatically added to existing roles in your account to prevent disruption to current email sent from known users via SuiteScript. However, this permission is not automatically added to roles that can indirectly execute scripts. If these types of roles indirectly execute a script that sends email on behalf of another user, a warning is logged in the script execution log. When you create a new custom role in your NetSuite account that needs to send email on behalf of another user, you should now include the Vicarious Emails permission. You need to take action to address these warnings before August 1, 2021. As of August 2021, these exceptions will no longer simply log the warning message but will throw an error. To avoid this issue, you must update script deployments that have this warning in the script execution log to run as roles that have the Vicarious Emails permission. Do not use the Current Role selection in the Execute As Role field on script deployments for scripts that have this error or warning. You can identify suspect scripts by reviewing the script execution logs for these Emergency log messages: “Action Required: Email on behalf of other than currently logged in entity was sent by script {the script id}.“ For more information, see the following topics:
- N/email Module; also available as SuiteAnswers ID 43736, https://netsuite.custhelp.com/app/answers/ detail/a_id/43736
- Customizing and Creating Roles; also available as SuiteAnswers ID 91073, https:// netsuite.custhelp.com/app/answers/detail/a_id/91073 Asynchronous Server-Side Support SuiteScript 2.1 now fully supports non-blocking asynchronous server-side promises. Server-side promises are expressed using the asnyc, await, and promise keywords. This change continues our support for SuiteScript 69 ECMAScript 2019 (ES2019) language features in SuiteScript. It lets you upload and deploy SuiteScript 2.1 scripts that include the async, await, and promise keywords. For this initial release, the following modules are supported:
- N/http Module
- N/https Module
- N/query Module
- N/search Module
- N/transaction Module Note that for this release, a subset of promise methods in each module is supported. There are a few items to consider when using server-side promises in SuiteScript:
- This capability is not for bulk processing use cases where an out-of-band solution, such as a work queue, may suffice.
- This capability is mainly for in-process and distinct operations, such as business functions on a list of transactions when ordering does not matter. For more information about the asynchronous server-side support in SuiteScript 2.1, see the following help topics: Asynchronous Capability Help Topic Async and await keywords SuiteScript 2.1 Language Examples Promise methods in the N/http Module. http.delete.promise(options) http.get.promise(options) http.post.promise(options) http.put.promise(options) http.request.promise(options) Promise methods in the N/https Module. https.delete.promise(options) https.get.promise(options) https.post.promise(options), https.put.promise(options) https.put.promise(options) Promise methods in the N/query Module. query.load.promise(options) Query.run.promise() Query.runPaged.promise() Promise methods in the N/search Module. search.create.promise(options) search.delete.promise(options) search.duplicates.promise(options) search.global.promise(options) search.load.promise(options) search.lookupFields.promise(options) Search.runPaged.promise(options) SuiteScript 70 Asynchronous Capability Help Topic Search.save.promise() Promise method in the N/transaction Module. transaction.void.promise(options) For more information on asynchronous JavaScript programming, see https://developer.mozilla.org/en-US/ docs/Learn/JavaScript/Asynchronous. Support for Copying Files Using the N/file Module You can now use the N/file module to copy files in the File Cabinet. A new method, file.copy(options), is available and lets you copy an existing file in the File Cabinet. This method returns a file.File object, which you can use to work with the copied file in your scripts. When you use this method to copy a file, the copied file has the same permissions and other attributes as the original file. For example, if the original file is available without login, the copied file is also available without login. The file.copy(options) method supports conflict resolution when copying a file. If a file with the same name already exists in the location to which you are copying a file, a conflict occurs. You can use the new file.NameConflictResolution enum to determine how conflicts are handled. You can specify that the copy operation should fail without copying the file, overwrite the existing file, or rename the copied file to use a unique name. For more information, see the help topic N/file Module. Support for Formatting Locales and Indian Number Formatting You can now specify the locale when you use certain methods in the N/format/i18n module. The format.getCurrencyFormatter(options) and format.getNumberFormatter(options) methods now accept a locale parameter that you can use to specify the locale for which to get the currency format or number format. To specify a locale, you can provide a partial or full locale string. A full locale string represents a complete locale, such as en_US (American English) and fr_FR (French). A partial locale string represents some information about a locale but is not complete, such as en_aa (English but not associated with a particular region). If you provide a partial locale string, some locale properties are inferred automatically based on the string, and other locale properties are set using default values. For more information and examples, see the help topics CurrencyFormatter.locale and NumberFormatter.locale. For a list of common locales, see the help topic translation.Locale. The N/format/i18n module also now supports Indian number formatting. This format uses a different comma separation pattern than other formats. For example, consider the number 123,500. When using Indian number formatting, this number is formatted as 1,23,500. For more information, see the help topic N/format/i18n Module. New Built-in Functions for SuiteQL New built-in functions are available for you to use in SuiteQL queries. These new functions use the BUILTIN_RESULT prefix and let you specify the result type of a SuiteQL expression. For example, you can use the BUILTIN_RESULT.TYPE_DATE() function to specify that the expression result is a date. SuiteScript 71 For a full list of built-in functions, see the help topic Using SuiteQL with the N/query Module in SuiteScript. New Methods to Check Password Fields A new method for checking a user-entered password is available in this release for both SuiteScript 1.0 and SuiteScript 2.x. With this new method, you can check whether a password in a record corresponds to the password entered by the user. The new SuiteScript 1.0 method is nlapiCheckPassword(type, id, value, field, sublist, line). The new SuiteScript 2.x method is crypto.checkPasswordField(options), included in the N/crypto module. For more information, see the help topics nlapiCheckPasswordField(type, id, value, field, sublist, line) and crypto.checkPasswordField(options). In NetSuite 2021.2, the usage of the SuiteScript 1.0 nlapiEncrypt(s, algorithm, key) function to check custom password field values will no longer be supported and usage of the SuiteScript 2.x record.getValue(options) or currentRecord.getValue(options) methods to check custom password field values will no longer be recommended. Instead, scripts should be updated to use the new SuiteScript 1.0 function or the new SuiteScript 2.x method to check custom password field values. For more information on this change, see Upcoming Changes to Supported APIs for Checking Custom Password Fields. Ability to Lock and Unlock Certificates and Keys Certificates and Keys can now be locked and unlocked using SuiteScript 2.x. Locked certificates and keys cannot be edited. Lock and unlock certificates with certificateControl.lock(options) and certificateControl.unlock(options). Lock and unlock keys with keyControl.lock(options) and keyControl.unlock(options). You can see if a certificate is locked using the UI at Setup > Company > Certificates. You can see if a key is locked at Setup > Company > Keys. Advance Notice: Upcoming Removal of MD5 and SHA1 Hash Algorithms Support for the MD5 and SHA1 hash algorithms in SuiteScript 1.0 and SuiteScript 2.x will be completely removed as of NetSuite 2021.2. This change will affect the following SuiteScript 1.0 and SuiteScript 2.0 APIs: API API Impacts nlobjCredentialBuilder The md5() and sha1() functions will be removed. The hmac(context, credential, algorithm) function will work only if the last parameter is sha256 or sha512: for example, nlobjCredentialBuilder(data, domain).hmac(nlapiGetContext(), ‘my secret key’, ‘sha256’)). certificate.HashAlg The SHA1 value for certificate.HashAlg will be removed. This change will affect the options.algorithm parameter of the certificate.createSigner(options), certificate.createVerifier(options), and certificate.signXml(options) methods. crypto.HashAlg The MD5 and SHA1 values for crypto.HashAlg will be removed. This change will affect the options.algorithm parameter of the crypto.createCipher(options), crypto.createDecipher(options), crypto.createHash(options), and crypto.createHmac(options) methods. SuiteScript 72 API API Impacts https.HashAlg The MD5 and SHA1 values for https.HashAlg will be removed. This change will affect the options.algorithm parameter of the SecureString.hash(options) and SecureString.hmac(options) methods. Scripts that use MD5 or SHA1 as the hash algorithm must be updated to use a different hash algorithm, such as SHA256 or SHA512, to ensure these scripts continue to work as expected after the upgrade to 2021.2. If you have additional questions or require assistance, please contact NetSuite Customer Support. Deprecation of RESTlet Authentication Through User Credentials User credentials authentication for newly created RESTlets is no longer supported. Any RESTlets created after January 1, 2021 with user credentials authentication will stop working after the account is upgraded to 2021.1. This change is effective as of January 1, 2021, but it goes into effect when your account is upgraded to 2021.1. If you attempt to use user credentials to authenticate a new RESTlet after your account is upgraded, an HTTP error response is returned. This change does not affect RESTlets created before January 1, 2021, except for RESTlets included in bundles or SuiteApps that are installed into target accounts on or after January 1, 2021. You must ensure that RESTlet integrations created on or after January 1, 2021 use an alternative authentication method, such as token-based authentication (TBA) or OAuth 2.0. You also must ensure that RESTlets included in bundles or SuiteApps use TBA or OAuth 2.0 for authentication. This change applies to all RESTlets included in bundles or SuiteApps, not only to RESTlets created on or after January 1, 2021. Installing bundles or SuiteApps changes the creation date of script records. For this reason, you must ensure that all RESTlets in a bundle or SuiteApp are updated to use TBA or OAuth 2.0. For information about setting up TBA for RESTlets, see the help topic Setting up Token-based Authentication for a RESTlet integration. For information about using OAuth 2.0 for RESTlets, see the help topic Using OAuth 2.0 for RESTlet Authentication. Deletion Tracking Support for Records That Use the New Analytics Data Source For some records, when the record is deleted, NetSuite retains some general data about it. This data includes the record name and type, when the record was deleted, and the name of the user who deleted the record. Deletion tracking now supports records that use the new analytics data source that was designed for SuiteAnalytics Workbook. For more information, see Deletion Tracking Support for Records That Use the New Analytics Data Source. New SuiteScript Actions and Macros The following SuiteScript actions are newly supported as of NetSuite 2021.1: SuiteScript 73 Record Type Action ID UI Button Label Notes Time retract Retract Retracts pending timebill with the specified ID. Weekly Timesheet retract Retract Retracts pending timebills on the timesheet with the specified ID. The following SuiteScript macros are newly supported as of NetSuite 2021.1: Record Type Macro ID UI Button Label Notes Charge clearBudgetAmounts Clear Values Sets amounts to empty value for all selected lines. Charge distributeBudgetTotalAmount Distribute Total Splits a total amount into all calendar months for all selected lines. Charge selectAllBudgetLines Mark All Checks all enabled check boxes in the Select column. Charge setBudgetAmountsToCalculated Set to Calculated Replaces amounts with calculated values for all selected lines. Charge unselectAllBudgetLines Unmark All Unchecks all enabled check boxes in the Select column. 2021.1 SuiteScript Record Exposures Record Type Newly Exposed or Notes Updated Sales Channel Newly Exposed The sales channel record is available when the Sales Channel Allocation feature is enabled. The sales channel record is scriptable in both server and client SuiteScript. The sales channel record cannot be transformed. Order Reservation Newly Exposed The order reservation record is available when the Sales Channel Allocation feature is enabled. The order reservation record is scriptable in both server and client SuiteScript. The order reservation record cannot be transformed. Automated Clearing Newly Exposed The automated clearing house record is available when the House Payment Instruments feature is enabled and you have created an instance of the ACH type payment method. The automated clearing house record is scriptable in both client and server SuiteScript. The automated clearing house record cannot be transformed. Subscription Term Newly Exposed The subscription term record is available when the Subscription Billing feature is enabled. The subscription term record is scriptable in both client and server SuiteScript. SuiteScript 74 Record Type Newly Exposed or Notes Updated The subscription term record cannot be transformed. Price Plan Newly Exposed The price plan record is available when the Subscription Billing feature is enabled. The price plan record is scriptable in both client and server SuiteScript. The price plan record cannot be transformed. 2021.1 SuiteScript Records Browser The 2021.1 version of the SuiteScript Records Browser is now available. You can find links to the SuiteScript Records Browser in several places, including the following:
- The help topic titled Working with the SuiteScript Records Browser.
- The reference page for each supported record in the SuiteScript Records Guide. The SuiteScript Records Guide is available in the NetSuite Help Center and can be downloaded as a PDF from the User Guides topic. SuiteTalk Web Services Integration This release note was updated April 28, 2021. NetSuite 2021.1 includes the following enhancements to web services features:
- REST Records Service
- Fully Supported Record Types for REST Web Services in 2021.1
- Asynchronous Request Execution in REST Web Services (Beta)
- Body Field Selection on Single Resources in REST Web Services
- Changes in the Returned Format of Enumerator Field Values
- Removal of Main Record IDs from SuiteBilling Subrecords
- REST Query Service
- Support for Formula Field Names in Datasets
- Support for Paging in Dataset Lists
- REST Web Services
- New Option for Integration Record to Support OAUTH2 Authorization Flow
- Changes in Error Codes Returned in REST Web Services
- SOAP Web Services
- New Default Value of Available Without Login Field for File Cabinet Uploads
- Deprecation of the Inbound Single Sign-on Feature
- Changes for Name and Display Name Fields on Account Record
- SOAP Web Services Version 2021.1
- Araxis Merge Diff File for the 2021.1 Endpoint SuiteTalk Web Services Integration 75
- 2021.1 SOAP Schema Browser Fully Supported Record Types for REST Web Services in 2021.1 The following table lists the record types that are fully supported as of 2021.1. Record Type Notes Cash Sale There are no prerequisites for using this record through REST web services. The record ID for a cash sale REST record is cashsale. Customer The create operation is not supported for the campaigns and contactroles elements. The record ID for the customer REST record is customer. Customer Subsidiary You must either use NetSuite OneWorld or have the Subsidiaries hidden feature enabled Relationship before you can use this record through REST web services. The record ID for the subsidiary REST record is customerSubsidiaryRelationship. Employee You must enable the Advanced Employee Permissions feature, the Employee Record, the Perform Search, the SuiteAnalytics Workbook, and SuiteScript before you can use this record through REST web services. The record ID for the employee REST record is employee. Event The event record is not a subrecord and has three subrecords. The record ID for the event REST record is calendarevent. Inventory Item An inventory item REST record does not show Quantity Pricing Discount/Levels (quantitypricingdiscount, quantitypricinglevel) or the Item Translations subtab (translations). The record ID for the journal entry REST record is inventoryItem. Invoice There are no prerequisites for using this record through REST web services. The record ID for an invoice REST record is invoice. Item Fulfillment The item fulfillment record is not a subrecord. The record ID for the journal entry REST record is ItemFulfillment. Message The record ID for the message REST record is Message. All fields on the message record are read-only. Non-Inventory Sale The record ID for the journal entry REST record is noninventorySaleItem. Item Phone Call The phone call record is not a subrecord and has one subrecord. The record ID for the phone call REST record is phonecall. Purchase Order The record ID for a purchase order REST record is purchaseOrder You must enable the Purchase Orders feature before you can use this record through REST web services. Sales Order The record ID for a sales order REST record is salesorder. You must enable Unified Pricing before you can use this record through REST web services. SuiteTalk Web Services Integration 76 Record Type Notes Change Order The record ID for the change order REST record is subscriptionChangeOrder. The change order record is available if SuiteBilling features are enabled. For more information, see the help topic Enabling SuiteBilling Features. Subscription Term The record ID for a subscription term REST record is subscriptionterm. The subscription term record is available if SuiteBilling features are enabled. For more information, see the help topic Enabling SuiteBilling Features. Task The task record is not a subrecord and has three subrecords. The record ID for the task REST record is task. Vendor Subsidiary You must either use NetSuite OneWorld or have the Subsidiaries hidden feature enabled Relationship before you can use this record through REST web services. The record ID for the vendor subsidiary relationship REST record is vendorSubsidiaryRelationship. For a list of every fully supported record, see the help topic REST Web Services Supported Records. Except for fully supported records, all records listed in the REST API Browser are available as beta records in REST web services if the REST Record Service (Beta) feature is enabled. For more information about working with the browser, see the help topic The REST API Browser. Asynchronous Request Execution in REST Web Services (Beta) Warning: Asynchronous request execution is a beta feature. The contents of this feature are preliminary and may be changed or discontinued without prior notice. Any changes may impact the feature’s operation with the NetSuite application. NetSuite warranties and product service levels shall not apply to the feature or to the impact of the feature on other portions of the NetSuite application. NetSuite 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. Please review Beta Software Legal Notices. Oracle Confidential. For authorized use only. Do not distribute to third parties. Note: To access this beta feature, you must complete the Oracle NetSuite Umbrella Beta Program Recruitment form. A link to this form is available from an informational banner on the NetSuite Enable Features page. After you click this link, you can click the Request Login button to access the Recruitment form through Oracle SSO. On the Recruitment form, you are required to identify an authorized user who can sign to accept the Oracle Cloud Services Beta Trial License Agreement. After this Agreement is fully executed by an authorized user through completion of this form, the requested feature is available for enablement on the Enable Features page. For more information, see Accessing Oracle NetSuite Umbrella Beta Program Features. As of 2021.1, you can execute requests asynchronously in REST web services. The asynchronous execution of requests is useful for long-running requests. Asynchronous processing is available for the REST records service. It is not available for the REST query service. When you send an asynchronous request, the request is sent to REST web services, where it is placed in a processing queue and handled asynchronously with other requests. Your client application does not wait SuiteTalk Web Services Integration 77 for a response. After a job is submitted, a job Id is returned in the REST web services response. The job ID is used by the client application to check the status and result of the request. Asynchronous processing can be useful if you expect your connection to NetSuite to be slow or unstable. For more information, see the help topic REST Web Services Request Processing. Body Field Selection on Single Resources in REST Web Services As of 2021.1, you can retrieve specific body fields of a record by using the GET method. You can use a request similar to the following to specify the list of fields you want to retrieve: GET https://demo123.suitetalk.api.netsuite.com/record/v1/customer/107?fields=companyName,email,entityId The response contains only the fields you specify in the request. You can selectively retrieve body fields, but the selective retrieval of sublist and subrecord fields is not supported. For more information, see the help topic Getting Body Fields on a Record Instance. Changes in the Returned Format of Enumerator Field Values Prior to 2021.1, the values of enumerator fields were returned in an enumeration-key format, and the internal ID of the enumerator field was used in the REST response. As of 2021.1, both the internal ID and the UI label of enumerator fields are returned by default. You can use the simpleEnumFormat query parameter in REST web services to control the format in which enumerator field values are returned. If the simpleEnumFormat parameter is not used, enumerator field values are returned in the new format. If the simpleEnumFormat parameter is set to true, only the internal ID of the enumerator field is returned. The following example shows a response returned in the new format: GET /record/v1/contact/81 { “globalSubscriptionStatus”: { “id”: “2”, “refName”: “Soft Opt-Out” } } Additionally, when you use the POST, PATCH, and PUT operations, you can use internal IDs and reference names to specify enumerator field values in the REST request body in both formats. Prior to 2021.1, the field values could only be changed by using internal IDs. It is recommended that you start using the new format in 2021.1. For more information, see the help topic Format of Enumeration Values. Removal of Main Record IDs from SuiteBilling Subrecords As of 2021.1, the subrecords of the subscription, subscription plan, price book, and price plan records no longer include fields that are IDs of the main record. For example, the SuiteTalk Web Services Integration 78 SubscriptionPlan.SubscriptionPlanMember.subscriptionPlan field is being discontinued because it is the same as SubscriptionPlan.id. The following table contains the discontinued SuiteBilling fields and the equivalent fields that you should use instead: Discontinued Field Equivalent Field subscription.priceInterval.subscription subscription.id subscription.subscriptionLine.subscription subscription.id subscriptionPlan.member.subscriptionPlan subscriptionPlan.id priceBook.priceInterval.priceBook priceBook.id pricePlan.priceTiers.pricePlan pricePlan.id If you are using a discontinued field, change your integration to use the equivalent field instead as outlined in the preceding table. For more information about working with these record types, see the following help topics:
- Price Book
- Price Plan
- Subscription
- Subscription Plan Support for Formula Field Names in Datasets Prior to 2021.1, if you used formulas in datasets, the formula field was returned in the REST response as the field ID instead of the evaluated formula expression. As of 2021.1, when you execute a dataset in REST, the user-defined name of the formula field is returned as the field ID for the formula field. You can define formula field names when you define a dataset in the SuiteAnalytics Workbook UI. For information about defining datasets, see the help topic Defining a Dataset. For information about creating formula fields, see the help topic Creating Formula Fields in SuiteAnalytics Workbook. For information about working with datasets in REST web services, see the help topic Working with SuiteAnalytics Datasets in REST Web Services (Beta). Support for Paging in Dataset Lists As of 2021.1, you can use collection paging when you list all datasets. To list all existing datasets and page through the results, send a GET request similar to the following: GET https://demo123.suitetalk.api.netsuite.com/services/rest/query/v1/dataset/?limit=10&offset=10 The request returns 10 items on the list, starting from the second page of the results, from the 11th item. For more information about working with datasets in REST web services, see the help topic Getting a List of Datasets Through REST Web Services. For information about paging, see the help topic Collection Paging. SuiteTalk Web Services Integration 79 New Option for Integration Record to Support OAUTH2 Authorization Flow When you work with REST services or RESTlets, you can now use public clients in the OAuth 2.0 Authorization Code Grant flow for integration records. To do so, check the Public Clients box when you edit or create the integration record in the UI. For more information, see PKCE for Public Clients. Changes in Error Codes Returned in REST Web Services As of 2021.1, the following changes have been introduced in the error codes returned by REST web services:
- Instead of certain INVALID_VALUE error codes, a more precise NONEXISTENT_FIELD error code is returned.
- Instead of certain NONEXISTENT_ID error codes, a more precise NONEXISTENT_EXTERNAL_ID error code is returned.
- Instead of certain INVALID_PARAMETER error codes, a more precise INVALID_HEADER error code is returned. For more information about error codes, see the help topic Error Handling in REST Web Services. New Default Value of Available Without Login Field for File Cabinet Uploads As of the 2021.1 endpoint, the default value for the Available Without Login field when uploading images and web site hosting files to the File Cabinet is set to false. For endpoints prior to 2021.1, the default value is true. For more information, see Change to Default Setting for Available Without Login. Deprecation of the Inbound Single Sign-on Feature As of the NetSuite 2021.1 release, the ssoLogin and mapSso operations are no longer available. This affects all endpoints, and even though the SOAP schema remains for older endpoints, the methods are not working. For more information about the deprecation, see Deprecation of the NetSuite Inbound Single Sign-on Feature and the Help topic Inbound Single Sign-on. Changes for Name and Display Name Fields on Account Record In the NetSuite 2021.1 release, the account record’s Name field and its localized versions no longer display their associated account number. Instead, only the Display Name field displays the account number if you set the Use Account Numbers preference. This change affects the Name field behavior also for the 2020.2 endpoint. When the Use Account Numbers preference is set to true, the Name field only includes the account name, and not the account number. When Use Account Numbers is false, both the Name and DisplayName fields display the account SuiteTalk Web Services Integration 80 name only. The following table summarizes the behavior of Name and Display Name in the affected SOAP endpoints: SOAP Endpoint Version Name DisplayName 2021.1 Account Name Account Number + Account Name 2020.2 Account Name Account Number + Account Name 2020.1 and older Account Number + Account Name N/A Endpoints 2020.1 and earlier will not be affected. Important: If you use a SOAP-based integration with the 2020.2 endpoint, you should review and update your integration for this change or upgrade to the 2021.1 endpoint. For more information, see Changes to Name and Display Name Fields on Account Record. SOAP Web Services Version 2021.1 SOAP web services version 2021.1 is available. When your implementation is upgraded to 2021.1, the 2021.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 2021.1 Endpoint The Araxis Merge diff file highlights the schema changes between the 2020.2 and 2021.1 endpoints.
- About the Araxis Merge Diff File
- Using the Araxis Merge Diff File About the Araxis Merge Diff File NetSuite publishes an Araxis Merge diff file for every new endpoint. Depending on the scope of the release, changes described in the Araxis Merge 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
- New platform operations Using the Araxis Merge Diff File Important: The screenshots in this section are for illustrative purposes only. They do not reflect changes related to any specific endpoint. The Araxis Merge diff file is generated using Araxis Merge. When you click the Araxis Merge diff file link (when it is available), a page appears that offers an overview of all schema changes. SuiteTalk Web Services Integration 81 The following screenshot shows how this summary page looks. In this example, the highlighted rows 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 on the right, or click the name of the file in either column. When you click any of these links, the Araxis Merge diff file shows a page with two columns. The previous version of the file is displayed on the left, and the new version is displayed 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 Araxis Merge 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. 2021.1 SOAP Schema Browser The 2021.1 version of the SOAP Schema Browser is now available. You can find links to the SOAP Schema Browser in several places, including the following:
- The help topic titled SOAP Schema Browser.
- The reference page for each supported record in the SOAP Web Services Records Guide. The SuiteTalk SOAP Web Services Records Guide is available in the NetSuite Help Center and can be downloaded as a PDF from the User Guides topic. SuiteCloud SDK 82 SuiteCloud SDK SuiteCloud Software Development Kit (SuiteCloud SDK) is a set of tools you can use to develop SuiteCloud Development Framework (SDF) projects. These tools are the SuiteCloud IDE plug-ins and command-line interfaces (SuiteCloud CLI). SuiteCloud SDK for 2021.1 includes the following features and updates:
- 2021.1 SuiteCloud CLI for Java Is Now Available
- 2021.1 SuiteCloud CLI for Node.js Is Now Available
- 2021.1 SuiteCloud IDE Plug-in for WebStorm Is Now Available
- 2021.1 SuiteCloud IDE Plug-in for Eclipse Is Now Available
- account:ci Command Renamed to account:savetoken in SuiteCloud CLI for Node.js
- Installation Preferences for SuiteApps in SuiteCloud CLI
- Installation Preferences for SuiteApps in SuiteCloud IDE Plug-ins
- New dryrun Option for the project:deploy Command in SuiteCloud CLI for Node.js
- Overwriting File Included in SuiteApp Projects
- Setup Multiple Accounts with Run/Debug Configurations in SuiteCloud IDE Plug-in for WebStorm
2021.1 SuiteCloud CLI for Node.js Is Now Available
SuiteCloud CLI for Node.js is now available for download. To install it, see the help topic Installing CLI for
Node.js.
CLI for Node.js is a tool that you can use as a stand-alone application, or in combination with your
preferred code editor, to develop SDF projects. This CLI is optimized for the end-user experience. It is
interactive and guides you through all the steps of the communication between your local project and
your account. For more information about CLI for Node.js, see the help topic CLI for Node.js Guide.
Each version of CLI for Node.js in npm works optimally with a specific NetSuite version. In the following
table, check the npm version for NetSuite 2021.1:
Version in npm Version in NetSuite
2.0.X 2021.1
SuiteCloud CLI for Node.js is an open-source project published in the npm Registry. To get the latest
changes, see SuiteCloud CLI for Node.js.
2021.1 SuiteCloud CLI for Java Is Now Available
SuiteCloud CLI for Java is now available for download. To install it, see the help topic Installing CLI for Java.
CLI for Java is a tool that you can use as a stand-alone application, or in combination with your preferred
code editor, to develop SDF projects. 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 plug-ins. For more information about CLI for Java, see the
help topic CLI for Java Guide.
SuiteCloud SDK 83
CLI for Java is supported on Windows, Linux, and Mac OS X. For more information, see the help topic CLI
for Java Installation Prerequisites.
2021.1 SuiteCloud IDE Plug-in for WebStorm Is Now
Available
SuiteCloud IDE plug-in for WebStorm is now available for download. For more information, see the help
topic Update SuiteCloud IDE Plug-in for WebStorm.
Important: When your account is upgraded to 2021.1, your IDE plug-in for WebStorm is not
updated automatically to the 2021.1 version. After your account upgrade, you must manually
update the IDE plug-in for WebStorm.
2021.1 SuiteCloud IDE Plug-in for Eclipse Is Now Available
SuiteCloud IDE plug–in for Eclipse is now available for download. For more information, see the help topic
Updating Eclipse for Use with SuiteCloud IDE Plug-in.
Important: When your account is upgraded to 2021.1, your IDE plug-in for Eclipse is not
updated automatically to the 2021.1 version. After your account upgrade, you must manually
update the IDE plug-in for Eclipse.
New dryrun Option for the project:deploy Command in
SuiteCloud CLI for Node.js
This release note was updated March 24, 2021.
The project:deploy command offers the dryrun option, which runs a preview of your deployment
process. For example, suitecloud project:deploy —dryrun. Your project, however, is not actually
deployed.
The dryrun option is not compatible with interactive mode. To use it, you need to run project:deploy in
non-interactive mode.
Important: The dryrun and the validate options are mutually exclusive. That is, you can only
use one of them at a time.
For more information, see the help topic project:deploy.
account:ci Command Renamed to account:savetoken in
SuiteCloud CLI for Node.js
The account:ci command has been renamed to account:savetoken in SuiteCloud CLI for Node.js. In
addition, the savetoken option has been removed, so to save a TBA token, enter a command similar to the
following:
suitecloud account:savetoken —authid MyNetSuiteDevRole —tokenid 1234567 —tokensecret 1234567
SuiteCloud SDK 84
For more information, see the help topic account:savetoken.
Installation Preferences for SuiteApps in SuiteCloud CLI
The applycontentprotection option has been renamed to applyinstallprefs in SuiteCloud CLI for Java
and SuiteCloud CLI for Node.js. Although you can still use the former applycontentprotection option, you
should use the applyinstallprefs option starting from 2021.1 SuiteCloud CLI plug–in.
This option now includes the configuration set up in the overwriting.xml file, which has been introduced in
2021.1. For more information, see New Installation Preferences Configuration for Script Deployments in
SuiteApp Projects.
Important: The applycontentprotection will be deprecated in 2021.2.
Installation Preferences for SuiteApps in SuiteCloud IDE
Plug-ins
The Apply Content Protection check box has been renamed to Apply Installation Preferences in
SuiteCloud IDE plug-in for WebStorm and SuiteCloud IDE plug-in for Eclipse. This check box applies to all
the files inside the InstallationPreferences folder.
This option now includes the configuration set up in the overwriting.xml file. For more information, see
New Installation Preferences Configuration for Script Deployments in SuiteApp Projects.
SuiteCloud SDK 85
Overwriting File Included in SuiteApp Projects
When you create a SuiteApp project in SuiteCloud SDK, it includes an overwriting.xml file inside the
InstallationPreferences folder. The following is an example of an overwriting.xml file: