After the SAML Single Sign-on feature is enabled, administrators and users with the Set Up SAML Single Sign-on permission can view and edit the SAML Setup page in NetSuite. How you configure NetSuite as a service provider (SP) with the identity provider (IdP) of your choice depends on the IdP you have selected. To prepare… Continue reading Prepare to Provide NetSuite SP Metadata to Your IdP
Author: Manikandan TM
Technical Questions about SAML Is encryption required?
As stated in the NetSuite Service Provider (SP) metadata, encryption is not required. At minimum, it is required only that assertions be signed (WantAssertionsSigned=”true”). But an identity provider (IdP) can set a higher level of security using encryption. Refer to the SAML specifications to learn more about the encryption options SAML supports.
How to Use response.sendRedirect in NetSuite SuiteScript
How to Use `response.sendRedirect` in NetSuite SuiteScript Overview: In NetSuite SuiteScript, the `response.sendRedirect` function allows developers to redirect users to a specific page, record, or script within NetSuite. This is particularly useful when you want to guide users to a different location after they perform certain actions in a Suitelet or RESTlet. Syntax: javascript response.sendRedirect({… Continue reading How to Use response.sendRedirect in NetSuite SuiteScript
How NetSuite Streamlines Governance, Risk and Compliance
Governance, risk and compliance (GRC) controls protect stakeholder interests, minimize organizational risk, improve decision-making and instill confidence in outside lenders and investors. Collectively, the term refers to a company’ strategy for handling interdependencies among corporate governance policies, enterprise risk management programs and both regulatory and corporate compliance. Coined in 2007 by nonprofit think tank Open Compliance and… Continue reading How NetSuite Streamlines Governance, Risk and Compliance
Changes to External Suitelet URLs
Suitelets that are available without login have updated External URLs as of May 9, 2024. The new URL is displayed in the External URL field on the script deployment record and uses the &ns-at= parameter followed by a new value. The previous URL format will continue working for a limited time, but it is recommended that you… Continue reading Changes to External Suitelet URLs
Working With Cookies in Suitelets
Getting Cookies When using a Suitelet, we have access to all of a request’s headers, and can get to them via context.request.headers. Here’s a sample of what the headers look like: { “X-Akamai-SR-Hop”: “1”, “true-client-ip”: “83.74.96.100”, “User-Agent”: “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6.1 Safari/605.1.15”, “x-forwarded-port”: “443”, “x-advpf-parse-category”: “DEFAULT_ALLHTML”, “Accept-Encoding”:… Continue reading Working With Cookies in Suitelets
FreeMarker/NetSuite PDF Template – Double sorting by date, with possible empty values
<table> <tr> <th>name</th> <th>quantity</th> <th>dateFrom</th> <th>dateTo</th> </tr> <!– Print entries with from/to dates –> <#list records?filter(x -> x.custcol_from_date?has_content && x.custcol_to_date?has_content)?sort_by(“custcol_to_date”)?sort_by(“custcol_from_date”) as record> <tr> <td>${record.name}</td> <td>${record.quantity}</td> <td>${record.custcol_from_date}</td> <td>${record.custcol_to_date}</td> </tr> </#list> <!– Print entries without from/to date at the end of table –> <#list records?filter(x -> !x.custcol_from_date?has_content || !x.custcol_to_date?has_content) as record> <tr> <td>${record.name}</td> <td>${record.quantity}</td> <td>${record.custcol_from_date}</td> <td>${record.custcol_to_date}</td> </tr>… Continue reading FreeMarker/NetSuite PDF Template – Double sorting by date, with possible empty values
How can I track which fields have been edited in Netsuite when syncing NetSuite sales orders to Salesforce?
If you have a limited set of fields to check you can make use of the old record. Rough idea below: function afterSubmit(context) { const oldRec = context.oldRecord; const newRec = context.newRecord; const updateSpec = getBodyChanges(newRec, oldRec); updateSpec.lines = []; // similar idea for lines but you also have to make sure lines (checking lineuniqekey)… Continue reading How can I track which fields have been edited in Netsuite when syncing NetSuite sales orders to Salesforce?
How to Call https.patch in NetSuite to Update a Salesforce Record
You can work around this limitation by sending a POST request and including a query string parameter _HttpMethod to override the HTTP method. For example, if you need to perform a PATCH requestyou can modify your request as follows by adding ?_HttpMethod=PATCH to the end of your url POST /your/endpoint?_HttpMethod=PATCH I found this solution in… Continue reading How to Call https.patch in NetSuite to Update a Salesforce Record
How to Decode a Base64 String in NetSuite
How to Decode a Base64 String in NetSuite Introduction Base64 encoding is commonly used to encode binary data as text, which can be easily transmitted over text-based protocols such as HTTP. In NetSuite, decoding a Base64 string can be essential for various integrations and data handling tasks. This article will guide you through the process… Continue reading How to Decode a Base64 String in NetSuite