Configuring Real-Time Record Import from NetSuite into OpenAir
You can configure NetSuite so that NetSuite records are imported automatically in to OpenAir when the record is saved by any user in NetSuite. If a user has the relevant permissions to create or modify a record in NetSuite and saves the record, the record is imported in to OpenAir. The NetSuite user making the change does not need to be an OpenAir user.
The following NetSuite records can be imported in to OpenAir upon saving. The real-time import creates a new record in OpenAir if it is imported for the first time, and updates the OpenAir record if it was created during a previous import.
-
Employees
-
Customers
-
Projects
-
Cases (imported to OpenAir as project tasks)
-
Project Tasks
-
Items
-
Expense categories
-
Sales orders
-
Credit memos
-
Invoice payments
-
Vendor bills
-
Vendor credits
-
Purchase orders
-
Expense report reimbursements
-
OpenAir: Cost Center (custom record)
-
OpenAir: Project Rate Card (custom record)
Before using the following steps to configure real-time record import from NetSuite into OpenAir, review the Real-Time Import Functionality and Controls.
The steps in this help topic describe how to enable and set up the upgraded version of the Real-Time Record Import feature, which uses certificate-based authentication instead of SuiteSignOn to validate real-time record import requests.
Until the OpenAir 2023.2 release, Real-Time Record Import relied on the NetSuite Outbound Single Sign-On (SuiteSignOn) feature.
NetSuite plans to end support for SuiteSignOn with the NetSuite 2024.2 for production accounts. The functionality relying on SuiteSignOn may stop working at any time after its end-of-support date. Upgrade before the NetSuite 2024.2 release to ensure service continuity. For upgrade instructions, see Upgrading OpenAir NetSuite Connector Features to Remove the Dependency on SuiteSignOn.
You should test all integration configuration changes on sandbox NetSuite and OpenAir accounts before implementing them in your production accounts.
To configure real-time record import from NetSuite into OpenAir:
-
In NetSuite, install or update the following bundles. See Installing a Bundle (external link to NetSuite SuiteAnswers | Answer ID: 10223).
-
NetSuite OpenAir SRP Integration (Bundle ID: 369637) – release version 4.0 or later.
This bundle version:
-
Adds fields to the
OpenAir: SRP Integration Settings
custom record type. Some of the fields are required to enable OpenAir NetSuite Connector to use NetSuite as OIDC Provider for outbound single sign-on. -
Adds the following permission to the
NSOA Connector
role:-
OIDC Provider Setup (Full)
-
OAuth 2.0 Authorized Applications Management (Full)
-
Log in using OAuth 2.0 Access Tokens (Full)
-
Certificate management (Full)
-
-
-
NetSuite OpenAir SRP Real-time Add-on (Bundle ID 369630) – release version 3.0 or later.
This bundle version:
-
Updates the
OpenAir: Send Record to OpenAir v2.0
user event script to import records from NetSuite into OpenAir in real-time using certificate-based authentication. -
Adds the
custcertificate_oa_realtime
certificate record. The default certificateopenair-certificate.pem
associated with thecustcertificate_oa_realtime
certificate record is not valid. It is a required placeholder that will be replaced later (Steps 6 and 7).
Important:Update NetSuite OpenAir SRP Integration bundle (Bundle ID 369637) to Version 4.0 or later before you update NetSuite OpenAir SRP Real-time Add-on (Bundle ID 369630) to version 3.0. NetSuite OpenAir SRP Integration bundle (Bundle ID 369637) 4.0 updates the
OpenAir: SRP Integration Settings
custom record type with settings required for using certificate-based authentication for the Real-Time Record Import feature.Both bundles include SuiteScript 2 and SuiteScript 1.0 versions of all scripts.
-
After you install or update the NetSuite OpenAir SRP Integration (Bundle ID: 369637) bundle from a previous version, SuiteScript 1.0 version of scripts are deployed by default, unless you switched to SuiteScript 2 versions before the update. You can switch to the SuiteScript 2 versions, or continue to use the updated SuiteScript 1.0 versions. See Switching to SuiteScript 2 Versions of Integration Bundle Scripts.
-
NetSuite OpenAir SRP Real-time Add-on (Bundle ID 369630) Version 3.0 or later is required and
OpenAir: Send Record to OpenAir v2.0
must be deployed to enable real-time record import from NetSuite into OpenAir using certificate-based authentication.OpenAir: Send Record to OpenAir
(SuiteScript 1.0 version) supports only the SuiteSignOn method.OpenAir: Send Record to OpenAir v2.0
(SuiteScript 2.0 version) supports both the SuiteSignOn and certificate-based authentication methods. OpenAir will end support for this SuiteScript 1.0 version some time after the NetSuite 2024.2 release, when support for the SuiteSignOn feature ends (date to be confirmed).
-
-
-
If you are using your own custom role for the OpenAir integration instead of the “NSOA Connector” role created by the NetSuite OpenAir SRP Integration (Bundle ID 369637) bundle, make sure that this custom role includes the Certificate management permission (Full permission level) in the Setup secondary subtab. For more information, see Creating a Custom Role for the Integration in NetSuite.
-
Deploy
OpenAir: Send Record to OpenAir v2.0
for each record type you want to import into OpenAir using the real-time integration.Note:If you are updating NetSuite OpenAir SRP Real-time Add-on (Bundle ID 369630) bundle from version 1.x, undeploy the SuiteScripts 1.0 version of the script for all the record types before you deploy the SuiteScripts 2.0 version. To do so:
-
Go to Customization > Scripting > Scripts.
-
Locate the
OpenAir: Send Record to OpenAir
script and click Edit. -
On the Deployments subtab, clear the Deployed boxes and click OK to confirm for all record types.
-
Click Save.
See also Switching to SuiteScript 2 Versions of Integration Bundle Scripts.
-
Go to Customization > Scripting > Scripts.
-
Locate the
OpenAir: Send Record to OpenAir 2.0
script and click View.Tip:Use filters to show only the relevant scripts in the list. Set the From bundle filter to 369630.
-
Do the following for each record type you want to import into OpenAir using the real-time integration:
-
In the Deployments subtab, click the record type name.
The script deployment record appears.
-
Click Edit.
-
Change the following settings:
-
Deployed – Check the box
-
Execute as Role – Select
NSOA Connector
or the custom role you created for the integration. See Creating a Custom Role for the Integration in NetSuite. -
Roles (Audience subtab) – Check the Select All box.
-
-
Click Save.
-
Click the Script link to go back to the
OpenAir: Send Record to OpenAir 2.0
script record.
-
-
-
Verify that
OpenAir: Send Record to OpenAir 2.0
) runs after all other user event scripts for each record type you want to import into OpenAir using the real-time integration. See Verifying User Event Scripts Running Order. -
Update the preferences for the NetSuite <> OpenAir integration.
-
Go to Customization > Lists, Records and Fields > Record Types > [List
OpenAir: SRP Integration Settings
] > [EditOpenAir SRP Integration Settings Record
]. -
Enter the following information:
-
OpenAir URL — The URL for your OpenAir account. The URL must include the account-specific domain name for your OpenAir account. For more information about your account-specific domain name, see Your OpenAir Account URLs.
-
OpenAir Database ID — Your unique OpenAir account number. See Finding the Database ID for Your OpenAir Account.
-
-
In the NetSuite OpenAir SRP Real-Time Add-On subtab
-
Check the Real-time integration with OpenAir box.
-
Enter the email address to be used for error notifications (Email address to send errors).
-
(Optional) Check the Leads with customer integration and Prospects with customer integration boxes to enable additional customer integration features for use with leads and prospects.
Note:Make sure the following settings are enabled on the OpenAir NetSuite Connector administration form, before you enable these features in NetSuite:
-
Include NetSuite leads marked 'Export to OpenAir' in the customers import
-
Include NetSuite prospects marked 'Export to OpenAir' in the customers import
Make sure that the real-time integration script is deployed for Leads (
customdeploy_oa_send_lead
) and Prospects (customdeploy_oa_send_prospect
). -
-
-
Click Save.
-
-
Enable the Real-Time Record Import feature in OpenAir, and verify that a valid certificate was generated and saved to NetSuite and OpenAir. See Enabling the Real-Time Record Import Feature in OpenAir.
Note:OpenAir uses certificates to validate real-time record import requests.
Certificates are valid for a finite period. After the initial set up, OpenAir NetSuite Connector generates a new certificate and saves it to NetSuite and OpenAir automatically one to two weeks before the previous certificate expires. You can verify if the real-time record import certificate is valid, and generate a new certificate at any time in OpenAir. See Real-Time Record Import Certificate and Certificate Rotation.
Real-Time Import Functionality and Controls
Review the following functionality, controls and limitations:
-
The OpenAir NetSuite Connector configuration determines real-time record imports from NetSuite into OpenAir:
-
The corresponding workflow must be enabled in the OpenAir NetSuite Connector administration form. See Imports.
-
The corresponding workflow must be activated on the OpenAir NetSuite Connector Mapping tab. See Adding and Managing Integration Workflows.
-
Real-time imports use the same field mapping definition as the corresponding workflow in manual and scheduled integration runs. See Mapping OpenAir Fields and NetSuite Fields.
-
-
The real-time import also imports all records modified since the last synchronization. All updates are listed in the integration run log.
-
Real-time imports are queued. Schedule integration runs take priority over real-time imports. Real-time imports will run after scheduled integration runs have completed. A message may appear indicating that the request was added to the queue and will run as soon as possible.
-
Real-time synchronization is triggered as an
afterSubmit
user event when the user creates, or edits a record, either from the record form or from a list view using inline-editing. -
The running order of user event scripts may change when you update a bundle in NetSuite. You should verify and, if necessary, change the script running order for all relevant scripted records in NetSuite. The
afterSubmit
user event script sending the record to OpenAir (OpenAir: Send Record to OpenAir
orOpenAir: Send Record to OpenAir 2.0
) should run after all other user event scripts for the record type. See Verifying User Event Scripts Running Order. -
The real-time import only runs when a user clicks Save on the record form. It does not run if the record creation or update is automated. For example, if the data is imported into NetSuite from a CSV file, or added or updated using SuiteScript or SuiteFlow, the data is not transferred automatically to OpenAir using real-time import. Instead you need to schedule an integration run or trigger an integration run manually to import this data into OpenAir.
-
If you are using the customer integration to capture changes to leads and prospects, the real-time import only runs if the lead or prospect is modified. The changes will be imported in to OpenAir if a lead or prospect changes to a customer or if a lead changes to a prospect. Other processes that change status automatically, such as using the lead conversion CRM feature, are not supported.
-
If you use real-time integration for Project Tasks or Customers, you can improve the performance of real-time integration by enabling monitored fields for project tasks or customers integration. See Enabling Monitored Fields for Import Workflows.