NetSuite ReleaseNotes - 2020.2.0
NetSuite ReleaseNotes - 2020.2.0
2 Release Notes 1
Important: This document summarizes the changes to NetSuite between 2020.2 and the
previous release.
Ensure you review the release notes section of the Help Center Weekly Updates for a list of the
changes made in this build of the release notes.
The 2020.2 enhancements and changes listed in this document are not available to customers until they
are upgraded to NetSuite 2020.2. Please check the version number at the bottom of your Home page if
you are unsure which NetSuite version you are using. The features and SuiteApps described here may not
be available in your NetSuite account. Your access to these features and SuiteApps is subject to the terms
of service in your NetSuite contract. Some features may require extra purchase.
NetSuite
NetSuite · Accounting
NetSuite · Administration
NetSuite · Authentication
■ OAuth 2.0 Proof Key for Code Exchange (PKCE) Available for Confidential Clients
■ Deprecation of Google OpenID SSO and NetSuite Inbound SSO Features
■ OpenID Connect (OIDC) Relying Party-Initiated Logout for NetSuite UI
■ Embedding Sensitive Website Pages in an iFrame is Prohibited
■ Addition of Logout Entries to Login Audit Trail
■ New Design of Login Pages in NetSuite UI
■ Recent Changes in NetSuite Service Provider Metadata
■ View Unencrypted Credit Cards Permission Now Requires Two-Factor Authentication (2FA)
NetSuite · Banking
NetSuite · Internationalization
■ Intercompany Framework
■ System-Generated Representing Entities
■ Transaction Pairing
■ Subsidiary Limit Increased
■ Introducing Worldwide Support for Phone Number Formatting
■ Manage Translations (Beta) Enhancements in NetSuite 2020.2
■ Record Localization Context API Available for Use in SuiteScript 2.0
■ Expanding Record Localization Context Support with New Record Types
■ New Translatable Fields Supported by SDF
■ Localization Context Now Available in Workflows
■ Supply Planning
■ Earliest Sales Order Availability Based on Allocations
■ Inbound Shipment in Supply Allocation
■ Optimize Allocation Fill Rate
■ Earliest Sales Order Availability Based on Allocations
■ Warehouse Management Enhancements
□ Support for Warehouse Locations That Do Not Use Bins
□ Bulk Processing to Stage Large Pick Tasks
□ Tally Scan
□ Packing Enhancements
□ GS1 Bar Code Generation and Label Printing
■ Supply Chain Control Tower Enhancements
NetSuite · Manufacturing
■ Manufacturing Preferences
■ Production Result Trigger in Advanced Manufacturing
■ Manufacturing Mobile Work Order Actual Production Start and End Dates
NetSuite · Mobile
■ My Approvals Enhancements
NetSuite · Projects
NetSuite · Taxation
■ SuiteTax
□ Enhanced Transaction Saving Notifications
□ Automatic Nexus Determination When Selecting Entity
□ U.S. Sales Tax and Canada GST Now Generally Available
□ Canada Data Provisioning Enhancements
□ Automatic Tax Calculation for Shipping in VAT Countries
□ SuiteTax Reports is now Tax Reporting Framework
□ France Localization Enhancements
□ Germany Localization (Beta) Enhancements
□ India Localization SuiteTax Engine SuiteApp Enhancements
□ Ireland Localization
□ Norway Tax Reports
□ Philippine Localization
□ United Kingdom Localization Enhancements
■ Legacy Tax
□ Legacy Tax Support in Tax Reporting Framework
□ Support for Norway Standard Audit File for Tax (SAF-T) Financial Report
□ International Tax Reports Enhancements
▬ Austria VAT Rate Update
▬ Ireland VAT Rate Update
▬ Saudi Arabia VAT Rate Update
▬ Germany VAT Rate Update
□ ANZ Localization
Commerce
Commerce · Commerce Applications
NetSuite · SuiteAnalytics
SuiteCloud Platform
SuiteCloud Platform · SuiteApp Distribution
■ Records Catalog
■ Advance Notice: Upcoming Deprecation of RESTlet Authentication Through User Credentials
■ New N/compress Module
■ Session Preservation for RESTlets and REST Web Services
■ New N/recordContext Module
■ Phone Number Objects Added to the N/format/i18n Module
■ Enhancements to the N/record and N/currentRecord Modules
■ New Parameter Added to validateDelete Entry Point
■ Asynchronous Query and SuiteQL Execution
■ Change for Scripting with Manufacturing Preferences
■ 2020.2 SuiteScript Record Exposures
■ 2020.2 SuiteScript Records Browser
SuiteApps
SuiteApps · SuiteApps (Bundles) Released by NetSuite
■ Accounting SuiteApps
■ Banking SuiteApps
■ Food and Beverage SuiteApps
■ Integration SuiteApps
■ Inventory Management SuiteApps
■ Localization SuiteApps
■ Manufacturing SuiteApps
■ Non-Profit SuiteApps
■ Order Management SuiteApps
■ Projects SuiteApps
■ SuiteBuilder Customization SuiteApps
■ SuitePeople SuiteApps
■ Taxation SuiteApps
■ Vendors, Purchasing, and Receiving SuiteApps
■ Wholesale Distribution SuiteApps
Accounting
NetSuite 2020.2 includes the following enhancements to accounting features:
The only reports affected by this accounting preference are the Revenue Recognition Forecast reports.
When you disable forecast plan creation, these reports no longer include forecasted lines.
When you enable the Currency Exchange Rate Types feature, NetSuite assigns your existing exchange
rates a currency exchange rate type called Default Currency Exchange Rate Type. Currency exchange rate
records gain a new required field called Exchange Rate Type. NetSuite automatically sets the value of the
Exchange Rate Type field to the default on all existing currency exchange rate records. You cannot disable
the Currency Exchange Rate Types feature after you enable it.
NetSuite permits up to three active currency exchange rate types, including the default. You can rename
the default type, but you cannot make it inactive. Each currency exchange rate type must have a unique
name. For more information, see the help topic Currency Exchange Rate Types.
■ All balancing segments preferences and setup processes are now on the Balancing Segments subtab
in Setup > Accounting > Accounting Preferences (Administrator). You can now select which custom
segments are balancing segments in this subtab, and the Balancing checkbox on custom segment
forms has been removed. The Balancing Segments subtab now also includes the following:
□ A General group which includes all general preferences for the Balancing Segments feature
□ A Default Accounts group which includes fields to select Intersegment Due To, Due From, and Cash
accounts
□ Fields from which to select accounts to use with specific transaction types
For more information, see the help topic Balancing Segments Preferences.
■ A new Payments Use Transaction Line Segmentation preference adjusts payments using balancing
journals and an intersegment cash account. When you run the balancing by segments process,
NetSuite creates balancing journal lines which use the cash adjustment account or accounts to
break down the payment by the line segments on the paid transaction. To use this feature, enable
the Payments Use Transaction Line Segmentation preference in the Balancing Segments subtab in
Accounting Preferences.
For more information, see the help topics Transaction Line Segmentation on Payment Transactions,
Configuring Intersegment Accounts, and Balancing Segments Preferences.
■ The new InterSegment Elimination feature reverses autobalancing lines posted by balancing journals
when using different InterSegment Due To and Due From accounts. When you enable the feature,
you create an elimination segment that NetSuite uses to reverse any autobalancing lines. To enable
this feature, check the new Enable InterSegment Elimination box in the Balancing Segments subtab in
Accounting Preferences.
For more information, see the help topics Reversing Balancing Segment Intersegment Lines,
Configuring Intersegment Accounts, and Balancing Segments Preferences.
■ A new Update the Balancing Journal on Process Re-Run preference updates balancing journals when
the process is re-run instead of deleting them and creating new balancing journals.
For more information, see the help topic Balancing Segments Preferences.
For more information about these enhancements and balancing by segments, see the help topic
Balancing Segments and Journals.
■ Print the general ledger impact for transactions from all accounting books, including secondary books.
■ Print a transaction’s general ledger impact directly from a transaction form.
■ Print the general ledger impact for transactions using SuiteScript 2.0. For more information, see the
help topic Printing the GL Impact Using SuiteScript.
■ Print separate general ledger impact statements for each subsidiary for intercompany transactions.
■ Filter and select which general ledger impact statements to print in bulk based on general ledger
number, document number, or transaction number.
For more information on GL Impact Printing, see the help topic Printing the GL Impact for a Transaction.
In new accounts, NetSuite creates automatic memorized transactions as the last user who edited the
memorized transaction definition. When you set this preference, NetSuite creates automatic memorized
transactions as a –System– user.
When not set, this preference enables you to use server-side scripting and SuiteFlow with automatic
memorized transactions.
For more information, see the help topics Memorized Transactions and Setting General Account
Preferences.
You can create new country and currency combinations in the following ways:
For any combination of country and base currency, you can still create as many subsidiaries as you need
in that country and currency. For example, if you have a license for the combination of Germany and the
Euro, you can create as many subsidiaries for that combination as required.
If this change causes you to exceed your Subsidiary Country/Currency Limit, you must provision more
country and currency combinations to cover your secondary books. Provision more combinations when
any of the following circumstances occur:
For example, if you use the Multi-Book Accounting feature, you may have the following combinations in
your accounting books:
In this example, you must license a total of 5 country and currency combinations in the preceding
circumstances.
Note: Inactive subsidiaries do not count towards your Subsidiary Country/Currency Limit.
For more information on how to deactivate subsidiaries, see the following Help Center and
SuiteAnswers articles:
When you receive a notification that your Oracle Database Update maintenance has been scheduled, you
can reschedule the date and time of the maintenance if the original date and time do not work for your
business needs. To reschedule your Oracle Database Update maintenance, go to Setup > Company >
Customer-Scheduled Maintenance.
Previously, NetSuite domains were specific to the data center where your account was hosted. Links in
the File Cabinet used these data center-specific domains. NetSuite domains are no longer specific to data
centers. Instead, they are account-specific domains, which are domains specific to your account and not
to the data center where the accounts are hosted. For more information, see the help topic URLs for
Account-Specific Domains.
Some files in the File Cabinet contain links that use data center-specific URLs. You should change the
URLs in those files to be account specific. For example, you should change a system.eu2.netsuite.com
File Cabinet link to <accountID>.app.netsuite.com, where <accountID> is a variable representing your
account ID. You can use the Traffic Health feature to identify links that should be updated. For more
information, see the help topic Traffic Health Reports.
If you attempt to create an email template using the data center-specific URL format, you will receive a
warning message instructing you to use an account-specific domain URL instead.
For more information, see the help topic How to Transition from Data Center-Specific Domains.
A new migration tool is available in 2020.2 that you can use to migrate any existing expense attachments
to the new File Cabinet folder structure. The Migration Tool uses internal logic to search all expense
reports for files that should be moved to the new predefined user folders. Before completing this
migration, you should test the expense changes with your customizations in a sandbox account. When
you are ready to migrate the files in production, you can perform the migration immediately. Optionally,
you can use the Migration Tool to schedule the migration for a future date.
In a future release, customers will be required to use predefined user folders and a migration will be
scheduled for any customers who have not already moved their files. You are encouraged to migrate your
files to the secure structure at your earliest convenience.
For more information, see the help topic Expense Report Attachments Migration Tool.
Before your account is upgraded to 2021.1, make sure that any customizations in your account that are
running under the Full Access role work under another role without causing any errors.
The following changes were made to the Full Access role as of 2019.1:
For more information, see the help topics Full Access Role, Customizing or Creating NetSuite Roles, and
Core Administration Permissions.
The following improvements have been made to System Notes v2 to include date filtering and improved
search capabilities:
■ Search now includes all data in the record history, not just the data currently displayed on the System
Notes page. As you type search terms, the search results display in real time as prominent text.
Matching records are displayed while the query continues to run in the background, enabling you to
browse while the search runs.
■ A new set of date filters is available above the results list. You can choose a predefined time interval or
you can enter a custom date range. Data is immediately filtered based on the selected time interval.
■ You can now enter a page number in the page number field on the upper right to go directly to that
page. The record numbers that appear on the page are also displayed.
For more information, see the help topic Searching and Filtering System Notes v2.
System Notes v2 now supports additional record types. For a list of supported record types, see the help
topic System Notes v2 Overview.
Changes made to Personal Information (PI) Removal in 2020.2 improve usability and performance when
loading a large number of records. To improve load times, the Records column now displays only partial
information about the record.
When more than 10,000 records exist, the range of records that have been loaded appears. You
download records in groups of 10,000. The first 10,000 records load automatically. To load the next
10,000 records, click the double arrows beside the number range. The plus sign (+) beside the number
range indicates there are more records to load.
The following screenshot shows the range of records that have been loaded:
When you enter a term in the Records filter field, results appear as they are found. The range of numbers
adjusts to show the number of records loaded to find the filtered results. If all records were loaded before
you applied the filter, the range of numbers does not change.
For more information, see the help topic Creating and Approving a New PI Removal Request.
Since you cannot customize the Administrator role, the Customize and Edit buttons are not available.
The Administrator role page shows all permissions in the system assigned with Full access level or the
highest access level available for the given permission. It also provides a quick and easy way to see all
users who have the Administrator role assigned.
You can also now select the Administrator role in the Role Permission Differences and compare its
permissions to any other role’s permissions. For more information, see the help topic Showing Role
Permission Differences.
To compare permission differences between two or more roles, go to Setup > Users/Roles > User
Management > Show Role Differences.
As of 2020.2, a new Make Files Available for Company-Wide Usage mass update is available. You can
use it to update the company-wide usage setting in several existing files in the File Cabinet. For more
information, see the help topic Defining a Mass Update.
For more information about company-wide usage, see the help topic Making a File Available to All
Company Users.
For a list of records that support deletion tracking, see the help topic Searching for Deleted Records.
Administration
As of NetSuite 2020.2, enhancements to administration features are grouped as shown in the sections
below.
Authentication
■ OAuth 2.0 Proof Key for Code Exchange (PKCE) Available for Confidential Clients
■ Deprecation of Google OpenID SSO and NetSuite Inbound SSO Features
■ OpenID Connect (OIDC) Relying Party-Initiated Logout for NetSuite UI
■ Embedding Sensitive Website Pages in an iFrame is Prohibited
■ Addition of Logout Entries to Login Audit Trail
■ New Design of Login Pages in NetSuite UI
■ Recent Changes in NetSuite Service Provider Metadata
■ View Unencrypted Credit Cards Permission Now Requires Two-Factor Authentication (2FA)
Cloud Infrastructure
Internationalization
■ Intercompany Framework
■ System-Generated Representing Entities
■ Transaction Pairing
■ Subsidiary Limit Increased
■ Introducing Worldwide Support for Phone Number Formatting
■ Manage Translations (Beta) Enhancements in NetSuite 2020.2
■ Record Localization Context API Available for Use in SuiteScript 2.0
■ Expanding Record Localization Context Support with New Record Types
■ New Translatable Fields Supported by SDF
■ Localization Context Now Available in Workflows
Authentication
NetSuite 2020.2 includes the following enhancements to authentication features:
■ OAuth 2.0 Proof Key for Code Exchange (PKCE) Available for Confidential Clients
The values of the code_challenge and code_challenge_method parameters are verified on the
authorization server when the authorization code is generated. If the parameters are missing, malformed,
or the authorization server cannot read them, the system sends an invalid_request error to the Redirect
URI. The system creates the corresponding error entry in the Login Audit Trail.
When the application sends an access token request, the authorization server calculates the
code_challenge based on the code_verifier provided. If the verification in step 2 fails, the system returns
an HTTP 400 Bad Request response.
Note: In 2020.2 NetSuite does not support PKCE for public clients.
As of 2021.1, the NetSuite proprietary Inbound SSO feature is targeted for deprecation. Partners and
customers with solutions based on these features must update these solutions to use an alternative
inbound single sign-on feature.
OpenID Connect (OIDC) SSO and SAML SSO provide alternatives for inbound SSO access to NetSuite 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.
Important: Before the NetSuite proprietary Inbound SSO feature becomes deprecated, you
can disable the feature for testing purposes. You can disable and re-enable the feature at any
time. To temporarily disable the Inbound SSO feature, go to Setup > Company > Setup Tasks >
Enable Features. On the SuiteCloud subtab, check the Disable Inbound Single Sign-on box.
The SOAP web services ssoLogin operation is part of the proprietary Inbound SSO feature. To avoid issues
after this feature is deprecated, you must update your integrations that use the ssoLogin operation to use
Token-based Authentication (TBA). For more information, see the help topics Token-based Authentication
(TBA) and Token-based Authentication and Web Services.
If the OIDC provider does not support the post logout redirect URL functionality, the redirect can be
based on the OIDC provider’s specific implementation.
■ End Session Endpoint – To automatically populate the end session endpoint, choose Set
Configuration From URL. To manually configure the end session endpoint, select Set Configuration
Manually and enter a valid URL.
■ Post Logout Redirect URL – When a user explicitly logs out of NetSuite, the system redirects the user
to the URL entered in this field. The value of the field must match the value on the OIDC provider’s
side. If you leave the field empty, the user is redirected to the NetSuite visitor home page or to a
different URL, depending on the OIDC provider’s specific implementation.
NetSuite prohibits the presentation of sensitive pages in an iFrame (an inline frame that uses the <iframe>
HTML tag) on Commerce website pages. This prohibition was introduced in January, 2015. As of this date,
browsers no longer rendered login pages presented in iFrames for NetSuite Commerce websites. The
ban against presenting NetSuite pages in an iFrame has been extended to apply to Change Password
and Change Email Address pages as of 2020.2.
In some cases, a user's NetSuite session is ended even when the user has not explicitly logged out of
NetSuite. For example, this situation occurs when a user's NetSuite session times out. If the logout is not
explicit, the system does not create a logout entry in the Login Audit Trail.
Important: If you use the data from the Login Audit Trail for the purpose of counting the
number of successful logins, you should not to include the successful logout entries. You can do
this by filtering out the new values for successful logouts.
Currently, logout entries are not created for SAML SSO logouts initiated by an identity provider.
For more information about the Login Audit Trail, see the help topic Login Audit Trail Overview.
The relevant NetSuite login forms are now in a frame in the middle of the login page. Your company logo
will appear in the upper part of the customer center login form.
Note: The design of the standard login pages not mentioned above has not changed. For more
information, see the help topic Types of Login Pages for Your NetSuite Account.
Previously, when you configured SAML Single Sign-on access to NetSuite, the default Assertion Consumer
Service referred to a data center domain where your account resided. You used this value to configure
the Assertion Consumer Service for your Identity Provider (IdP).
We encourage you to change your SAML SSO configuration for the IdP to use the new default value for
the Assertion Consumer Service. This action supports proper functioning of your SAML SSO configuration
when your data center changes, or when you configure SAML SSO in multiple accounts.
For more information about SAML SSO configuration, see the help topic Configure NetSuite with Your
Identity Provider.
If a user logs in to NetSuite with a role that has this permission, the user is prompted to pass the 2FA
challenge. If 2FA has not yet been set up for the user, the 2FA setup page shows instead. For more
information, see the following topics:
Additionally, a user with the View Unencrypted Credit Cards permission cannot access NetSuite
through integrations that use user credentials as an authentication method. User credentials are not
compliant with the Mandatory 2FA policy. For more information, see the help topic Mandatory Two-Factor
Authentication (2FA) for NetSuite Access. You can use other authentication methods to access NetSuite
through integrations: OAuth 2.0 and Token-based Authentication (TBA).
■ For more information about OAuth 2.0, see the help topic OAuth 2.0.
■ For more information about TBA, see the help topic Token-based Authentication (TBA).
Banking
NetSuite 2020.2 includes the following enhancements to banking features:
To set up a format profile for manual import of corporate card charges, create an implementation of the
new Financial Institution Parser Plug-in. For details on the plug-in, see the help topic Financial Institution
Parser Plug-in Interface Overview.
To set up a format profile for automatic import of corporate card charges, you need to use both a parser
and connectivity plug-in. You can do one of the following:
■ Use the connectivity and parser plug-in available through the new AMEX Corporate Card Integration
SuiteApp. These plug-ins enable you to configure a direct connection to American Express to
automatically retrieve expense data daily.
For information about corporate card integration with American Express, see American Express
Integration for Expense Reports.
■ Use a custom connectivity and parser plug-in built with the Financial Institution Connectivity Plug-
in and Financial Institution Parser Plug-in APIs. These plug-ins enable you to configure a direct
connection to a specific corporate card company, not just American Express.
For information on the Financial Institution Connectivity Plug-in, see the help topic Financial Institution
Connectivity Plug-in Interface Overview.
If you configure automatic import of corporate card charges, you can do the following:
For the overall procedure on configuring corporate card imports, see the help topic Creating Format
Profiles for Expense Reporting.
For details on the corporate card expense reporting process, see the help topic Corporate Card Expenses.
Consequently, you no longer need to manually enter an account transaction for every imported bank line
that does not have a corresponding transaction in NetSuite.
If you import bank lines with a recurring Payor/Payee or Memo, auto-create rules look for imported bank
lines with the transaction type and Payor/Payee specified by the rule. If the imported bank line has no
Payor/Payee, the rule looks for the Memo that was specified.
You do not need to manually create an auto-create rule, because the system generates one provided that
certain criteria are met. For details, see the help topic Generating Auto-Create Rules.
Note: Transactions that are automatically created and matched do not impact your general
ledger account until you submit them on the matching page. For details on submitting
transactions, see the help topic Submitting Transaction Matches.
For information on automatically creating account transactions, see the help topic Automatic Creation of
Account Transactions.
Now, you can manage duplicates directly from the Match Bank Data page. NetSuite automatically stores
imported bank lines flagged as duplicates in the Excluded subtab. If the system misidentifies an imported
bank line as a duplicate, you can include it in the matching process by clicking Restore. See the help topic
Restoring Excluded Bank Data.
For information on the matching process, see the help topic Matching Bank Data.
In NetSuite 2020.2, the new Financial Institution Parser Plug-in interface enables you to import and parse
additional data types, including corporate card expenses. This plug-in interface enables you to develop
SuiteScript plug-ins designed to import the following:
For more details on the Financial Institution Parser Plug-in interface, see the help topic Financial
Institution Parser Plug-in Interface Overview.
For details on the Financial Institution Parser Plug-in interface definition, see the help topic Financial
Institution Parser Plug-in Interface Definition.
If you want to connect to American Express to retrieve corporate card charges, you can use the plug-
ins available through the new AMEX Corporate Card Integration SuiteApp. For details, see the help topic
American Express Integration for Expense Reporting
You can use the Financial Institution Parser Plug-in interface to create and manage plug-ins in NetSuite or
in the SuiteCloud Development Framework (SDF). For information on SDF support for Financial Institution
Parser Plug-ins, see Financial Institution Parser Plug-in Support.
Rather than going to the Import Details page for each import, you can now see import details such as
error messages and delete manual imports from one place. For details, see the help topics Viewing
Imported Banking Data and Deleting Imported Statements.
Troubleshooting Information
The Banking Import History page is a place to audit imports and to troubleshoot issues. If an import fails,
NetSuite displays a Failed status with a red exclamation mark icon.
If you have the Import Online Banking File permission with create-level access at a minimum, NetSuite
displays a specific failure reason in the expanded details.
The following illustration displays a failed import and a corresponding failure reason:
Fewer Columns
The Banking Import History page provides the status of recent imports and helps you troubleshoot
issues. Other information such as the number of imported, automatched, and duplicate bank lines has
been removed. The Next Steps column has also been removed.
For more information, see the help topic Viewing Imported Banking Data.
Cloud Infrastructure
NetSuite 2020.2 includes the following enhancements to cloud infrastructure features:
external Suitelets, and external forms. The Traffic Health tool is available in NetSuite to help you find the
use of data center-specific URLs by the aforementioned services.
As of 2020.2, enhancements to Traffic Health include:
■ Traffic Health now evaluates the NetSuite UI, Commerce sites, inbound email, and the File Cabinet to
identify traffic that is using data center-specific URLs in your account.
□ NetSuite UI: Lists instances of data center-specific versions of the system.netsuite.com domain
in your account. Examples of this type of traffic include:
▬ A link to a saved search.
▬ Something published outside of NetSuite, like browsers.
▬ A previously received email.
▬ A text document.
□ Commerce: Lists requests to the data center-specific shopping or checkout domains, such as
shopping.netsuite.com or checkout.netsuite.com. You should update your external websites
with the account-specific Commerce domains to ensure processing of shopping and checkout
requests. For example, <accountID>.shop.netsuite.com or <accountID>.secure.netsuite.com.
□ Inbound Email: Lists instances of email received by NetSuite on a data center-specific
netsuite.com domain. For example, case capture email (<local part>@cases.netsuite.com) where
the <local part> may include a data center-specific case capture address.
□ File Cabinet: Lists files using data center-specific URLs that were accessed during the reporting
period. You should review and update each file listed so that the URL includes your account-specific
domain.
■ Traffic Health reports now include a new Response Code column.
To access Traffic Health, administrators and other users with the Set Up Company permission can go
to Setup > Company > Company Management > Traffic Health. For more information, see the help topic
Traffic Health.
SOAP Web Services Data Center- RESTlet Data Center-Specific External Forms and External
Specific Domains Domains Suitelet Domains
SOAP Web Services Data Center- RESTlet Data Center-Specific External Forms and External
Specific Domains Domains Suitelet Domains
■ webservices..na2.netsuite.com ■ rest.na2.netsuite.com ■ forms.na2.netsuite.com
■ webservices.na3.netsuite.com ■ rest.na3.netsuite.com ■ forms.na3.netsuite.com
■ webservices.eu2.netsuite.com ■ rest.eu2.netsuite.com ■ forms.eu2.netsuite.com
In NetSuite 2020.2:
■ Requests sent to data center-specific webservices and rest domains will receive an HTTP status code
410 Gone.
■ A temporary redirect service will be in effect for external Suitelets that use the GET method.
■ For external forms, HTTP GET requests to data center-specific forms domains will be redirected to
your account-specific domain URL. HTTP POST or PUT requests to these domains will no longer be
processed in 2020.2. The effect of not processing these requests is that the submission of the external
form will not succeed and any data on the form will be lost.
Important: You should use account-specific domains no matter which HTTP methods are
used by your external forms. The temporary redirects currently in effect for the GET method
may be deprecated in a future release.
In cases where an application accesses more than one NetSuite account, you can use dynamic discovery
methods to obtain the correct URLs. For information about the available discovery methods, see the help
topic Dynamic Discovery of URLs for SOAP Web Services and RESTlet Clients.
All NetSuite account types can still access the following domains for dynamic discovery purposes:
■ webservices.netsuite.com: To dynamically discover the URL for SuiteTalk SOAP web services
requests.
■ rest.netsuite.com: To dynamically discover URLs for NetSuite services in RESTlets or the URL for
SuiteTalk REST web services.
If an email address domain does not have an existing record in DNS, the message for that recipient is
listed in the Sent Email List as Not Sent with the delivery status Skipped. The skipped message is logged
with the reason code Not Sent: No MX or A for domain. You can view this information in the Sent Email
List. You can also view the information in the Undelivered Email Saved Search.
In past releases, email messages sent to a domain that did not have a proper DNS record would have
been added to the Bounced Email Address list as a hard bounce.
■ If neither an MX or A record for the domain exists, the system does not send the email message. In
this case:
□ The system logs the email message as Not Sent.
□ The system logs the recipient as Skipped, with the reason Not sent: No MX or A for domain.
For more information, see the help topics Using the Sent Email List, Using the Sent Email List, and Viewing
the Bounced Email Address List.
Employee Management
NetSuite 2020.2 includes the following enhancements to Employee Management features:
■ Goal Management
■ Performance Reviews
Goal Management
Goal management includes the following:
■ Employee ownership of goals – In collaboration with managers, employees can create and manage
their own goals. Employees can do the following:
□ Name goals
□ Add descriptions
□ Set target values
□ Set start dates and target completion dates
After managers approve goals, employees can change the status of goals to show that the goal is in
progress, completed, not completed or canceled.
■ Manager approval and collaboration – Managers can approve and interact with the goals of their
direct reports. Managers and employees receive notifications about goals at key events. For example,
managers receive notifications when employees create or close goals. Managers and employees can
record decisions and conversations by adding comments to goals.
■ Performance metrics – Performance metrics access real-time data in NetSuite to automatically
update the actual value of a goal. For example, if an employee has a goal to win 10 new customers, the
employee can use the New Customers metric with the goal. The New Customers metric uses data in
NetSuite to find the actual number of new customers that the employee has won since the start date
of the goal. NetSuite provides standard performance metrics, and you can also create your own.
■ Reporting capabilities – You can view and export reports on employee goals.
For more information about goals, see the help topic Goal Management for Employees and Managers.
Performance Reviews
You can manage the performance review cycle in your organization in the following ways:
■ Performance review setup – You can define performance review questions and rating scales, and
then create performance review templates. For more information, see the help topic Performance
Review Setup.
■ Performance review creation – You can assign performance reviews to individual employees and
select a reviewer for the performance review. You can also schedule performance reviews for groups
of employees. For more information, see the help topic Performance Review Process.
■ Goals integration – When employees or reviewers open a performance review in the Employee
Center, they see the goals that the employee worked on during the review period.
■ Review completion – After employees complete self reviews, reviewers can read employees’
responses and add in-line responses. You then approve reviews either individually or by mass update.
After employees read their reviewer’s responses, employees acknowledge their reviews to complete
them.
■ Reporting and search capabilities – You can view and export reports for employee performance
reviews.
For more information about performance reviews, see the help topic Performance Reviews.
The Performance Management feature includes a new permission called Talent Administration. The
standard Human Resources Generalist role includes the new permission. For more information about the
Performance Management feature, see the help topic Goal Management and Performance Reviews.
■ The Edit Banking Information permission is now named Personal Banking Information. In standard
Employee Center roles, the default access level of this permission is now View. To allow employees to
edit or add bank accounts, you should set the access level to Full.
■ When you go to Setup > Payroll > Set Up Payroll, the Employees Can Edit Banking Information box is
now named Employees Can View or Change Banking Information. To enable employees to view or edit
bank accounts, you need to check this box.
■ Employees now access their banking information by clicking My Banking Information in the Home
Links portlet of the Employee Center, rather than clicking Edit Profile.
■ Department
■ Class
Previously, you could assign custom restrictions to the Advanced Employee Permissions defined for a role
that restrict the employee-record data to which a role has access. These custom restrictions included the
Location and Subsidiary options.
Now, you can use the Department and Class options in tandem with the Location and Subsidiary options
to further define a custom restriction. This enables the customer to have better control over the degree
of confidential employee-record data accessible with that role.
For details, see the help topic Creating Custom Restrictions for Advanced Employee Permissions.
■ Enabling Employee Change Requests now enables two existing features – In NetSuite 2020.2,
enabling Employee Change Requests now enables the following features:
□ Compensation Tracking
□ Job Management
■ New changes to roles with the List > Employee permission – In NetSuite 2020.2, roles that have
the List > Employee permission can now view and approve employee change requests when they are
the next approver. The roles with the List > Employee permission with restriction level ‘Edit’ or higher
can now be the final approver when they have the Effective Dating permission at ‘Edit’ or higher.
■ New pre-configured templates for Employee Change Request Types and approval workflows
for Employee Change Request Types – In NetSuite 2020.2, you can now use pre-configured
templates to create and customize Employee Change Request Types and configure approval
workflows for Employee Change Request Types. These templates provide helpful starting points in
creating your own Employee Change Request Types or approval workflows for Employee Change
Request Types.
Employees can click the link in the notification or reminder to see a list of their imported expenses. You
can add imported expenses to a new expense report directly from the imported expenses list. You can
also add imported expenses from an expense report transaction by clicking Imported Expenses and
selecting the expenses you want to add.
For more information, see the help topic American Express Integration for Expense Reporting.
■ set a start date and end date on which the policy is valid
■ define filters for the application of the policy
■ determine how to apply the limit
For example, you can create an expense policy to limit the airfare expenses entered by your sales
department for the month of June. You can also choose to apply the limit per expense report or per day.
Expense reports must satisfy all defined filters to apply a limit. When you select multiple entries for filters,
expense reports must satisfy at least one selection for each applied filter. For example, you create a policy
to apply to airfare and meals for your parent subsidiary. The limit applies to any expense report entered
by a parent company employee with expenses for airfare or meals. The expense report does not have
to include expenses for both airfare and meals. You can also apply expense report policies to specific
projects.
For more information, see the help topic Expense Report Policies.
Internationalization
This release note was updated September 2, 2020.
■ Intercompany Framework
■ System-Generated Representing Entities
■ Transaction Pairing
■ Subsidiary Limit Increased
■ Introducing Worldwide Support for Phone Number Formatting
■ Manage Translations (Beta) Enhancements in NetSuite 2020.2
■ Record Localization Context API Available for Use in SuiteScript 2.0
■ Expanding Record Localization Context Support with New Record Types
■ New Translatable Fields Supported by SDF
■ Localization Context Now Available in Workflows
Intercompany Framework
NetSuite 2020.2 introduces the Intercompany Framework feature. This feature includes new functionality
to help you manage cross-subsidiary business workflows.
The following links provide information on updated or new functionality associated with the Intercompany
Framework feature:
■ Intercompany Preferences
■ Intercompany Framework Subsidiary Configuration
■ Cross Charge Automation
■ Intercompany Netting and Netting Settlement
Intercompany Preferences
When an administrator enables the Intercompany Framework feature or the Automated Intercompany
Management feature, NetSuite provides access to the Intercompany Preferences page. If you have
the Setup Accounting permission, you can define intercompany preferences at Setup > Accounting >
Preferences > Intercompany Preferences.
When you enable the Intercompany Framework feature, you can define default intercompany accounting
preferences and markup rates for cross-subsidiary transactions. If you use the Multi-Subsidiary Customer
feature, you can let NetSuite create and maintain representing entities for all non-elimination subsidiaries.
For more information, see System-Generated Representing Entities and Intercompany Preferences.
When you enable the Intercompany Framework feature, NetSuite adds the Generate Intercompany Cross
Charges task to the Period Close Checklist. This task generates cross charges between subsidiaries that
provided business services to each other. For example, when one subsidiary creates a sales order and
another subsidiary fulfills the order.
During period end close, NetSuite generates a pair of automatically approved cross charges as read-
only intercompany transactions. NetSuite generates one transaction for the initiator subsidiary, and
one for the receiver subsidiary. These cross charges create open intercompany payable and receivable
balances, and appear in the trading currency specified on the Intercompany Preferences page. You can
settle mutual open intercompany balances with intercompany netting. For more information, see the help
topics Generating Intercompany Cross Charges and Intercompany Netting.
The Intercompany Framework feature includes the intercompany netting functionality. Intercompany
netting enables you to settle mutual intercompany open balances across subsidiaries, and then
automatically generate intercompany settlements. When you use this functionality throughout the
accounting period, you reduce the number of open intercompany transactions and receive the following
benefits:
■ Less manual effort spent in reconciling, revaluing, and eliminating open intercompany balances
■ Decreased time spent on payment processing and bank reconciliation
■ Simplified period close process
■ Less time spent in the netting process if you let NetSuite select the nettable open intercompany
balances
■ Generate netting settlement statements for your subsidiaries
NetSuite 2020.2 enables users of the Automated Intercompany Management feature to let NetSuite
generate and maintain intercompany entities for all non-elemination subsidiaries. If you set a prefix for
these entities, you can quickly identify them from any existing, manually-created intercompany entities.
NetSuite creates representing entities each time you add a new subsidiary. When you modify an existing
subsidiary, NetSuite automatically updates the representing entities. When you deleted a subsidiary,
NetSuite deletes the related representing entities. For more information, see the help topic Representing
Entities.
Transaction Pairing
View the New Feature Training for Transaction Pairing. Transaction Pairing is the first training session
in the video.
NetSuite 2020.2 enables you to manually pair intercompany bills with intercompany invoices. If you use
the Intercompany Framework feature, you can use the netting functionality to net paired intercompany
invoices and bills of the same amount.
To begin using transaction pairing, customize the invoice and bill forms to include the new Paired
Intercompany Transaction field. When you record an intercompany invoice for a subsidiary, NetSuite
provides a list of relevant transactions in the Paired Intercompany Transaction list. NetSuite lists
transactions based on subsidiary, entity, currency, and document status. You select the appropriate
transaction by clicking its document number in the Paired Intercompany Transaction list.
After you pair intercompany transactions, you can alter the pairing if there is a mismatch, or edit
and delete any incorrect intercompany transaction. If you review paired transactions throughout the
accounting period, you can decrease the manual effort in intercompany transaction reconciliation prior to
period end close.
During the accounting period, you can also create SuiteAnalytic datasets to view paired transactions. To
view this data, include the Paired Intercompany Transaction field in your dataset. For more information,
see the help topic Pairing Intercompany Transactions.
To enable worldwide support for phone number formatting, navigate to Setup > Company > Enable
Features. In the International section, check the Worldwide Support for Phone Number Formatting
box.
When you enter a phone number in NetSuite, the phone number is formatted according to the following
rules:
■ If the number you entered is the same country as your subsidiary, the system omits the country code
and formats the number according to valid national standards.
■ If the number you entered is a different country than your subsidiary, the system keeps the number in
the international format and formats the number according to the standards of the given country on
the basis of the used country code.
Note: This feature only formats valid telephone numbers. If you enter an invalid number, such as
all zeroes, the number will not be formatted.
The Worldwide Support for Phone Number Formatting feature introduces two new SuiteScript formatting
objects: format.PhoneNumberFormatter and format.PhoneNumberParser.
For more information about these formatting methods, see Phone Number Objects Added to the N/
format/i18n Module.
This applies to any phone number entered on records, entry forms, and other forms or places in the
NetSuite application.
The phone number formatting is only applied after you open the record containing the respective
phone number and access or edit the given phone number field. The maximum length of the field is 32
characters.
This feature does not automatically affect the existing phone numbers already saved in the NetSuite
application. The saved phone numbers are not reformatted unless you open the record containing the
number and access or edit the given field.
This hierarchy has been introduced to support consistency of translations across the NetSuite application
and SuiteApps.
As of NetSuite 20.2, in connection to the introduction of the string hierarchy, you can now define the
following groups of strings with varying properties:
■ Parent Strings
■ Child Strings
■ Stand-Alone Strings
For more information about parent, child, and stand-alone strings, see the help topic Manage
Translations (Beta) or Globalization Glossary.
Parent Strings
A parent string passes its description and translations to its child string. You can create a parent string in
either the UI or in SDF as part of a Translation Collection. A parent string is included in a collection and its
contents, such as description and translations, can be edited.
Child Strings
You can create a child string in the UI by linking a stand-alone string to a parent string. The child string
inherits all parent string data including translations and references to the Translation Collection. You can
unlink a child string from its parent string and make it a stand-alone string. When you do so, the child
string retains the translations from the parent string, but the child string is not updated when the former
parent string is changed.
Stand-Alone Strings
A stand-alone string is created when you create a custom object or record. When you delete the custom
object or record, the corresponding stand-alone string is also deleted. You cannot create or delete stand-
alone strings in the Manage Translations (Beta) UI. You can link stand-alone strings to parent strings and
create child strings in the Manage Translations (Beta) UI.
3. Next to the parent string that you want to link the stand-alone string to, click Select.
See the image below for a view of the three types of translation strings:
1. Stand-Alone String
2. Parent String
3. Child String
NetSuite 2020.2 introduces the Used In and Used As fields in the UI. These fields were added to provide
useful context for customers, partners, or translators. The Used As field represents the category of the
translation string and the Used In field represents the location of the translation string in NetSuite.
For more information, see the help topic Translatable Fields on Custom Objects.
For more information about the Manage Translations (Beta) application, see the help topic Manage
Translations (Beta).
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.
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.
For more information, see Additional Translatable Fields Support for Translation Collection
Customizations.
For a list of supported translatable fields, see the help topic Translatable Fields Supported in Custom
Objects.
For more information, see Filter Workflow Executions by Localization Context Support.
For more information about Record Localization Context, see the help topic Localization Context.
Inventory Management
NetSuite 2020.2 includes the following enhancements to inventory management features:
■ Supply Planning
■ Earliest Sales Order Availability Based on Allocations
■ Inbound Shipment in Supply Allocation
■ Optimize Allocation Fill Rate
■ Earliest Sales Order Availability Based on Allocations
■ Warehouse Management Enhancements
□ Support for Warehouse Locations That Do Not Use Bins
□ Bulk Processing to Stage Large Pick Tasks
□ Tally Scan
□ Packing Enhancements
□ GS1 Bar Code Generation and Label Printing
■ Supply Chain Control Tower Enhancements
□ Alternate Vendor Recommendation for Late Purchase Orders
□ Predicted Risks for Sales Orders
■ Quality Management Enhancements
■ Actual vs. Theoretical Variance Reports
■ Auto Assign UPC SuiteApp General Availability and Enhancements
Supply Planning
NetSuite 2020.2 introduces a new Supply Planning tool that can help supply planners determine how to
best establish criteria to fulfill Demand Plan requirements. Supply planning takes sales order details to
generate dependent demand for work order components. The tool enables you to balance supply and
demand to achieve your organization’s financial and service objectives.
The NetSuite Supply Planning process starts when one transaction, or a combination of transactions
(Purchase Order, Transfer Order, or Work Order), are created or initiated. The Item Demand Plan records
the expected future demand for an item based on previous or projected demand, and inventory supply is
matched to demand sources. All this information is stored in the Planning Repository.
This process runs in the background to update the planning data repository which stores data for the
Materials Requirements Plan (MRP) run on the supply plan. The planning repository selects all items in the
supply plan setup in the Replenishment Method field.
■ Define and save supply planning criteria, such as planning horizon, items, locations, and planning
rules.
■ Refer to multiple plans for comparison.
■ Plan output for integration.
■ Copy a plan and modify its criteria to use in “what-if” analysis.
■ Create multiple plans by product line for “what-if” analysis.
■ Control items, locations, and associated demand sources for the plan.
■ Launch a supply plan for processing.
■ How demand and the corresponding supply orders align with their due dates.
■ Inventory levels for all items used by your organization.
■ The issues that could delay the demand order schedule.
■ Possible actions from processing planned orders to processing supply orders.
■ Respond when important supply orders are in danger of not meeting demand orders.
■ Review, modify, create, and release planned orders.
■ Schedule in, schedule out, and cancel supply order suggestions.
■ Create summary pages by item and location, or across all items and locations. This enables you to drill-
down into the numbers, through hierarchical pegging.
To learn more, see the help topic The Supply Planning Workbench.
To learn more, see the help topic Implement and Approve Orders or Implement and Approve Orders.
Supply Allocation considers the multiple Inbound Shipments and purchase orders to be multiple sources.
Inbound shipments in supply allocation treat each shipment, and its related purchase order, as separate
sources of supply and allocates them to demand orders.
■ Refine a single purchase order line into multiple supply events and allocate each event by their own
date of supply.
■ Direct the supply to a location other than the purchase order location.
■ Commit the received inventory to the allocated demand order.
NetSuite reconciles the purchase order allocations and related inbound shipments, for the following
reasons:
■ To ensure that the total available supply is not counted twice, the purchase order supply quantity is
reduced by the related inbound shipment quantity.
■ The remaining order supply quantity and shipment item receipts are updated by location.
■ The quantity received for all shipments for the purchase order is recorded on the order.
The Inbound Shipment feature adds another option to the Order Allocation Strategy form as a Future
Inventory Order Type.
A new Allocated Demand column appears on the Inbound Shipment form. The numbers in this column
are hyperlinked to the Allocated Demand page. The Allocated Demand window displays the data of all
allocations associated with the Inbound Shipment line.
To learn more, see the help topic Inbound Shipment in Supply Allocation.
In the Sales Order, Items subtab, the Supply Required by Date column displays a new Earliest Availability
link. Clicking this link opens the Earliest Availability page to display the following order line attributes:
■ Item
■ Quantity
■ Supply Required by Date
■ Allocation Strategy
■ Location
■ Computed Available Date
After you close the Earliest Availability window, the computed earliest available date replaces the Supply
Required by Date on the sales order. All updates to attributes on the Earliest Availability window are
reflected on the order line.
To learn more, see the help topic Available to Promise Earliest Availability.
The new NetSuite Allocation Processing Option list appears in the Allocate Orders and Order Allocation
Schedule forms. From this list, Using Fill Rate Optimization prompts NetSuite batch allocation logic to
calculate the number of order lines it can allocate on time.
NetSuite allocates the existing supplies to satisfy as many order lines as possible based on the following
parameters:
Beyond the optimization priorities, Supply Allocation follows the allocation preferences and the allocation
strategy for each order.
Warehouse Management provides the following enhancements for orders released in wave transactions:
■ In NetSuite 2020.2, you can view and update values in the new Pick Carton and Pack Carton fields of
the Inventory Detail subrecord. NetSuite WMS automatically updates these fields as you complete the
picking and packing tasks for orders released in wave transactions.
Note: If you have transitioned to use the new capabilities available in NetSuite WMS Version
2019.2 and later, NetSuite WMS automatically migrates your data from existing carton fields to
the new fields. After your scheduled NetSuite 2020.2 upgrade, this data migration is scheduled
to initiate during the upgrade for your NetSuite WMS bundles. To prepare for this migration,
refer to the email notice, PFCN: Impact of NetSuite WMS Version 2020.2 Functionality on
Existing Customizations.
■ On wave transactions, NetSuite WMS displays a warning message for any detected discrepancy issues
regarding its orders. Waves with discrepancy issues may contain pick tasks in In Progress status that
do not reflect the current status of the orders. Additionally, the orders in a wave may be associated
with other waves that also have pick tasks in the same state. The warning message includes a link that
enables you to resolve these issues for all affected waves. For more information, see the help topic
Updating Waves and Handling Wave Issues.
This capability applies to locations that have the Use Warehouse Management box checked and the Use
Bins box cleared. Items may have the Use Bins box checked or cleared.
If you use custom roles for picking and other warehouse processing tasks, make sure that they have the
SuiteScript Scheduling permission in Full level. To review the permissions for outbound processing tasks,
see the help topic Warehouse Management Permissions.
Tally Scan
Each time you scan an item, item alias, a GS1, or composite bar code, you automatically increment by
one the value of the appropriate quantity field on the mobile page of a process. Tally scan supports the
standard mobile process or a custom one for single and multiple order picking.
Packing Enhancements
NetSuite WMS provides the following packing enhancements for orders released in wave transactions:
■ Packing now supports non-inventory for sale and for resale item types that have the Can Be Fulfilled/
Received box checked on the item record. It does not support other charge items.
■ For the supported non-inventory item types, you can pack only the full ordered quantity in a carton
and not any partial quantities.
■ When you manually pack orders, you can enter pack carton details, including the carton name, weight,
and dimensions. NetSuite WMS automatically updates the associated item fulfillment records on which
you can view the pack carton details.
■ If you manually pack orders, you can activate the Use custom packing lists? system rule that enables
you to set up custom PDF packing lists. NetSuite WMS provides the default packing list in the
wms_sl_CustomPrintpacklist.js script. You can copy this script and customize the PDF packing list
according your business requirements.
For more information about packing enhancements, see the help topic Packing Orders or Manually
Packing Orders and Printing Packing Lists.
The generated bar codes for printing contain only the following supported attributes or GS1 application
identifiers:
■ Item
■ GTIN
■ Quantity
■ Unit of measure
■ Lot number and expiry date
■ Serial number
Custom mobile processes and custom application identifiers are not supported.
For more information or setup requirements, see the help topic Mobile Printing for NetSuite WMS or
Creating Item Aliases, respectively.
NetSuite 2020.2 adds sales orders to this predicted risk feature. The predictions appear in the Predicted
Risks portlet of the Supply Chain Control Tower. If there is no existing data, the feature uses the specified
values in the location record.
This feature requires a history of data to create a trained model from which predictions can be made.
When you enable the Supply Chain Predicted Risks feature, the feature performs the following steps:
NetSuite 2020.2 introduces an alternate vendor recommendation for late purchase orders, so that you
can select another vendor instead of the original one.
Manufacturing
NetSuite 2020.2 includes the following enhancements to Manufacturing features:
■ Manufacturing Preferences
■ Production Result Trigger in Advanced Manufacturing
■ Manufacturing Mobile Work Order Actual Production Start and End Dates
Manufacturing Preferences
Before 2020.2, to access manufacturing preferences, you would go to Setup > Accounting > Accounting
Preferences and then click the Order Management subtab.
With the release of NetSuite 2020.2, to access manufacturing preferences, you now go to Setup >
Manufacturing > Manufacturing Preferences.
As a result of this change, some accounting preferences that are now in manufacturing preferences
are not accessible using the nlapiLoadConfiguration method. However, you can use the getPreference
method to access these read-only preferences.
Preferences copied to manufacturing preferences can also be accessed in accounting preferences. For
example, the Copy as Editable to Manufacturing Preferences list stays in accounting preferences and is
also available in Manufacturing Preferences.
Mobile
NetSuite for iOS 9.4 includes the following enhancements to NetSuite for Mobile features:
■ My Approvals Enhancements
My Approvals Enhancements
NetSuite for iOS 9.4 includes the following enhancements to the My Approvals feature. Managers can:
Order Management
NetSuite 2020.2 includes the following enhancements to order management features:
For more information, see the help topic Creating a Subscription from a Transaction.
Use the standard workbook template for analytics on recurring revenue, churn, upsell, downsell, and
renewal revenue for all your subscriptions. Customize views with additional filters and data by modifying
the workbook template and dataset template. Choose to visualize the data as a table, chart or pivot. The
dataset template is based on the recurring revenue record.
The workbook lets you compare revenue trends and details through the following customizable views:
■ Monthly Recurring Revenue Year-over-Year
■ Current Month Recurring Revenue
■ Monthly Recurring Revenue by Class
■ Recurring Revenue Sources
■ Upcoming Renewals
■ Top 10 Performing Items Last Month
For more information, see the help topic Monthly Recurring Revenue Workbook.
Invoice Groups
Use the Invoice Groups feature to combine invoices for your customers. Combine invoices into groups
based on characteristics the invoices share. A customer can have multiple invoice groups based on the
different criteria for each group.
An invoice group is not a transaction, but it functions similarly to an invoice. You can use an invoice group
to complete the following tasks:
Invoice groups work with SuiteFlow, they appear in searches and in reports, and they can appear on
customer statements.
Invoice groups do not post to the general ledger. Invoices within the invoice group post to the general
ledger. After an invoice group is created, you can add or remove invoices from the group.
Enable the Invoice Groups feature by going to Setup > Company > Enable Features. On the Transactions
subtab, check the Invoice Groups box.
For more information on the Invoice Groups feature, see the help topic Invoice Groups Overview.
■ Split Evenly
■ Pay Tax Upfront
The invoice record and sales order record indicate the tax method used, but it is only editable on the term
record.
If you have multiple subsidiaries, you can select a default tax allocation method for each subsidiary on
the Invoicing Preferences page. The default method you choose is inherited by the Subsidiary field on the
invoice record.
For more information on the Installments feature, see the help topic Creating Installments.
For more information on the Invoicing Preference page, see the help topic Global Invoicing Preferences.
For more information, see the help topics Creating Items for Subscription Plans and Creating a New
Stand-Alone Subscription.
■ an amount on the Items subtab for each line item in the Required Deposit Amount column
■ an amount for the whole sales order in the Required Deposit Amount field on the Items subtab
■ a percentage for the whole sales order in the Required Deposit Percentage field on the Items subtab
Enable the Required Deposit Workflow feature by going to Setup > Company > Enable Features. On the
Transactions subtab, check the Required Deposit Workflow box. You must select the Standard Sales Order
– Invoice in the Custom Form sales order field for the feature to work.
If you change any value, all remaining values related to the required deposit are automatically
recalculated.
Imagine the following example scenario: you add two different items with the Unit Price of 20 USD, and
set the value of the Required Deposit Amount column to 10. The sales order total amount is now 40 USD.
The following field values automatically change on the Items subtab of the sales order:
Then, if you decide to change the Required Deposit Percentage to 75, the following happens
automatically:
Previously, the entire unpaid amount on the sales order was considered to be a deposit. With this feature,
you can specify the required deposit in a way that suits your needs.
For more information, see the help topic Adding Items on a Sales Transaction.
Projects
NetSuite 2020.2 includes the following enhancements to Projects features:
With Advanced Project Budgets, you can now complete the following tasks:
■ Provide revenue estimation based on items, billing classes, rate cards, and markup.
■ Load the work breakdown structure from a template.
The following functionalities are available for the work breakdown structure and budget records:
■ Revenue calculation – When you define a WBS item, you can see the estimates immediately.
Previously, you had to define charges, generate charges, and open the report to see estimates.
■ Templates – You can use templates to enter the same work breakdown structure or budget
information for similar and recurring projects.
■ Unmatched actuals detection – If the classification for a project task or activity code is missing, you
can now see the miscoded actuals. The actuals are shown in a new Unmatched row in the budget.
■ Locked cells – All cells that Netsuite calculates from your input (item, billing class, rate cards, markup,
or project resources) appear with a lock icon. This change enables you to see where edits are
necessary in the calculation popup window.
For more information, see the help topic Advanced Project Budgeting.
You can also now create stand-alone bills on projects to facilitate project revenue rules. Previously, the
use of purchase rules and as charged rules was not supported unless you created a purchase order first.
For more information, see the help topic Project Revenue Recognition.
■ Expense To Approve – notifies the project manger about unapproved expense lines
■ Time Not Tracked – notifies the project manager about untracked planned time
■ Time To Approve – notifies the project manager about unapproved time entries
When you enable the Vendor Prepayment Approvals feature, the Vendor Prepayment page includes
the new Approval Status and Next Approver fields. Authorized users can approve vendor prepayments
assigned to them using a custom vendor bill approval workflow in SuiteFlow or using the new Approve
Vendor Prepayments page found at Transactions > Payables > Approve Vendor Prepayments.
The NetSuite A/P Clerk is the only role that includes the Vendor Prepayment Approval permission by
default. An administrator has to enable the permission for other roles.
When enabled, you can also approve vendor prepayments with the Employee Center role. When vendor
prepayments are waiting for your approval while using the Employee Center role, you receive notifications
in the Reminders portlet.
NetSuite 2020.2 enables you to set a due date when you enter the vendor bill credit. This enables you to
have visibility of all due date for bills and bill credits at time of payment.
The new due date information is available in the Bill Credit and Bill Payment pages, as well as in saved
searches, reports, and SuiteAnalytics workbooks.
For more information, see the help topic Entering a Vendor Credit.
NetSuite 2020.2 enables you to generate journal postings to variance accounts for service, other charge,
and non-inventory items as well.
To support this new functionality, service, other charge, and non-inventory item records now include
three new variance accounts in the Accounting subtab:
■ Price Variance Account – resolve variances between the unit cost of items on bills and receipts.
■ Quantity Variance Account – resolve variances between quantities on bills and receipts.
■ Exchange Rate Variance Account – resolve variances between exchange rates on bills and receipts.
When you check the Generate Accruals box in the Preferences subtab, Vendor Bill variances generate and
post an accrual to the general ledger.
For more information, see the help topic Vendor Bill Variances.
■ Make a copy of a vendor prepayment from the Actions list in the Vendor Prepayment Page.
■ Void a vendor prepayment transaction with the new Void button in the vendor prepayment page.
■ New vendor prepayment balance information in the Subsidiaries subtab of a vendor record.
■ New Balance field in the Vendor Prepayment page shows the vendor prepayment account balance.
■ New Available Balance field in the Vendor Prepayment page shows the vendor prepayment account
balance when in-transit payments are in use.
■ Import vendor prepayment transactions in bulk from a CSV file with the NetSuite Import Assistant.
Taxation
NetSuite 2020.2 includes the following enhancements to taxation features:
■ SuiteTax
□ Enhanced Transaction Saving Notifications
□ Automatic Nexus Determination When Selecting Entity
□ U.S. Sales Tax and Canada GST Now Generally Available
□ Canada Data Provisioning Enhancements
□ Automatic Tax Calculation for Shipping in VAT Countries
□ SuiteTax Reports is now Tax Reporting Framework
□ France Localization Enhancements
□ India Localization SuiteTax Engine SuiteApp Enhancements
□ Ireland Localization
□ Germany Localization (Beta) Enhancements
□ Norway Tax Reports
□ Philippine Localization
□ United Kingdom Localization Enhancements
■ Legacy Tax
□ Legacy Tax Support in Tax Reporting Framework
□ Support for Norway Standard Audit File for Tax (SAF-T) Financial Report
□ International Tax Reports Enhancements
▬ Austria VAT Rate Update
▬ Ireland VAT Rate Update
▬ Saudi Arabia VAT Rate Update
▬ Germany VAT Rate Update
□ ANZ Localization
When you edit a transaction which has been created earlier, a different Tax Engine may be determined, as
a result.
When you make such changes to the transaction, NetSuite needs to ensure that switching to a new Tax
Engine complies with reporting and auditing. For that reason, NetSuite notifies the original Tax Engine
which was used in the transaction before about the requested tax engines switch.
The original Tax Engine either returns a blocking error or allows the change. The original Tax Engine may
not allow switching to a new Tax Engine, if the transaction is already reported and should not be edited.
Earlier, the nexus determination and tax engine assignment occurred when you pressed Save or Preview
Tax.
Early nexus determination makes it possible for the third-party tax calculation bundles providers to adjust
their bundle.
User Interface
NetSuite 2020.2 includes the following enhancements to the NetSuite User Interface:
Commerce Applications
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.
Commerce Themes
Commerce Themes let you customize your site’s style and design. Complete release notes are available
here: Commerce Themes Release Notes.
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
Commerce Extensions provide additional functionality to your Commerce web store. Complete release
notes are available here: Commerce Extensions Release Notes.
Important: Commerce Extensions are only available if they are provisioned and set up in your
account. For more information, see the help topic Commerce Extensions.
■ SMT Multi-Language Support for SMT Landing Pages and Website Content
■ SMT Enhanced Pages
■ SMT Extensibility Enhancements
information, see the help topic Table of Custom Field Type Descriptions. And lastly, the CMS Page Types
feature now supports child records. For more information, see the help topic CMS Page Types.
Commerce Platform
Commerce Platform includes platform capabilities that you can use to build and deploy a more interactive
and engaging shopping experience for customers. NetSuite 2020.2 includes the following enhancements:
All fields formerly available on the form remain available to SuiteScript. Therefore, this change does not
affect any existing scripts used with the Web Site Setup form.
For more information, see the help topic Setting Up the SCIS Website.
As the ability to create multiple websites is now available to all, the Multiple Web Sites feature has been
removed from the Enable Features > Web Presence page.
For accounts with a single website, prior to 2020.2, going to Setup > Site Builder > Setup Web Site would
display the website record. From 2020.2 onwards, going to this location, shows the website name in the
Web Sites list. Click Edit next to the website name to view the website record. When you create more
websites, they are added to the list.
The new formats ensure that domains are account specific and do not refer to a specific data center. In
addition, the "shopping" and "checkout" domain formats are now "shop" and "secure," respectively.
See the following comparison between the previous domain formats and account-specific domain
formats. For example, if your NetSuite account ID was 123456 and pointed to the data center na1:
■ Your shopping domain could have previously looked like this: shopping.na1.netsuite.com/?c=123456.
Now, your account-specific domain looks like this: 123456.shop.netsuite.com.
■ Your checkout domain could have previously looked like this: checkout.na1.netsuite.com/?c=123456.
Now, your account-specific domain looks like this: 123456.secure.netsuite.com.
For more information, see the help topics Domain Options for Web Stores and Set Up Domains for Web
Stores.
■ Display Fully - members of customer segments with this visibility level are able to see all items 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 in
the item segment but they cannot add them to their shopping carts.
Note: If you have a SuiteCommerce Advanced website, the Disable Purchase option can be
used only after you have upgraded to the 2020.2 release of SuiteCommerce Advanced or later.
Do not use the Disable Purchase option if your site is using a SuiteCommerce Advanced release
prior to 2020.2.
A third 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 segments. You can use the visibility
options to define whether these items should be displayed to or hidden from all users.
For more information, see the help topic Managing which Item Segments can be Viewed and Purchased.
■ Contact
■ Customer
■ Employee
■ Partner
■ Project
■ Vendor
With this enhancement, you can create new static groups or modify existing static groups using the
Import Assistant. The Groups record type is available after the Relationships import type is selected in the
Import Assistant.
■ Entity Group
□ Comments
□ Email
□ Externalid
□ Group Type
□ Inactive
□ Internal ID
□ Name
□ Owner
□ Private
□ Restrict To
■ Entity Group Group Members
□ Name
See the help topic CSV Imports Overview for details about how to import CSV files.
■ securecheckout.com
■ onlinecheckout.com
■ webstorecheckout.com
■ suitecheckout.com
With this change, the data center label of NetSuite checkout subdomains (for example: na0) is moved
from the checkout URL component to the customizable domain prefix component. Because the
subdomain is appended to the domain prefix, this does not affect the final checkout URL.
This change happens automatically and does not affect your website. For optimal performance, we
recommend that you then remove the data center label from the domain prefix and take steps to update
links to your website. This means that your website would no longer be specific to one data center and
would not be affected by future data center changes.
You can see this change on the Domains tab of the Web Site Setup record. See the following example of
what the fields look like before and after this change:
Before:
After:
SiteBuilder Websites
For SiteBuilder Sites, you can see an additional component has been added. While the datacenter label
has shifted to the domain prefix component, there is still a URL alias component that can be used to visit
your website.
For more information, see the help topic Link a Checkout Domain with your Web Store.
SuiteCommerce InStore
SuiteCommerce InStore (SCIS) uses a phased release process to distribute managed-bundle upgrades.
Each phase consists of a different group of customers that receive the latest SCIS release. Administrators
set up for customers within a phased group receive an email notification listing when their upgrade will
occur.
Note: Contact your account representative or Customer Support if you have questions about the
availability of SCIS 2020.2.
■ Web Application
■ Payment Postback
You can safely disable scripts that run under these contexts. For more information, see the help topic
Disabling a Script Deployment via its Context.
SCIS now displays prompts with actions the sales associate can take to recover and complete a payment,
such as reconnecting, resuming, going to Fallback, or dismissing the transaction. Applicable recovery
options display in popup window, either when the issue occurs or when the SCIS application is restarted.
For more information, see the help topic Recovering From Cash, Check, or Custom Tendering Issues.
This new Fallback feature limits periodic catalog downloads to your mobile devices to 20,000 item SKUs.
You can select the items to include plus rely on a NetSuite script to flag and include items purchased in
recent orders. Manually selected items have priority over items flagged due to being recently purchased.
Note: The Fallback Open Item feature has become part of the Fallback Catalog Limit feature.
Combined, these setups provide a unified solution that ensures your stores are covered in the
event of an outage.
See the help topics Avoiding Storage Issues by Using a Fallback Catalog Limit and Avoiding Storage Issues
by Using the Fallback Open Item.
Important: To use the Fallback Catalog Limit feature and also enable Open Item, you must:
See the Help Center topic Setting up a Fallback Catalog Limit and Open Item option.
To view the updated sensor list, see the help topic Action Sensors.
SuiteApp Distribution
SuiteApp distribution includes SuiteBundler, SuiteApp Marketplace, and SuiteApp Control Center
capabilities that you can use to distribute customizations to accounts.
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.
Review the following descriptions for a reminder of how bundles from different versions are handled
during release phasing:
■ Bundles developed with 2020.1 can be installed in accounts that are already using 2020.2.
■ Bundles developed with 2020.2 can be installed in accounts that are still using 2020.1, but with the
following limitations:
□ When a user in a 2020.1 account installs a bundle from a 2020.2 account, the bundle installation
stops if there are object types in the bundle that are not supported in 2020.1.
□ A bundle with a script that uses a new API available only in 2020.2 can be installed into a 2020.1
account, but the script may not function correctly because 2020.1 does not support the API.
■ Server-side filter sorting and pagination – You can view more than 5000 companies on the Install
Base page.
■ NetSuite version – You can view and filter the NetSuite version that a customer is running on the
Install Base page and the New Upgrade page.
■ Installation count – You can view the number of customers that have installed a particular version of
your SuiteApp on the Versions page. You can click the number on the Versions page to be redirected
to the Install Base page. On the Install Base page, you can view the details for the customers that have
installed a particular version of your SuiteApp.
A workflow’s localization context represents the country or countries associated with records on which
the workflow is run. Localization context filtering is set up using the Localization Context field on the
workflow definition record. This field filters the records on which workflows run, based on the localization
context of the records. For example, a workflow that has the localization context of France set on its
workflow definition record only runs on records that have a localization context of France. It does not run
on records with other localization contexts. However, if a record included in a workflow does not support
localization context filtering, the workflow always runs on this record regardless of localization context
selected on the workflow definition record.
■ You can bundle a workflow with localization context filtering in a source account running 2020.2 and
install it into a target account running 2020.1. The localization context filtering is removed from the
workflow because it is not supported in the target account running 2020.1. The workflow behaves as if
all countries were selected for localization context filtering.
■ You can bundle a workflow in a source account running 2020.1 and install it into a target account
running 2020.2. The localization context on the workflow is set to all countries in the target account
running 2020.2.
For more information about localization context filtering support for workflows, see Localization Context
Available for Workflows.
This support imposes the following limitations on bundles that include a Translation Collection and
custom objects that contain translatable fields that reference translation strings from that Translation
Collection:
■ You cannot install these bundles from a source account running 2020.2 to a target account running
2020.1, or from a source account running 2020.1 to a target account running 2020.2.
■ You can only install such bundles to target accounts running the same NetSuite version as the source
account.
Note: These limitations do not apply to bundles that include only Translation Collections.
■ If you delete a translation string from a bundled Translation Collection in a source account, and later
you update that bundle in a target account:
□ All references in custom object translatable fields to that deleted translation string from the
Translation Collection are unlinked from that deleted translation string in the target account. The
unlinked translation string becomes a standalone translation string.
□ Custom object translatable fields retain the original translation string, including the translations, in
the target account.
■ If you update a translation string in a bundled Translation Collection in a source account, and a custom
object translatable field in a target account that references that translation string fails validation:
□ The custom object translatable field is not updated in the target account and is unlinked from
the translation string in the Translation Collection. The unlinked translation string becomes a
standalone translation string.
□ The custom object translatable field retains the original translation string, including the
translations, in the target account.
For more information about translation strings, see the help topic String Hierarchy and Translation String
Linking.
SuiteBuilder – Customization
This release note was updated September 2, 2020.
Record Customization provides a consolidated view of all business record types in NetSuite. You can view
and maintain the record types in your account. You can also create new fields and sublists to include on a
record.
Having a unified location to set up mandatory fields makes it convenient to maintain mandatory settings
for multiple fields at one time. When you make a field mandatory, the change is automatically saved to
the server and applies to all platform channels, such as workflow, forms, and so on. Record Customization
mandatory settings apply to all other forms. For example, if you make a field mandatory in Record
Customization, the field is marked as mandatory on all forms that include the field.
The access control overview in Record Customization provides you with a view of the roles and employees
that have access to a specific record or field. You can view a list of all users with access to a record or field
as well as the level of access the users have. Additionally, you can view information about applied record
restrictions on a role. From the access control overview, you can also maintain roles and user access.
For more information, see the help topic Record Customization (Beta).
A Display Type field is now available on the Custom Segment definition page. Use this field to select a
display type for the custom segment: normal, disabled, or hidden. For information about the display
types, see the help topic Creating a Custom Segment.
Note: The Display Type field is not supported by SuiteBundler. The Display Type field is set to
Normal on any custom segments included in a bundle.
The Custom Segment field on the Custom Record Type page has been renamed Originating Custom
Segment. The new field name more accurately reflects the relationship of this custom record type to its
related custom segment. The custom record type is created when the custom segment is created. For
information about custom record types that are associated with a custom segment, see the help topic
Custom Record Types Associated with a Custom Segment.
For a complete list of the custom objects supported, see Additional Translatable Fields Support for
Translation Collection Customizations.
View the New Feature Training for Sales and Purchase Custom Transactions.
Previously, when you transformed a custom transaction, the system did not retain information about
the source transaction. As of 2020.2, a new generic transformation link is created for transaction
transformations that include custom transactions. When the custom transaction is the target transaction,
the link appears in the Created From field. When the custom transaction is the source transaction,
the link appears on the Related Records subtab. This generic link is created only if a more specific link
does not already exist. The link provides a better audit trail on business workflows that include custom
transactions.
For more information about sales and purchase custom transaction transformations, see the help topic
Sales and Purchase Functionality Available in Custom Transactions.
Additional transaction transformations are supported by sales and purchase custom transactions.
For a complete list of transformations available in sales and purchase custom transactions, see the help
topic Sales and Purchase Transaction Types Overview.
Previously, NetSuite domains were specific to data centers, and links in the printing templates used
these data center-specific domains. Links in accounts that moved among data centers did not work. As of
2020.2, printing templates use account-specific domains. With account-specific domains, links work, even
if the account is moved from one data center to another.
Some templates may contain links that use data center-specific URLs. NetSuite automatically translates
data center-specific URLs found in printing templates to use the appropriate account-specific domain
URLs for each PDF printout. You should change the URLs in those stored templates to use account-
specific domains. For example, you should change a system.eu2.netsuite.com link in your template link
to <accountID> .app.netsuite.com, where <accountID> is a variable representing your account ID.
If you attempt to create a template using the data center-specific URL format, you will receive a warning
message instructing you to use an account-specific domain URL instead.
For more information, see Redirect Option Available When Setting Transform Record Action Parameters.
SuiteAnalytics
NetSuite 2020.2 includes the following enhancements to SuiteAnalytics:
For more information about creating a workbook using multiple datasets, see the help topic Creating a
Workbook.
■ The Formula field is automatically populated with line numbers for improved readability of longer
formula definitions.
■ When you validate a formula, if there are errors, the Formula Builder highlights the line where the
error is located.
■ Formula function descriptions now include links to add sample formulas to your definitions, enabling
you to try different functions even if you are not sure about the correct syntax.
To learn more about creating and adding custom formula fields to your datasets, see the help topic
Formula Fields.
■ View the column summary – When you select a column in your table view, you can also view the
summary of the results in the table footer. The information shown depends on the field type, and can
display information such as the count, count (distinct), average, and so on.
■ Sort and filter your results – The table view portlet includes only the sorting and filtering options that
were added in your workbook table view. If you want to change the sorting and filtering options, you
can open the workbook and make any edits in your workbook table view.
For table view portlets, you can set layout options, such as the portlet title and the number of rows visible
in the portlet. As with charts and pivot tables, you can also access your workbooks through table view
portlets.
For more information about setting up the portlet, see the help topics Setting Up the Analytics Portlet and
Workbook-based Portlets.
■ For workbooks, the Details panel shows the visualizations that are set up in the workbook and the
underlying datasets that they are based on. On the Details panel, you can display the fields used in
each visualization, open the workbook, or open any of the connected datasets.
■ For datasets, the Details panel shows the record types, fields, and criteria that are used to define the
dataset. The owner and last modified date are also displayed on the Details panel. On the Details panel
you can open the dataset or create a workbook based on the dataset.
To learn more about the Details panel, see the help topic Analytics Home Page.
■ Dynamic Date Ranges in Date Fields for Charts and Pivot Tables
For more information, see the help topic Workbook Visualization Filters.
In 2020.2, you can share workbooks and datasets with everyone in your NetSuite account, allowing all
users to view your datasets and workbooks. In the dataset or workbook that you want to share, click
Share and then check the Share with All box. All users in your account can work with the dataset or
workbook, including any new users or roles that you add to your account.
For more information about sharing workbooks and datasets, see the help topic Accessing and Sharing
Workbooks and Datasets.
Analytics Videos
In the NetSuite 2020.2 release, links to all SuiteAnalytics Workbook videos are available directly from
NetSuite. On the Analytics Home page, click Learn about Analytics in the upper right of the page. When
you click Learn about Analytics, a panel appears that lists all SuiteAnalytics Workbook videos as well as a
description of each video. The Analytics panel is also available when you are working with workbooks and
datasets.
■ You can now search for a field using the internal field ID, which is displayed in the Analytics data
source. For example, you can now use the internal field ID destloc to search for the destination
location field.
■ When working in a dataset based on the transaction record type, the transaction line, transaction
accounting line, and account record types are now displayed at the top of the Records list. This makes
it more convenient to add fields from some of the most commonly-used transaction-related record
types to your datasets.
To learn more about locating and joining fields to your datasets, see the help topic Locating Fields in
Workbook.
Note: Built-in functions are supported only when using SuiteQL with the N/query module in
SuiteScript. Built-in functions are not supported when using SuiteQL with SuiteAnalytics Connect.
For more information, see the help topic Using SuiteQL with the N/query Module in SuiteScript.
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 following table shows the list of columns with length changes for return values:
The length attribute has also been changed for custom fields that correspond to phone numbers in the
NetSuite UI. The length has changed from 21 to 32 bytes.
These changes are effective as of 2020.2, but the current version of the Connect Browser does not show
the updated values yet. The changes will be available when the 2020.2 Connect Browser is released at a
later date.
For information about the column attributes, see the help topic Table Summary.
The following table lists the label and ID of the 24 record types:
Label ID
Account account
Charge charge
Class classification
Competitor competitor
Currency currency
Department department
Label ID
Employee employee
Incoterm incoterm
Location location
Subscription subscription
Subsidiary subsidiary
Terms term
You should avoid using <script> tags in new search formulas and edit your existing search formulas. If
you do not remove <script> tags, search results that contain <script> tags will display a message that the
script output is not available.
For information on how to edit search results, see the help topic Using a Formula in Search Criteria.
CSV Import
This release note was updated September 9, 2020.
Groups can be static or dynamic. You can create and update static
groups using the CSV Import Assistant.
To import group data, in the Import Assistant, set the Import Type to
Relationship, and the Record Type to Groups.
Vendor prepayment Newly exposed Available if the Vendor Prepayments feature is enabled.
For more information, see the help topic Vendor Prepayment Import.
Commerce category Updated As of 2020.2, to support personalized catalog views you can use the
Commerce Category Import option to import a Customer Segment
Assignment for commerce categories.
For more information see the help topics Commerce Category Import
and Commerce Category Customer Segment Assignment.
The localization context filtering feature is designed to be used to filter the records a workflow should
include when it executes. For example, if you select France as the localization context for a workflow, the
workflow only initiates on records that have France set as the localization context value.
Defining the localization context for workflows enables you to create workflow automations designed for
specific countries. You can combine the localization context with other workflow initiation rules, including
context, event type, and condition or formula. You can also filter the records to be used in a workflow by
multiple country values, instead of by a single country value only. Based on the countries that you have
selected, all of the records with the appropriate localization context are available.
■ NetSuite automatically determines the localization context for records. For more information about
this determination, see the help topic Localization Context.
■ For more information about localization context, see the help topic Using the Context Filtering Tab.
■ For more information about record support, see the help topic Records that Support Localization
Context.
To enable the redirect option, check the Redirect Without Saving box on the Workflow Action page.
For more information, see the help topic Transform Record Action.
■ Custom fields on the Expenses sublist are now exposed and available to all sublist actions. Previously,
support for custom fields was limited to the Items sublist only. Now, you can use the custom fields on
the Expenses sublist in Sublist Action Groups.
■ The Set Field Display Type workflow action is now supported on the Expenses sublist. You can use the
Set Field Display Type workflow action with standard and custom fields on the Expenses sublist.
■ The Set Field Display Type workflow action is now supported on standard fields on the Items sublist.
For more information about Sublist Action Groups, see the help topic Using Sublist Action Groups. For
more information about the Set Field Display Type workflow action, see the help topic Set Field Display
Type Action.
In 2020.1, SDF was enhanced to support Translation Collections for the following workflow elements:
■ Workflow name
■ Workflow State names
■ Add Button action
■ Return User Error action
■ Show Message action
SDF now supports Translation Collections for the Set Field Display Label workflow action. When you
include the Set Field Display Label workflow action in your custom objects in SDF, you can now reference
translation strings from Translation Collections. Translation Collections are also supported for workflow
and state fields.
For more information, see Additional Translatable Fields Support for Translation Collection
Customizations. For more information about SDF support for translatable fields for workflow custom
objects, see the help topic Translatable Fields on Custom Objects.
Employee change request types provide managers with the types of changes that they can initiate for
their direct reports. For more information about employee change request types, see the help topic
Setting Up Employee Change Request Types.
For more information, see the help topic Creating a Workflow from a Workflow Template.
SuiteScript
Refer to the following sections for details on SuiteScript updates for NetSuite 2020.2:
■ Records Catalog
■ Asynchronous Query and SuiteQL Execution
■ Session Preservation for RESTlets and REST Web Services
■ New N/recordContext Module
■ Phone Number Objects Added to the N/format/i18n Module
■ Enhancements to the N/record and N/currentRecord Modules
■ New Parameter Added to validateDelete Entry Point
■ Change for Scripting with Manufacturing Preferences
■ Advance Notice: Upcoming Deprecation of RESTlet Authentication Through User Credentials
■ Advance Notice: Upcoming Deprecation of the Reset Button and Related API
■ New SuiteScript Actions
■ 2020.2 SuiteScript Record Exposures
■ 2020.2 SuiteScript Records Browser
In 2020.2, the Workbook API is available as a beta feature. The Workbook API lets you manage your
datasets and workbooks programmatically as part of SuiteAnalytics Workbook. You can do the following:
To learn about the Workbook API, see the help topic Workbook API (Beta).
To use the Workbook API in this release, you must enable the Workbook API (Beta) feature on the Enable
Features page in your NetSuite account. This feature controls access to all Workbook API components,
including SuiteScript modules and core plug-ins.
■ New SuiteScript modules – The new N/dataset and N/workbook modules include all of the methods
and objects you need to create and manage datasets and workbooks. The N/dataset module lets you
define datasets to use for your workbooks. The N/dataset module is similar to the N/query module
but is designed to work alongside the N/workbook module. You should use the N/dataset module
to create all datasets you plan to use in the Workbook API. The N/workbook module lets you create
workbooks, define supporting workbook components, and run table views. For more information, see
New SuiteScript Modules.
■ Granular Workbook elements – The N/dataset and N/workbook modules let you work with granular
components that represent different areas in the SuiteAnalytics Workbook UI. For example, when you
use the N/workbook module to create a pivot definition, you can specify pivot-related properties such
as name, pivot axes, and sorting behavior. You can also define limiting filters (which filter results based
on a limiting number) and conditional filters (which filter results based on simple or complex criteria).
For more information, see Granular Workbook Components.
■ New core plug-ins – The new Dataset Builder Plug-in and Workbook Builder Plug-in let you
provide custom implementations for creating datasets and workbooks. You can provide your own
implementations with custom logic that meets your business needs. For more information, see New
Core Plug-ins.
■ N/dataset – This module lets you create datasets to use in workbooks. Datasets are the basis for
all workbooks and workbook components. In a dataset, you combine record type fields and criteria
filters to create a query. The results of this query act as the source data for the workbooks you create.
For example, you can use the dataset.create(options) method to create a dataset.Dataset object,
which represents a dataset. You can populate various properties of the dataset, including columns,
conditions, and data type, and you can run the dataset as a paged or non-paged query to obtain the
results.
■ N/workbook – This module lets you create new workbooks and load existing workbooks. You can
create and use objects that represent different SuiteAnalytics Workbook areas and functionality.
For example, you can use the workbook.createTableDefinition(options) method to create a
workbook.TableDefinition object, which represents a table view. This object includes a set of columns
(represented by workbook.TableColumn objects), as well as an underlying dataset on which to base
the table view (represented by a dataset.Dataset object).
Some objects are shared between these modules. To use the Workbook API most effectively, you should
load both the N/dataset and N/workbook modules in your scripts.
■ workbook.PivotDefinition – This object represents a pivot. You can specify basic pivot properties such
as name, pivot axes, and underlying dataset. You can also specify advanced pivot properties such as
sort definitions, expressions, and limiting and conditional filters.
■ workbook.PivotAxis – This object represents one axis in a pivot. You can specify the root data for the
pivot, and you can also apply sorting behavior.
■ workbook.LimitingFilter – This object represents a limiting filter, which filters results based on a
limiting number (for example, the five largest transaction amounts).
■ workbook.ConditionalFilter – This object represents a conditional filter, which filters results based on
simple or complex criteria (for example, all transactions that occurred in the last 30 days).
Similar objects are available for other workbook components, such as charts and table definitions.
■ Dataset Builder Plug-in – This plug-in lets you replace the default implementation for creating a
dataset with another implementation that better suits your business needs. You can override the
createDataset() function and create a dataset that contains a specific subset of data or uses custom
logic. For example, you can use an implementation that creates a dataset based on user- or role-
specific information. The default implementations in the N/dataset module do not permit you to do
this (they are always based on the current role that is executing a script).
■ Workbook Builder Plug-in – This plug-in lets you replace the default implementation for creating
a workbook with another implementation that better suits your business needs. You can override
the createWorkbook() function and create a workbook that contains a specific subset of workbook
components or uses custom logic.
Records Catalog
In the Records Catalog, you can find information about the record types, fields, and relationships
available for a specific NetSuite channel. Similarly to the SuiteScript Records Browser, the Records Catalog
organizes metadata, such as field IDs and script IDs, and supports learning about the NetSuite data
model. However, unlike the SuiteScript Records Browser, the new Records Catalog includes the custom
records, forms, and fields in the current user’s account and only includes data based on the features
currently enabled in the account. In addition, you can access the Records Catalog within your NetSuite
account.
In NetSuite 2020.2, the Records Catalog is introduced with record metadata that is available to the
SuiteScript Analytic API channel. This channel includes data for creating constructed queries and SuiteQL
Queries using the N/query Module. All other SuiteScript 2.0 modules continue to use the information
from the SuiteScript Records Browser for this release, with the exception of the SuiteScript Workbook API
Beta. You can access metadata for the SuiteScript Workbook API using the Analytics Browser.
For more information about using the Records Catalog, see the help topic Records Catalog Overview.
For more information about record localization context, see the help topic Localization Context.
For more information about this feature in the UI, see Introducing Worldwide Support for Phone Number
Formatting.
For more information, see the help topics N/currentRecord Module and N/record Module.
The N/task module includes the following new objects to support asynchronous query execution:
The task.create(options) method now accepts new enum values from the task.TaskType enum:
task.TaskType.QUERY for a constructed query or task.TaskType.SUITE_QL for a SuiteQL query.
The task.create(options) method returns a task.QueryTask object for a constructed query or a
task.SuiteQLTask object for a SuiteQL query. You can also call task.checkStatus(options) to check the
current status of a submitted constructed query or SuiteQL query task.
Before your account is upgraded to 2020.2, review your scripts to find any that use the SuiteScript 1.0
nlapiLoadConfiguration(type) function to access moved manufacturing preferences. To ensure these
scripts continue to function after your account is upgraded, you should update these scripts to use the
SuiteScript 2.0 runtime.User.getPreference(options) method instead.
This change is effective as of January 1, 2021, but 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 will be returned. This change will not affect RESTlets created before
January 1, 2021, except for RESTlets included in bundles or SuiteApps that are installed into target
accounts as of January 1, 2021 or later.
You must ensure that RESTlet integrations created as of January 1, 2021 or later 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 as of January 1, 2021 or later. The installation of 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.
Invoice markforgrouping Mark for Grouping Makes an invoice eligible for grouping
Invoice unmarkforgrouping Unmark for Makes an invoice not eligible for grouping
Grouping
Invoice Group groupinvoices Group Invoices Groups invoices into groups based on the
customer name and common criteria
Invoice Group unlinkinvoices Unlink Invoices Removes invoices from an invoice group
Supply Change approve Approve all pending Approves the supply change order with the given
Order recordId
Supply Change reject Reject all pending Rejects the supply change order with the given
Order recordId
Goal Newly exposed The goal record is available when the Performance Management feature is
enabled.
Performance Metric Newly exposed The performance metric record is available when the Performance
Management feature is enabled.
Performance Newly exposed The performance review record is available when the Performance
Review Management feature is enabled.
Performance Newly exposed The performance review schedule record is available when the
Review Schedule Performance Management feature is enabled.
Planned Order Newly exposed The planned order record is available when the Material Requirements
Planning feature is enabled.
The planned order record is scriptable in both server and client SuiteScript.
Planning Item Newly exposed The planning item category record is available when the Material
Category Requirements Planning feature is enabled.
The planning item category record is scriptable in both server and client
SuiteScript.
Planning Item Newly exposed The planning item group record is available when the Material
Group Requirements Planning feature is enabled.
The planning item group record is scriptable in both server and client
SuiteScript.
Planning Rule Newly exposed The planning rule group record is available when the Material
Group Requirements Planning feature is enabled.
The planning rule group record is scriptable in both server and client
SuiteScript.
Supply Change Newly exposed The supply change order record is available when the Material
Order Requirements Planning feature is enabled.
The supply change order record is scriptable in both server and client
SuiteScript.
Supply Plan Newly exposed The supply plan definition record is available when the Material
Definition Requirements Planning feature is enabled.
The supply plan definition record is scriptable in both server and client
SuiteScript.
The charge record is available if SuiteBilling features are enabled. For more information, see the
help topic Enabling SuiteBilling Features.
Contact Category The contact category record is not a subrecord and has no subrecords.
All elements on this record are accessible through REST web services.
Contact Role The contact role record is not a subrecord and has no subrecords.
All elements on this record are accessible through REST web services.
You must enable the CRM feature before you can use this record through REST web services.
The usage record is available if SuiteBilling features are enabled. For more information, see the
help topic Enabling SuiteBilling Features.
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. For more information about working with the browser, see the help topic The REST
API Browser.
You can use CRUD operations to perform business processing on custom lists and custom transactions.
For information about working with custom lists in the UI, see the help topic Custom Lists. For information
about working with custom transactions in the UI, see the help topic Custom Transactions.
For information about using CRUD operations, see the sections under Working with Records.
As of 2020.2, you can create, update, and access pricing sublist (pricing matrix) data on item records
through REST web services.
The pricing sublist is supported when the following features are enabled:
■ Multiple Currencies
■ Multiple Prices
■ Quantity Pricing
For each item, you can set multiple prices based on the following:
■ Currency used for item prices. See the help topic Enabling the Multiple Currencies Feature.
■ Price levels available for the item, as defined in the price level user-defined list. See the help topic
Using Multiple Pricing.
■ The quantity of items being sold, when the Quantity Pricing feature is enabled. See the help topic
Using Quantity Pricing.
For general information about item pricing, see the following help topics:
■ Item Pricing
■ Setting Up Item Pricing
■ Using Item Records
In REST web services, you can create or update price values on a per-row, per-column basis by using
the POST operation. You can access the price values on a per-row, per-column basis by using the GET
operation.
To create or update a pricing sublist, you send a POST request similar to the following and specify the
pricing sublist data in the request body in an array of items:
POST https://demo123.suitetalk.api.netsuite.com/services/rest/record/v1/inventoryitem
"price": {
"items": [
{
"currencyPage" : { "id" : "1" },
"priceLevel" : { "id" : "1" },
"quantity" : { "value" : 5 },
"price": 25.5
},
...
]
}
To access a pricing sublist, you send a GET request similar to the following:
GET https://demo123.suitetalk.api.netsuite.com/services/rest/record/v1/inventoryitem/482/price?expandSubResources=true
For more information, see the help topic Working with the Pricing Sublist on Item Records (Beta).
The updated error messages provide information about the location of the error. The error messages
clarify whether an error occurred in the request URL, the request headers, the query parameters, or the
request body.
The updated and unified error messages also provide more information about the cause of errors and
provide possible solutions.
For more information, see the help topic Error Handling in REST Web Services.
SuiteQL is a query language based on the SQL database query language. SuiteQL provides advanced
query capabilities that can be used to access NetSuite records.
To execute SuiteQL queries through REST web services, send a POST request to the suiteql resource,
and specify the query in the request body after the query parameter q. The following example shows a
SuiteQL query executed through REST web services using the Prefer HTTP request header:
POST https://demo123.suitetalk.api.netsuite.com/services/rest/query/v1/suiteql
Prefer: transient {
"q": "SELECT email, COUNT(*) as count FROM transaction GROUP BY email"
}
For more information about SuiteQL in general, see the help topic SuiteQL.
The Analytics Browser provides information about all record types and fields that are available through
the analytics data source. For information, see the help topic Analytics Browser.
For more information about executing SuiteQL queries through REST web services, see the help topic
Executing SuiteQL Queries Through REST Web Services.
Prior to 2020.1, you defined, visualized, and analyzed SuiteAnalytics Workbook source data in a single
workbook object.
As of 2020.1, workbooks and datasets exist as separate objects, each with their own respective owners
and accessibility rights. In a dataset, you define your workbook source data by selecting record types,
fields, and criteria for further analysis in a workbook.
As of 2020.2, REST web services support the execution of datasets. Dataset execution replaces the
previously available workbook execution function. In REST web services, you can execute saved datasets.
You can execute both standard and custom datasets by using the dataset ID in your GET request.
GET https://demo123.suitetalk.api.netsuite.com/services/rest/query/v1/dataset/ExampleDataset1/result
Datasets must be created in the SuiteAnalytics Workbook UI and cannot be created through REST web
services. For information about creating datasets, see the help topic Defining a Dataset.
For more information, see the help topic Working with SuiteAnalytics Datasets in REST Web Services
(Beta).
In SuiteAnalytics Workbook, you analyze your company data using two distinct objects: a dataset and a
workbook.
Datasets are the basis for all workbooks and workbook components in your account. In a dataset, you
combine record type fields and criteria filters to create a query. The results of this query act as the source
data for your workbooks.
As of 2020.2, you can list all existing SuiteAnalytics Workbook datasets through REST web services.
Datasets must be created in the SuiteAnalytics Workbook UI and cannot be created through REST web
services. For information about creating datasets, see the help topic Defining a Dataset.
To list all existing datasets, you send a GET request similar to the following:
GET https://demo123.suitetalk.api.netsuite.com/services/rest/query/v1/dataset/
The result contains the name, ID, and description of the datasets, and it provides information about the
record type the dataset works on.
You cannot use collection paging when you list all datasets. A request for a list of datasets returns all
datasets on a single page.
For more information, see the help topic Working with SuiteAnalytics Datasets in REST Web Services
(Beta).
This change does not affect web services integrations that use 2020.1 and earlier endpoints. You can
continue to use request-level credentials in endpoints 2020.1 and earlier. However, you are encouraged
to use token-based authentication (TBA) for all of your integrations. TBA is available in all supported
endpoints. If you are using an earlier endpoint that does not support TBA, you are advised to upgrade to
one of the supported endpoints. For information about supported endpoints, see the help topic Support
for Existing WSDL Versions.
You must ensure that SOAP web services integrations created with 2020.2 and later SOAP web services
endpoints use TBA. Authentication through user credentials continues to be supported in integrations
that use SOAP web services 2020.1 and earlier endpoints. For more information, see the help topic Token-
based Authentication and Web Services.
For more information, see the help topic Sales and Purchase Custom Transaction Types.
In addition to the new transformation pairs, the source and transformed transactions are linked together
with a generic transaction link.
For more information about transaction links, see the help topic Using Transaction Links.
Note: Subrecords are not supported in the searchBasic operation. The information from the
subrecord will be missing in the SOAP web services response, but the operation will not be
terminated by unexpected error. If you need to search for the inventoryDetail subrecord, you must
use the inboundShipmentSearchBasic operation.
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.
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.
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.
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 2020.2 includes the following features and updates:
Generally, plug-in behavior changes in 2020.2 are designed to support SDF. In addition, SuiteCloud IDE
plug-ins for versions 2017.1 and later have compatibility requirements. The version of your plug-in must
match the version of your NetSuite account before you can use the plug-in to create SDF projects.
For information about additional features that impact SuiteCloud IDE plug-ins and SuiteCloud CLI, see the
release note for SuiteCloud Development Framework.
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.
SuiteCloud CLI for Node.js is an open-source project published in npm. To get the latest changes, see
SuiteCloud CLI for Node.js.
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.
CLI for Java is supported on Windows, Linux, and Mac OS X. For more information, see the help topic CLI
for Java Installation Prerequisites.
Important: When your account is upgraded to 2020.2, your IDE plug-in for WebStorm is not
updated automatically to the 2020.2 version. After your account upgrade, you must manually
update the IDE plug-in for WebStorm.
Important: When your account is upgraded to 2020.2, your IDE plug-in for Eclipse is not
updated automatically to the 2020.2 version. After your account upgrade, you must manually
update the IDE plug-in for Eclipse.
For existing SuiteApp projects, when you create an installation preference file in the project, the file uses
the new template.
For more information about how to create an installation preference file in SuiteCloud IDE plug-in, see
one of the following topics:
<!-- This file is used for locking the content of your SuiteApp when deploying to a NetSuite account. -->
<!-- The configuration below locks all content except for the files and objects specified under the apply tag. Use the commented lines as examples. -->
<!-- The content protection is only applied when the "Apply Content Protection" option is provided through SuiteCloud SDK. Otherwise this file is ignored.
-->
<!-- For more information, see https://system.netsuite.com/app/help/helpcenter.nl?fid=section_1543865613.html -->
<!-- This file is used for hiding the content of your SuiteApp when deploying to a NetSuite account. -->
<!-- The configuration below hides all content except for the files and objects specified under the apply tag. Use the commented lines as examples. -->
<!-- The content protection is only applied when the "Apply Content Protection" option is provided through SuiteCloud SDK. Otherwise this file is ignored.
-->
<!-- For more information, see https://system.netsuite.com/app/help/helpcenter.nl?fid=section_1515950176.html -->
For more information about installation preferences, see the following topics:
■ savetoken
■ issuetoken
■ revoketoken
You need to use the authenticate command to authenticate your accounts in SuiteCloud CLI for Java. For
more information, see SuiteCloud CLI for Java New Authentication Method.
You must use token-based authentication (TBA), through the authenticate command, to authenticate
your accounts in SuiteCloud CLI for Java. You can either enter a previously issued NetSuite TBA token
with the savetoken option, or use browser-based authentication. For example, to use browser-based
authentication, run the following command in an SDF project: sdfcli authenticate —authid myDevRole.
To revoke TBA tokens in CLI for Java, you must use the revoke option in the manageauth command.
■ account:ci — This non-interactive command sets up an account to use with your projects.
For more information, see the help topic account:ci.
■ account:manageauth — This command manages authentication IDs (authIDs) for all your projects. You
can list the authentication IDs available in your local machine, edit them, and remove them.
For more information, see the help topic account:manageauth.
■ file:upload— This command uploads files from your project to NetSuite.
For more information, see the help topic file:upload.
■ project:package — This commands generates a ZIP file from your project, respecting the structure
specified in the deploy.xml file, and applying local validation.
In addition to these two commands, the log option has been added to the project:deploy and
project:validate commands. This option sets the log file location. For more information, see the help
topics project:deploy and project:validate.
The excludefiles option has been added to the object:import command. For more information, see the
help topic object:import.
If you use shortcuts, the action is applied to the active project in the WebStorm project tree.
For more information, see the help topic Working with SDF Projects in SuiteCloud IDE Plug-in for
WebStorm.
The new general settings window is under File > Settings > Tools > NetSuite.
Note: You can also access it by right-clicking the project folder and selecting NetSuite > NetSuite
Settings.
For more information, see the help topic Customizing SDF Project Configuration in SuiteCloud IDE plug-in
for WebStorm.
There is a new project settings window in SuiteCloud IDE plug-in for WebStorm. You can set default
configurations for a project. By doing so, this setup is applied every time you perform a validation action,
such as validating or deploying your project.
To access the new project settings window, go to File > Settings > Tools > NetSuite > Project Settings.
For more information, see the help topic Changing Project Settings in SuiteCloud IDE Plug-in for
WebStorm.
In previous releases, to use an account in SuiteCloud IDE plug-in for WebStorm, you needed to add your
account domain and then, configure the roles in that account that you wanted to use.
As of 2020.2, to use an account in SuiteCloud IDE plug-in for WebStorm, you only need to add your
account. Furthermore, the master password option has been removed because the projects are securely
authenticated through your account.
To access the new accounts window, go to File > Settings > Tools > NetSuite > Accounts.
For more information, see the help topic SuiteCloud IDE Plug-in for WebStorm Account Setup.
Note: Existing projects are compatible with SuiteCloud IDE plug-in for WebStorm 2020.2.
myACP
> src
> AccountConfiguration
> FileCabinet
> SuiteScripts
> Templates
> Web Site Hosting Files
> Objects
> Translations
deploy.xml
manifest.xml
suitecloud.config.js
For more information, see the help topic Account Customization Projects.
■ SuiteApp projects
com.mycompany.mysuiteapp
> src
> FileCabinet
> SuiteApps
> com.mycompany.mysuiteapp
> Web Site Hosting Files
> InstallationPreferences
> Objects
> Translations
deploy.xml
manifest.xml
suitecloud.config.js
■ Workbook (workbook) — For more information about this SDF custom object, see the help topic
Custom Workbook Objects.
■ Dataset (dataset) — For more information about this SDF custom object, see the help topic Custom
Dataset Objects.
■ Published Dashboard (publisheddashboard) — For more information about this SDF custom object,
see the help topic Published Dashboards as XML Definitions.
You must create these objects in NetSuite and then, import them back to your SDF project.
Note: You can create Published Dashboards through the NetSuite context menu. For more
information, see the help topic Creating an XML Definition in SuiteCloud IDE Plug-in for Eclipse.
For more information about the fully supported SDF custom objects, see the help topic Customizations
Supported by SuiteCloud Development Framework.
For a complete list of custom records and customizations that are supported by SDF, see the help topic
Customizations Supported by SuiteCloud Development Framework.
With the release of SuiteCloud Development Framework, the SuiteCloud Terms of Service were updated
in September 2016 to specifically include SuiteCloud Development Framework as one of the listed
SuiteCloud Technologies and to make other clarifying changes. You can review the complete updated
terms at http://www.netsuite.com/termsofservice.
Note: For current NetSuite 2020.2 limitations when developing SDF custom objects with
SuiteCloud IDE, see 2020.2 Custom SDF Objects Not Fully Supported in SuiteCloud IDE Plug-in for
Eclipse.
You can configure localization context filtering in workflow custom objects by using the
initlocalizationcontext field, which specifies the localization context of the records associated with the
workflow.
If a workflow has localization context filtering set up in custom objects in an SDF project, that filtering
works in all target accounts where the SDF project is deployed. The context filtering also works in
accounts when an SDF SuiteApp is installed from the SuiteApp Marketplace.
For more information about workflow execution filtering by localization context, see Localization Context
Available for Workflows.
■ center
■ centercategory
■ centertab
■ customlist
■ customrecordtype
■ customtransactiontype
■ savedcsvimport
■ suitelet
■ translationcollection
■ workflow
When creating SDF custom objects, you can reference strings that are located in a Translation Collection.
After the SDF project is deployed to an account, the NetSuite UI displays the translated strings for the
fields in the account language. If a field has no translation in the account language, the NetSuite UI
displays the default translation.
For the list of supported translatable fields, see the help topic Translatable Fields Supported in Custom
Objects.
■ Email Message Template – Defined by the emailMessageTemplate element in the XML definition, and
specifies which transaction email template to use for the transaction type when sending transaction
emails with a PDF attachment.
■ Linked Forms – Defined by the linkedForms element in the XML definition, and specifies the chain of
transaction forms that are used when the user converts one transaction into another. Each transaction
form in the chain is defined by the linkedForm field group that specifies the following fields:
□ type – Specifies the transaction type for the linked form.
□ form – Specifies the form name, which can be either a standard transaction form or a reference to
the script ID of a custom transaction form.
■ Never Empty – Defined by the neverEmpty element in the XML definition, and specifies that the user
must enter at least one row for the sublist when neverEmpty is set to T (true).
■ Roles – Defined by the roles element in the XML definition, and specifies the custom transaction form
as the preferred form for specific roles. Each role field group is defined by the following fields:
□ id – Specifies the name of a standard role or the script ID of a custom role.
□ preferred – Specifies whether the role is the preferred role.
■ Space Before – Defined by the spaceBefore element in the XML definition, and specifies whether
to include blank lines before a field when spaceBefore is set to an integer number that specifies the
number of spaces.
■ Total Box – Defined by the totalBox element in the XML definition, and specifies the fields that you
want to show in the form totals.
For examples of those fields in SDF, see the help topic Custom Transaction Form Field Examples.
■ Analytics Portlets — Analytics portlets in SDF are represented with the analytics element. You can
specify this element in a dashboard of a publisheddashboard custom object.
Note: The Analytics portlet only exports values from custom workbooks. It does not export
values from standard workbooks.
For more information about Analytics portlets, see the following help topics:
□ Workbook-based Portlets
□ Workbooks Overview
□ analytics
■ Event Scheduler Portlets — Event Scheduler portlets in SDF are represented with the scheduler
element. You can specify this element in a dashboard of a publisheddashboard custom object.
For more information about Event Scheduler portlets, see the following help topics:
□ Using the Event Scheduler Portlet
□ scheduler
■ Key Performance Indicator (KPI) Scorecard Portlets — KPI Scorecard portlets in SDF are
represented with the kpireport element. You can specify this element in a dashboard of a
publisheddashboard custom object.
For more information about KPI Scorecard portlets, see the following help topics:
□ KPI Scorecards Overview
□ KPI Scorecard Portlet
□ kpireport
■ Links Portlets — Links portlets in SDF are represented with the tasklinks element. You can specify
this element in a dashboard of a publisheddashboard custom object. The Links portlet supports the
following portlets:
□ Reports Links portlets
□ Activities Links portlets
For more information about Links portlets, see the following help topics:
□ The Reports Page
□ The Activities Page
□ tasklinks
■ Recent Records Portlets — Recent Records portlets in SDF are represented with the recentrecords
element. You can specify this element in a dashboard of a publisheddashboard custom object.
For more information about Recent Records portlets, see the following help topics:
□ Reviewing Recent Records
□ Using the Recent Records Menu
□ recentrecords
■ Recent Reports Portlets — Recent Reports portlets in SDF are represented with the recentreports
element. You can specify this element in a dashboard of a publisheddashboard custom object.
For more information about Recent Reports portlets, see the following help topics:
□ The Reports Page
□ recentreports
■ Settings Portlets — Settings portlets in SDF are represented with the settings element. You can
specify this element in a dashboard of a publisheddashboard custom object.
For more information about Settings portlets, see the following help topics:
□ Settings Portlet
□ settings
■ Tasks Portlets — Tasks portlets in SDF are represented with the list element and are predefined
by a task record type. You can specify this element in a dashboard of a publisheddashboard custom
object.
For more information about Tasks portlets, see the following help topics:
□ Tasks Portlet
□ list
The following example defines an Analytics portlet that displays 20 visible rows in a table:
<analytics>
<portlettype>TABLE</portlettype>
<visualization>[scriptid=custworkbook1.custview2135234234]</visualization>
<name>My Analytics Portlet</name>
<visiblerows>20</visiblerows>
</analytics>
Portlets are specified in a publisheddashboard custom object. For more information about published
dashboards in SDF, see the help topic Published Dashboards as XML Definitions.
For more information about portlets supported by the publisheddashboard custom object in SDF, see the
help topic Supported Published Dashboard Object Portlets.
You can customize the plug-in interface in SDF by defining fiparserplugin custom objects. For
information about the available fields, see the help topic fiparserplugin.
Each fiparserplugin custom object requires a scriptfile field reference to a SuiteScript file that
implements some of the following interface functions based on your business workflow:
■ parseData()
■ getStandardTransactionCodes()
■ getExpenseCodes()
■ getConfigurationPageUrl()
The following example defines an fiparserplugin custom object named “Financial Institution Parser
1” that references the SuiteScript file connectionprofile1.js:
<fiparserplugin scriptid="customscript_fipro1">
<description></description>
<isinactive>F</isinactive>
<loglevel>DEBUG</loglevel>
<name>Financial Institution Parser 1</name>
<notifyadmins>F</notifyadmins>
<notifyemails></notifyemails>
<notifyowner>T</notifyowner>
<notifyuser>F</notifyuser>
<runasrole></runasrole>
<scriptfile>[/SuiteApps/connectionprofile1.js]</scriptfile>
<status>TESTING</status>
</fiparserplugin>
For more information about defining fiparserplugin objects, see the help topic Financial Institution
Parser Plug-ins as XML Definitions.
Note: You cannot create an integration record using SDF. The integration custom object
represents the integration record by its scriptid attribute value, but the custom object does not
contain any fields or data. To create an integration record in your account, see the help topic
Creating an Integration Record.
For more information about referencing integration records in SDF projects, see the help topic
Integration Records as XML Definitions.
SuiteCloud Development Framework (SDF) supports customizing Dataset Builder Plug-in and Workbook
Builder Plug-in. These plug-ins provide a way to implement dynamic datasets and workbooks in
SuiteAnalytics Workbook. Dynamic datasets and workbooks can display data based on role restrictions,
permission restrictions, enabled features, and other user-based settings. To create datasets and
workbooks to display this type of data, you must use a plug-in. For more information about these plug-
ins, see the help topics Dataset Builder Plug-in Interface Overview and Workbook Builder Plug-in Interface
Overview.
You can use SDF to customize the plug-ins by defining the following objects:
■ datasetbuilderplugin — The custom object that defines each Dataset Builder Plug-in.
Each datasetbuilderplugin custom object requires a scriptfile field reference to a SuiteScript file
that implements the following interface function:
□ createDataset()
For more information about the available fields, see the help topic datasetbuilderplugin.
The following example defines a datasetbuilderplugin custom object named "Dataset Builder 1" that
specifies the SuiteScript file dsbuilder.js:
<datasetbuilderplugin scriptid="customscript_datasetbuilder">
■ workbookbuilderplugin — The custom object that defines each Workbook Builder Plug-in.
Each workbookbuilderplugin custom object requires a scriptfile field reference to a SuiteScript file
that implements the following interface function:
□ createWorkbook()
For more information about the available fields, see the help topic workbookbuilderplugin.
The following example defines a workbookbuilderplugin custom object named "Workbook Builder 1"
that specifies the SuiteScript file wbbuilder.js:
<workbookbuilderplugin scriptid="customscript_workbookbuilder">
<description>A custom workbook builder</description>
<isinactive>F</isinactive>
<loglevel>DEBUG</loglevel>
<name>Workbook Builder 1</name>
<notifyadmins>F</notifyadmins>
<notifyemails/>
<notifyowner>T</notifyowner>
<notifyuser>F</notifyuser>
<runasrole/>
<scriptfile>[/SuiteApps/com.example.yourapp/wbbuilder.js]</scriptfile>
<status>TESTING</status>
</workbookbuilderplugin>
For more information about defining datasetbuilderplugin and workbookbuilderplugin objects, see the
help topics Dataset Builder Plug-ins as XML Definitions and Workbook Builder Plug-ins as XML Definitions.
initlocalizationcontext multi-select list Specifies the localization contexts used to filter the
workflow execution. For more information, see Filter
Workflow Executions by Localization Context Support.
■ Accounting SuiteApps
■ Administration SuiteApps
■ Banking SuiteApps
■ Food and Beverage SuiteApps
■ Integration SuiteApps
■ Inventory Management SuiteApps
■ Localization SuiteApps
■ Manufacturing SuiteApps
■ Non-Profit SuiteApps
■ Order Management SuiteApps
■ Projects SuiteApps
■ SuiteBuilder Customization SuiteApps
■ SuitePeople SuiteApps
■ Taxation SuiteApps
■ Vendors, Purchasing, and Receiving SuiteApps
■ Wholesale Distribution SuiteApps
Accounting SuiteApps
This release note was updated October 28, 2020.
Sequential Liability SuiteApp version 1.02 is now generally available. This SuiteApp provides a unified view
of accounts payable, accounts receivable, projects, and cash balances while enabling financial controllers
to pay vendors confidently. This SuiteApp helps effectively manage cash flow for transactions where
payment to vendors is linked to receipt from customers.
Using this SuiteApp, you can have an overall view of your subsidiary’s project-related payable and
receivable transactions. You can also view more details about the payable and receivable transactions for
a specific project.
Enhancements in this version include the Sequential Liability dashboard and the addition of Sequential
Liability information on the project record.
With Sequential Liability version 1.02, you can now do the following:
■ View Sequential Liability tiles on the dashboard for the following KPIs: payable balance, receivable
balance, total receipts to date, and total payments to date for a project or subsidiary.
■ View A/P and A/R details on the project record.
For more information on this SuiteApp, see the help topic Sequential Liability SuiteApp.
■ Define accounting configurations using sales accounts, sales returns accounts, subsidiaries,
accounting books, and transaction types.
■ Create and edit sales returns account mapping record if you have the Custom Records Entries
permission enabled in your account.
■ Import sales and sales return transactions through CSV or Web Services.
■ Map memo fields and segments to sales return accounts for analytics.
For more information, see the help topic Sales Return Accounting.
■ Depreciation Schedule Report – In previous versions, customers that have a high volume of assets
under one subsidiary and asset type encounter a time limit exceeded error. This report has been
optimized so that customers will no longer encounter the error when processing large amounts of
data.
■ Subsidiary name in Fixed Assets reports – To avoid the 300–character limit error, the Subsidiary
field in all standard Fixed Assets reports now shows the parent company name and the direct parent
company at the beginning of the subsidiary name.
■ Asset Register Saved Search – The Acquisition column in the Asset Register Saved Search has been
corrected to exclude the acquisition cost on asset transfer.
■ Japan Old Straight Line and Japan Old Declining Balance – These depreciation methods are used
for assets purchased before April 1, 2007. Using these methods, when the asset equals 5% of the
original cost, the asset will be depreciated using the Straight Line method over 5 years (60 months) or
until the residual value equals 1 JPY.
The Old Straight Line yearly depreciation limit is calculated as 90% of the acquisition cost, multiplied by
the depreciation rate.
■ Japan Special Depreciation – Companies that meet requirements specified by the Japanese tax
authority may apply a special depreciation to their assets. This method is an accelerated depreciation
and is applied in addition to the regular depreciation of an asset. The special depreciation will enable
customers to complete the depreciation process early and calculate their taxable income. The special
depreciation may be applied to an asset within the first 3 years of its life.
The new depreciation methods for Japan are included in the Japan Schedule 16 (1) and Japan Schedule
16 (2) reports.
Note: The special depreciation can be applied only to assets that use the Japan Straight Line,
Japan 200% Declining Balance, and Japan 250% Declining Balance methods.
Important: SuiteApprovals SuiteApp 6.00.0 is available for early access testing in Sandbox
accounts. The target availability to all production accounts is in November 2020.
SuiteApprovals version 6.00.0 includes the Email Approval preference, which you can enable to allow
approval of supported records through email.
When this preference is enabled, you can define email approvals for your organization through the
following:
For more information, see the help topic SuiteApprovals Version 6.00.0.
Administration SuiteApps
This release note was updated October 21, 2020.
The Performance Health Dashboard is a visual tool that displays high-level information about account
issues by using tiles, figures, and tables. From the Performance Health Dashboard, you can navigate to
other tools in the APM SuiteApp to investigate the cause of an issue. Use the dashboard as a starting
point for investigating issues in your account.
To start using the dashboard, go to Customization > Performance > Performance Health Dashboard.
For more information, see the help topic Monitoring Account Performance.
The following table lists the changes to the navigation and labels:
SuiteCloud Processors Monitor Page Time Details (previously accessed only with Page Time Summary)
For more information, see the help topic Accessing Application Performance Management.
The update applies to both dashboards available with Concurrency Monitor tool, the Concurrency Monitor
and Concurrency Details dashboards. You can view a different display depending on the governance type
that applies to your account. If you are using an account with integration-specific limits, the Concurrency
Monitor dashboard lets you see separate sets of data for allocated limits and unallocated limits.
To start using the Concurrency Monitor tool, go to Customization > Performance > Concurrency Monitor.
For more information, see the help topic Monitoring Web Services and RESTlet Concurrency.
Portlet
RESTlet
Scheduled
SDF Installation
Suitelet
User Event
Workflow Action
For more information, see the help topic Script and Plug-in Types in Application Performance
Management.
Banking SuiteApps
This release note was updated October 7, 2020.
Bank Feeds SuiteApp version 20.2 is expanding its support by enabling you to connect your NetSuite
account to multiple financial institutions that operate in Europe. This feature automates the transfer of
your bank data from thousands of financial institutions in Europe to your NetSuite account for your bank
reconciliation task.
Version 20.2 automatically provisions your account with a new format profile record. This new record is
exclusive for bank feeds integration with financial institutions that are under the PSD2 (Revised Payment
Services Directive) European regulation. This expansion lets you:
■ Configure a connection through an authorized account information service provider to your preferred
financial institutions operating in countries located in Europe and are PSD2 compliant.
■ Manage your connection to your financial institutions by updating your Multi-Factor Authentication
(MFA) token, rebuilding, and deleting bank feeds connections.
■ Manage associated financial accounts by identifying which accounts you want to include or exclude
from daily automatic bank data import.
For more information, see the help topic Bank Feeds SuiteApp.
Previously, with the Bank Connectivity SuiteApp, connecting to your financial institutions using SFTP
(Secure File Transfer Protocol) connectivity requires manual trigger and import of bank statement files
into NetSuite.
Auto Bank Statement Import (ABSI) SuiteApp introduces an automated way of importing bank statement
files into NetSuite daily.
Note: The new ABSI SuiteApp is replacing the Bank Connectivity SuiteApp, which is targeted for
deprecation in April 2021.
The ABSI SuiteApp uses the latest version of the SFTP Connectivity Plug-in to automatically retrieve and
upload bank and credit card statement files into NetSuite daily. This added feature enables finance users
to focus more on reconciling the bank and credit card transactions between NetSuite and your financial
institutions.
■ Securely connect to your financial institutions through the enhanced SFTP connectivity configuration.
■ Eliminate manual process of triggering your SFTP connection to fetch the statement files from your
financial institutions.
For more information, see help topic Auto Bank Statement Import SuiteApp.
backward trace. For component items, you can use forward trace to trace the source of procurement,
consumption, and delivery transactions. Forward trace also lists the delivery transactions of the assembly
items. For finished goods, you can use backward trace to list the source of manufacturing and delivery
transactions. Backward trace also lists sourcing transactions of component items. The SuiteApp also lists
various quantity details.
Note: The Lot and Serial Number Trace SuiteApp supersedes the SuiteSolutions - Lot Traceability
SuiteApp (bundle ID – 132060).
For more details, see the help topic Lot and Serial Number Trace.
Integration SuiteApps
This release note was updated September 16, 2020.
■ NetSuite-Oracle Content and Experience Integration Renamed to Oracle NetSuite Content Cloud
Service
■ NetSuite-Oracle Content and Experience Integration General Availability and Enhancements
For more information on this SuiteApp, see the help topic Oracle NetSuite Content Cloud Service.
The NetSuite-Oracle Content and Experience Integration SuiteApp version 1.00.1 includes the following
enhancements:
■ Using the OAuth2.0 authorization protocol, you must log in through Oracle Identity Cloud Service
(IDCS) using dedicated service administrator credentials to configure the SuiteApp.
■ Using the Single Sign-on feature, you can use Oracle IDCS log in credentials to access NetSuite.
■ You can enter the placeholder {RELATEDRECORDS} in your email template to retrieve information
about any project, project task, or milestone task related to the deleted record.
■ You can use the SuiteApp on project records created from project templates.
■ You can track project records not connected to Oracle Content using a predefined saved search
included in the SuiteApp. This saved search can be added as a reminder on the Reminders portlet or
as a Custom Search portlet on your NetSuite home page.
For more information on this SuiteApp, see the help topic Oracle NetSuite Content Cloud Service.
■ Fulfillment Triggers
■ Sampling CSV
■ Scriptable Inspection Triggers
■ Quality Connection to External Quality Management System
Fulfillment Triggers
The NetSuite 2020.2 Quality Management SuiteApp enables you to define and carry out quality
inspections to support sales order fulfillment. Inspections can be associated with any combination of item,
location, customer, and shipping status to ensure inspections meet your organization’s requirements. You
can assign quality specifications to fulfillment transactions to initiate inspection activities based upon this
data.
The Quality Management SuiteApp monitors NetSuite transactions and evaluates inspection needs line-
by-line. After an inspection is triggered it is executed in the Quality tablet interface in the same manner as
other inspections that quality engineers perform.
Sampling CSV
The NetSuite 2020.2 Quality Management SuiteApp CSV upload feature helps to streamline activities to
capture large volumes of sample data. The SuiteApp provides a pre-formatted template in the Quality
tablet interface that quality engineers can use to efficiently collect Excel data offline into the tablet.
Uploading to the tablet interface accelerates data transfer to NetSuite with minimal interruption to tablet
usage. CSV uploads can accommodate as much as 8 Mb of Excel data.
Engineers are then notified by email if errors are encountered during data upload so they can address
the problem using focused inline editing or re-importing the data set. The system manages the file
cabinet cleanup to avoid excessive use of this resource.
For more information, see the help topic Actual vs. Theoretical Variance Reports in the Help Center.
For more information, see the help topic Auto Assign UPC.
Localization SuiteApps
This release note was updated October 7, 2020.
■ ANZ Localization
■ Contra Account Sheets Now Generally Available
■ China Localization Enhancements to Compliance and Reporting Requirements
■ Country-Specific Reports General Availability and Enhancements
■ EMEA Localization Enhancements
■ France Localization Enhancements
■ Germany Localization (Beta) Enhancements
■ India Localization Enhancements
■ India Localization SuiteTax Engine SuiteApp Enhancements
■ Ireland Localization
■ Japan Localization Enhancements
■ Norway Tax Reports
■ Philippine Localization
■ United Kingdom Localization Enhancements
ANZ Localization
The ANZ Localization SuiteApp provides localization features such as customized transaction fields,
records, and report templates specific to Australia and New Zealand.
■ A tax report template for generating the Taxable Payments Annual Report
■ Additional setup and rules for records and transactions specific to Australia and New Zealand
customers and users
■ Automatic updates of new localization features and enhancements for Australia and New Zealand
accounts
The ANZ Localization SuiteApp requires the Tax Reporting Framework SuiteApp to generate tax reports
and is currently only supported in the Legacy environment.
To learn more about the SuiteApp, see the help topic ANZ Localization.
The China Localization SuiteApp provides important financial reports that are needed to operate in China.
These reports are updated with the following enhancements:
China Subledger Report ■ Memo field input character limit is extended to 300. Display is truncated for printing
on fixed-line forms such as the 5-line, 8-line, and 2-per-page voucher layouts.
China Cash & Bank
Journal Ledger ■ The Creator, Approver, and Poster fields now show the middle name of each
person.
China Voucher List ■ Standard ISO currency codes are used for label of foreign currency fields.
■ The generally accepted term “FX” is now used for the foreign currency column English
translation.
■ Support for Accounting Context to enable printing of vouchers using China GAAP
accounts or other selected contexts is added.
China Voucher List ■ The China Voucher List page now shows the Creator, Approver, and Poster fields for
each voucher.
■ You can now change the sorting order of the vouchers before printing them. You can
sort by voucher number, date, document type, or document number.
■ You now have the option to select a voucher and print immediately from the Voucher
List search page.
■ Issues on formatting, page splitting, and content printing have been resolved.
China Voucher Printing ■ Support for Accounting Context to enable printing using China GAAP accounts is
Report added.
■ Issues on formatting, page splitting, and content printing have been resolved.
For more information, see the help topic Contra Account Sheets.
Country-Specific Reports SuiteApp version 1.00.0 also includes the following enhancements and
adjustments:
■ For each variable (basic report building block), you can choose a starting point and an end point for
the date range of referenced data. Setting relative periods on variable level is necessary for the Net
profit and Unrealized gains from previous periods to be properly displayed in reports. This feature
ensures that Period End Closing processes are correctly reflected in financial reports created by the
Country-Specific Reports SuiteApp.
■ You can add a special macro to the report template to display the balance of each variable split into
balances of individual accounts. This means that for each variable in a report, you will see the list of
accounts it consists of.
■ If a report uses the lists of accounts feature and the second comparative column, even inactive
accounts are listed in it (those active in at least one of the periods).
■ New filter variables have been added. In exported files, you can see additional information about
selected filter values (at the time when the report export was run). Accounting Book, Comparative
Period From, and Comparative Period To filter variables are available.
■ For the Accountant user role, the permission level to access Report, Variable, and Export records
decreases to View.
■ The Subsidiary Context filter now also lists elimination subsidiaries.
For more information, see the help topic Country-Specific Reports Overview.
■ FR International ISO20022
Using these payment templates requires the Electronic Bank Payments SuiteApp.
Apart from the France financial saved reports, the France Localization SuiteApp also provides the
following financial reports that were built using the Country-Specific Reports SuiteApp:
You can view these reports on the Country-Specific Reports page, which is provided by the Country-
Specific Reports SuiteApp.
The new version also provides saved search-type Lettrage reports, which list matched transactions by
customer and vendor.
■ Electronic Invoicing Features for India - To comply with the electronic invoicing requirements for
India, the SuiteApp now enables you to do the following:
□ Generate e-invoices that comply with the GSTIN standards for cash sale, credit memo, invoice, and
vendor credit transactions.
□ Register e-invoices with the Invoice Registration Portal (IRP).
□ Send the certified e-invoices to customers or vendors.
□ View trail of activities in detail in the E-Document Audit Trail subtab.
□ Generate and send e-invoices for certification in bulk.
□ Generate E-Way Bill along with e-invoice, if you provide E-Way Bill details in the transaction.
□ Add and display the Electronic Documents portlet on the dashboard.
The SuiteApp also includes templates and certification sending methods that let you integrate with the
GST Suvidha Providers (GSPs). ClearTax is configured in the SuiteApp as the GSP.
To use the electronic invoicing features, you must install the latest version of the Electronic Invoicing
SuiteApp. To know more about getting access, contact your NetSuite account manager or NetSuite
customer support.
■ Changes to the Port Code Field Type - The Port Code field type is changing from free text to
dropdown type for cash sale, credit memo, cash refund, invoice, and vendor bill transactions. The field
is populated with a list of port codes as per the ICEGATE portal to select from.
■ Changes to E-Way Bill Date Field Name and Type - In the E-Way Bill Details section, the E-Way Bill
Date field name is changing to E-Way Bill Valid From. Also, you can now view both date and time
in the field. Consequently, all existing transactions will display a default time of 00:00. The impacted
transaction records include bill credit, cash sale, cash refund, credit memo, and invoice transactions.
For more information, see the help topics Electronic Invoicing for India and India Goods and Services Tax
(GST).
■ Support for Goods and Services (GST) Compensation Cess calculation for all GST supported
transaction types and the export of calculated cess amount in an E-Way Bill.
■ Automatic selection of the default India HSN or SAC codes on transactions line items when entering
assembly items in a transaction record.
■ Addition of a new Create from Bill ID field that displays the bill ID for which the system created the
TIjournal record.
■ Addition of a new India Vendor Wise Transaction saved search that lists vendor wise transaction
details.
■ Support for Union Territory of Ladakh businesses to enable calculation of taxes on transactions and
generation of reports using the SuiteApp.
For more information, see the help topics India Goods and Services Tax (GST), Applying Tax Deduction at
Source on Vendor Bills, and Tax Deduction at Source Tax Details.
Ireland Localization
The Ireland Localization SuiteApp works with the Tax Reporting Framework SuiteApp by providing the
Irish SuiteTax-based report templates. You can select them from the list of country-specific templates on
the Country Tax Reports page. The following report templates are available:
Ireland Localization SuiteApp also delivers the following payment templates provided by the Electronic
Bank Payment SuiteApp:
On the Japan Localization Setup subtab, you can configure the following settings:
For more information, see the help topic Japan Localization Setup.
When you click the Print button on a purchase order, the system automatically logs the number of times
the purchase order was printed. You can find this information in the Number of Times Printed field on
the Print History subtab of the purchase order.
You can also specify where printed purchase orders will be saved. On the Japan Localization Setup subtab,
you can specify a folder in the Save Printed PO In field.
For more information, see the help topic Subcontract Act and Purchase Order Numbering.
■ Queued
■ Invalid
■ Hanging
■ Error
For generation jobs with Hanging status, the administrator can resubmit them by clicking Resolve
Hanging Generation.
For more information, see the help topic Viewing Invoice Summary Generation Status.
■ AR Adj Debit Invoice Summary – This record is used to subtract accounts receivables from the total
net payments.
■ AR Adj Credit Invoice Summary – This record is used to add accounts receivables to the total net
payments.
The custom transactions are available from Customization > Lists, Records, & Fields > Transaction Types >
AR Adj Debit Invoice Summary or AR Adj Credit Invoice Summary > New Transaction.
If included in the invoice summary, the amounts in these custom transactions are applied or reflected in
the Payments Received this Period of the invoice summary, with AR credits added to this amount and AR
debits deducted from it.
For more information, see the help topic Including Payment Adjustments in the Invoice Summary.
■ Equens – ClieOp
■ Equens – ClieOp (ING Bank)
■ SEPA Credit Transfer (Netherlands)
Using these templates requires the Electronic Bank Payments SuiteApp, which handles the processing of
payments for vendor bills, customer refunds, employer expenses, and partner commissions.
For NetSuite accounts with the Electronic Bank Payments SuiteApp, which installed payment templates,
installing the Netherlands Localization SuiteApp will update those templates to formats compliant to the
Netherlands standards.
To install the Norway Tax Reports SuiteApp, you must have the following SuiteApps installed in your
NetSuite account:
■ EMEA Localization
■ Norway Localization
■ International Tax Reports
■ Supplementary Tax Calculation
■ Tax Audit Files
■ Tax Reporting Framework
For more information, see the help topic Norway Tax Reports SuiteApp.
Philippine Localization
The Philippine Localization SuiteApp supports Philippine invoicing with SuiteTax.
You can install this SuiteApp in NetSuite Philippine accounts with the following setup:
This SuiteApp is available and can be installed from the NetSuite SuiteApp Marketplace. It is developed
with SuiteScript version 2.1, using the SuiteCloud Development Framework (SDF).
■ Sales Invoice
■ Billing Statement
■ Collection Receipt
■ Official Receipt
■ Credit Memo
For more information, see the help topic Setting Up Document Numbering.
For more information, see the help topic United Kingdom Localization.
Manufacturing SuiteApps
Following are the 2020.2 manufacturing enhancement to SuiteApps:
This release enhances how the manufacturing mobile scanner captures shop floor data and integrate
seamlessly with NetSuite.
Non-Profit SuiteApps
This release note was updated October 21, 2020.
The key benefits of using the NFP Labor Expense Allocation SuiteApp include:
■ Automatic allocation of personnel costs to benefiting project, department, class, program, grant, or
other NFP segments.
■ Viewing and reporting on total direct costs, including the actual labor costs, of running a program or
project.
■ Availability: Public
For more details, read the help topic NFP Labor Expense Allocation.
A new Dunning Notifications for Group Invoices box is added to the Dunning Letters subtab on the
Customer form. By default, this box is checked and individual dunning notifications for grouped invoices
are disabled. If you want to send individual dunning notifications for grouped invoices, clear the Dunning
Notification for Group Invoice box.
Note: The individual dunning notifications are disabled only in accounts that have the Invoice
Grouping feature and invoice level dunning enabled.
For more information on sending dunning letter notifications, see the help topic Sending and Printing
Dunning Letters.
The update also removes old scripts and deploys new scripts. The scripts are listed in the following table:
■ A-Number
■ State Number
■ Customer Zip
■ Invoices
■ Packing slips
■ Picking tickets
■ Purchase orders
■ Sales orders
■ Standard PDF layout – The updated grid print templates generate a PDF layout optimized for portrait
page orientation.
■ Headers and footers – The header and footer formats remain consistent across all supported
transactions. The header includes company and transaction details, while the footer displays the bar
code and page number.
■ Number and currency formats – The updated grid print templates follow user preferences. You can
personalize how numbers and currencies appear in the printout.
■ Grid table elements - Matrix items with grid templates appear on the grid tables. The grid table
displays elements such as item name, column and row attributes, and item quantities. Each grid
table has a maximum of six column attributes. If the column attributes in the grid template exceed
this number, the attributes overflow to the next grid table. All grid tables show the calculated total
quantity, but only single grid tables display aggregate item quantities for each column attribute.
■ Item list elements - Following the grid table, nongrid items appear on the item list. The item list
includes all items that do not belong to any grid table, including nonmatrix items, matrix items without
grid templates, and payment items. The item list displays elements, such as the item quantities,
names, and calculated total quantity.
■ Invoice, Purchase Order, and Sales Order printout fields - Invoice, purchase order, and sales order
printouts display item rates, amounts, and the calculated total amount on both the grid table and item
list. The last page of the document shows a summary of details, including the tax total and calculated
sum of discounts, markups, shipping costs, and gift certificates. The summary also displays the grand
total quantity and grand total amount.
■ Packing Slip printout fields - Packing slip printouts show ordered, backordered, and shipped
quantities. The last page of the document also contains the customer return form.
To learn more about this feature, see the help topic Grid Order Management.
■ Payment PostBack
■ Web Store
■ Web Application
This change does not affect existing SuiteApp installations. When existing customers get the latest
SuiteApp version, these execution contexts remain active. If you are an existing customer, you should
manually inactivate these three contexts in the following scripts:
For more information about excluding these execution contexts, Removal of Payment PostBack, Web
Store, and Web Application Execution Contexts from Grid Order Management Script Deployments,
SuiteAnswers ID 95685.
■ Chinese (Simplified)
■ Chinese (Traditional)
■ Czech
■ Danish
■ Dutch
■ English
■ Finnish
■ French
■ French (Canada)
■ German
■ Indonesian
■ Italian
■ Japanese
■ Korean
■ Norwegian
■ Portuguese (Brazil)
■ Russian
■ Spanish
■ Spanish (Latin America)
■ Swedish
■ Thai
■ Turkish
■ Vietnamese
To set the language preference, you must enable the Multi-Language feature in your account. For more
information, see the help topic Multi-Language Support.
When editing the item quantity in an existing transaction, the system does not count the previously
granted items when validating the new value entered. For example, the quantity of an item in a
transaction is 4. When you edit the quantity to 5, only the difference of 1 is counted as the requested
quantity and is checked in the inventory.
In previous versions, the system recognizes the new item quantity as the requested quantity and validates
this value, including previously granted items, in the inventory.
For more information about this SuiteApp, see the help topic Enhanced Validations and Defaulting.
Projects SuiteApps
Following are the 2020.2 projects enhancement to SuiteApps:
For more information about this SuiteApp, see the help topic Project Risk Forecast.
■ Follow user preference for First Day of Week – By default, RACG calendar now follows the First Day
of Week preference from the user's NetSuite account. Previously, you cannot set the start of week to
Monday. You can set the preference at Home > Set Preferences, then select a value in the First Day Of
Week field under Localization. This setting applies to all user roles.
■ Optimization of searches to USR engine – This enhancement changes the technology behind the
searching mechanism in SuiteApps to improve the performance of an initial load of the RACG.
For more information, see the help topic Resource Allocation Chart/Grid SuiteApp.
Bill Data Presentment (BDP) version 20.2 includes the following new features and enhancements:
■ Template Assignment
Template Assignment
This feature enables you to assign templates to customers, customer groups, or transaction subsidiaries.
You can set template assignments from the Report Editor page or by going to Bill Presentment > Editors
> Template Assignment.
When a template is assigned to a customer, customer group, or transaction subsidiary, the assigned
template will be used when printing BDP invoices for the customer or subsidiary. If there are multiple
template assignments associated with the invoice, the most recent template assignment will be used.
If there is no template assignment associated with the invoice customer or subsidiary, the preferred
template will be used.
The following new pages are available for bulk print and email requests:
■ Print BDP Invoice – This page enables you to print multiple invoices using BDP templates. The
invoices will be combined in a single PDF file, which will be available for download after the PDF
generation is complete. The PDF file will also be saved in the file cabinet.
To access the Print BDP Invoice page, go to Bill Presentment > Editors > Print BDP Invoice or click the
Print button on the Report Editor page.
■ Email BDP Invoice – This page enables you to generate multiple invoices using BDP templates and
send them through email. The generated invoices will be sent to the email address specified on the
customer record associated with each invoice. You also have the option to modify the customer email
address and include additional recipients for each invoice.
To access the Email BDP Invoice page, go to Bill Presentment > Editors > Email BDP Invoice or click the
Email button on the Report Editor page.
■ Enhanced table formatting options – The following new properties are now available for table and
table column:
□ Theme – This new table property enables you to apply a predefined set of styles (font, border, and
background) to a table element.
□ Row Style – This section enables you to apply a background color to specific table rows. You
can specify a condition to determine to which rows the style will be applied. You can also create
multiple table row styles.
□ Table Column Styles – On the table column properties, you can now set styles for the table
header, column body, subfooter, and footer. You can set the background color, font, and border
for each table section. Under column body style, you can also specify a condition to determine to
which column cell the style will be applied.
■ Text formatting options – You can set the font face, size, color, and style for text elements in the
template. The font properties are available for table column, pie chart, static text, and dynamic text.
■ Color picker – Version 20.2 provides a convenient and flexible way to set color values using a color
picker. Click the color picker next to the color field to select a color from the color palette or spectrum,
or to enter values in the RGB fields.
SuitePeople SuiteApps
Following are the 2020.2 SuitePeople enhancement to SuiteApps:
Header Coordinator Plan Status Shows the status of the entire onboarding or
Section offboarding plan.
Tasks Subtab Coordinator or Employee Task Status Shows the status of the specific onboarding or
offboarding task.
For more information, see the help topic Working with Plans.
Taxation SuiteApps
This release note was updated September 16, 2020.
■ SuiteTax SuiteApps
□ U.S. Sales Tax and Canada GST Now Generally Available
□ Canada Data Provisioning Enhancements
□ Automatic Tax Calculation for Shipping in VAT Countries
□ SuiteTax Reports is now Tax Reporting Framework
■ Legacy Tax SuiteApps
SuiteTax SuiteApps
Important: The SuiteTax enhancements in this section are applicable only to NetSuite
production and Sandbox accounts where the SuiteTax feature is enabled. For NetSuite accounts
without SuiteTax, see Legacy Tax SuiteApps.
■ Automatic provisioning of tax codes and tax rates for your tax jurisdictions (state, province, county,
city, district)
■ Automated monthly tax rate updates for 110 countries
■ Tax rate change history for each tax code
You also have the option to use an external tax partner solution in SuiteTax. The SuiteCloud Developer
Network (SDN) partners who can integrate with SuiteTax using an API include Avalara, Sovos, Taxjar,
Thomson Reuters, Vertex, and Wolters Kluwer. To learn more about the SDN partners, see SuiteApp.com.
For more information, see the help topics SuiteTax Engine and Tax Records in SuiteTax.
Contact your Account Manager to find out how you can get access to SuiteTax.
the Canada nexus default tax codes and tax groups for all the provinces are adjusted based on the new
data structure.
This feature uses the same logic used in the automatic tax calculation for goods. For example, if an entity
default tax code or nexus default tax codes apply to the transaction, they also apply to the shipping
method or shipping item.
This feature also uses the standard lookup logic for goods.
If you have the SuiteTax Reports SuiteApp installed in your account, the bundle details are automatically
updated from SuiteTax Reports version 2.00.4 to Tax Reporting Framework version 1.00.0.
For more information about Tax Reporting Framework, see the help topic Tax Reporting Framework.
Important: The legacy tax enhancements in this section are applicable only to NetSuite
accounts without the SuiteTax feature. For NetSuite accounts with SuiteTax, see SuiteTax
SuiteApps.
For more information, see the help topic Legacy Tax Support in Tax Reporting Framework.
Support for Norway Standard Audit File for Tax (SAF-T) Financial Report
Tax Audit Files version 1.78.0 includes enhancements for the Audit Files Field Mapping page to support
the Norway Standard Audit File for Tax (SAF-T) financial report.
Starting January 1, 2020, companies with a turnover exceeding 5,000,000 Norwegian Krone are mandated
to comply with the submission of the Norway SAF-T report. The Norway SAF-T financial report is a
standard file format for exporting various types of accounting transactional data in XML format.
The report structure is based on the SAF-T standard format by the Organization for Economic
Cooperation and Development (OECD).
The first version of the Norway SAF-T financial report is comprised of three main sections:
■ Header – Shows general information about the company and audit file
■ Master Files – Shows information about general ledger account, suppliers, customers, and tax table
■ General Ledger Entries – Shows accounting transactions
To successfully generate the Norway SAF-T financial report, you must complete the following tasks:
■ Ensure that you are using Tax Audit Files version 1.78.0
■ Install the latest versions of the following SuiteApps:
□ NetSuite Norway Localization SuiteApp (ID 270800)
□ EMEA Localization SuiteApp (ID 303903)
□ International Tax Reports SuiteApp (ID 43003)
□ Supplementary Tax Calculation SuiteApp (ID 123426)
□ Tax Reporting Framework SuiteApp (ID 237699)
□ Norway Tax Reports SuiteApp (ID 333158)
■ Set the Use Account Numbers preference on the Accounting Preferences page
■ Enable the Multiple Currencies feature on the Enable Features page
Note: When EMEA Localization SuiteApp is installed, ensure that the Registration Number on the
subsidiary record is provided. You must review the related configuration and mandatory fields for
the Norway SAF-T financial report explained in Norway Standard Audit File for Tax (SAF-T) Financial.
The Account Files Field Mapping page is also updated to support the following account and tax codes
mapping categories for the Norway SAF-T financial report:
To learn more, see the help topic Norway Standard Audit File for Tax (SAF-T) Financial.
International Tax Reports version 3.117.0 includes automatic provisioning of reduced rate tax codes for
newly created Austria subsidiaries and nexuses. These new tax codes are effective from July 1, 2020 until
December 31, 2020:
The Austria VAT report will be updated to properly report R3-AT and ER3-AT tax codes in the following
boxes, respectively:
009 Sales at 5% according to § 28 Abs. 52 Z 1 from July 1, 2020 until December R3–AT
31, 2020
010 5% according to § 28 Abs. 52 Z 1 from July 1, 2020 until December 31, ER3-AT
2020
To learn more about the new tax codes and Austria VAT form update, see the help topics Tax Code Table
for Austria and What goes into each box - Austria VAT report.
International Tax Reports 3.117.0 supports Ireland’s temporary reduction of standard VAT rates due to
COVID-19 effective from September 1, 2020 until February 28, 2021.
The update includes automatic provisioning of the following tax codes for newly created Ireland
subsidiaries or nexuses:
S1-IE Standard Rate at 21% from September 1, 2020 to February 28, ■ Rate of 21%
2021
■ Available on both Sales and
Purchases
RC1-IE Reverse charge sales in country from September 1, 2020 until ■ Rate of 0%
February 28, 2021
■ Reverse Charge Code
■ Notional Rate Derived from S1-IE
(21%)
■ Available on both Sales and
Purchases
The Ireland VAT3 form is also updated to properly report the new tax rates in the appropriate boxes.
To learn more about Ireland’s COVID-19 tax response and VAT3 form updates, see the help topics
Temporary Tax Codes for Ireland COVID-19 Tax Response and What goes into each box - Ireland VAT 3
report.
To learn more, see the help topic Tax Code Table for Saudi Arabia.
International Tax Reports version 3.116.0 supports the temporary reduction of Germany tax rates due to
COVID-19. This tax rate update is applicable to Standard VAT Rate (16%) and Reduced VAT Rate (5%) from
July 1, 2020 until December 31, 2020.
The update includes automatic provisioning of tax codes for newly created Germany subsidiaries or
nexuses with the following properties:
S2-DE Standard Rate from July 1, 2020 until December 31, 2020 ■ 16% Rate
■ Available on both Sales and
Purchases
R1-DE Reduced Rate from July 1, 2020 until December 31, 2020 ■ 5% Rate
■ Reduced Rate
■ Available on both Sales and
Purchases
ESSP1-DE EC Purchases (Services) from July 1, 2020 until December 31, ■ 0% Rate
2020
■ EC Code
■ Reverse Charge
■ Applies to Service Items
■ Notional Rate Derived from S2-DE
(16%)
■ Available on both Sales and
Purchases
ESSS1-DE EC Sales (Services) from July 1, 2020 until December 31, 2020 ■ 0% Rate
■ EC Code
■ Applies to Service Items
■ Notional Rate Derived from S2-DE
(16%)
■ Available on both Sales and
Purchases
SS1-DE Applicable for Mobile Devices from July 1, 2020 until December ■ 0% Rate
31, 2020
■ Reverse Charge
■ Notional Rate Derived from S2-DE
(16%)
■ Available on both Sales and
Purchases
RC1-DE Reverse Charge from July 1, 2020 until December 31, 2020 ■ 0% Rate
■ Reverse Charge
■ Notional Rate Derived from S2-DE
(16%)
■ Available on both Sales and
Purchases
IS1-DE Purchases of Services from outside EU from July 1, 2020 until ■ 0% Rate
December 31, 2020
■ Reverse Charge
■ Notional Rate Derived from S2-DE
(16%)
■ Applies to Service Items
■ Import
■ Available on both Sales and
Purchases
For more details, see the help topic Germany COVID-19 Tax Response: Temporary Tax Codes.
The tax codes will be reported in the following boxes of Germany Monthly/Quarterly VAT Return:
41 Sales of goods and services transactions within the EU Sales Net Amount of ES1-DE, ER1-DE
35 Sales which are subject to other VAT rates Sales Net Amount of S2-DE, R1-DE
36 Sales which are subject to other VAT rates Sales Tax Amount of S2-DE, R1-DE
95 Intra-community aquisitions, which are subject to other VAT rates Purchases Net Amount of ES1-DE, ER1-DE
98 Intra-community aquisitions, which are subject to other VAT rates Purchases Notional Tax Amount of ES1-
DE, ER1-DE
60 Taxable sales, where recipient is liable for tax payment Sales Net Amount of SS1-DE, RC1-DE
21 Net amount of sales of services within the EU Sales Net Amount of ESSS1-DE
46 Net amount of purchases of services within the EU Purchases Net Amount of ESSP1-DE
47 VAT of purchases of services with standard notional rate within Purchases Notional Amount of ESSP1-DE
the EU
84 Other services (§ 13b para 2 No. 1, 2, 4 to 11 UStG) Purchases Net Amount of SS1-DE, RC1-
DE, IS1-DE
85 Tax amount of other services (§ 13b para 2 No. 1, 2, 4 to 11 UStG) Purchases Notional Amount of SS1-
DE, RC1-DE, IS1-DE
66 Purchase VAT on invoices from other businesses, from services Purchases Tax Amount of S2-DE, R1-DE
provided and from intra-community triangulations
61 Notional tax amount of purchases within the EU Purchases Notional Amount of ES1-
DE, ER1-DE
67 Input VAT from supplies subject to reverse charge Purchases Notional Amount of ESSP1-
DE, IS1-DE, RC1-DE, SS1-DE
To learn more about the details of the VAT form, see the help topic What goes into each box - Germany
Monthly/Quarterly VAT report.
■ Administrators must customize the Employee Center role to allow approvers to use this capability.
□ Customize the Employee Center role to set the Bill permission to View.
□ Assign the customized Employee Center role to vendor bill approvers.
■ The SuiteApprovals portlet is accessible from the Personalize Dashboard palette.
When logged in using the customized Employee Center role, the vendor bill approver can add to the
dashboard the SuiteApprovals | Records for Approval portlet.
■ The SuiteApprovals portlet displays the number of vendor bills for approval, and the link to the page
listing the records.
Approvers must still access each vendor bill record to approve or reject the transaction.
For more information, see the help topic SuiteApprovals Version 6.00.0.
Bill of Lading
A bill of lading is a document that primarily serves as a legally binding agreement between the carrier and
shipper or freight owner. It helps the carrier process the cargo according to the original contract. A bill of
lading is presented to the carrier, outlining the individual shipping orders included in a shipment.
The Bill of Lading SuiteApp provides a simplified interface to print the Bill of Lading document for selected
item fulfillments. With this SuiteApp, you can: