ℹ️ API documentation
Installation
NetSuite service (integration) is provided by Rossum.ai in the form of webhook. To start using NetSuite (either imports or exports), follow these steps:
Login to your Rossum account.
Navigate to Extensions → My extensions.
Click on Create extension.
Fill the following fields:
Name:
NetSuite SB1: Import/Export
Trigger events:
Manual
(later alsoScheduled
)Extension type:
Webhook
URL (see below)
In "Advanced settings" select Token owner
Click Create the webhook.
Fill
Configuration
andSecrets
fields (see Integration Configuration and Import configuration or Export configuration.(Optional) Disable retries for export webhooks (see: Considerations & Limitations)
(Optional) Set hook
secrets_schema
value (see below)
Import endpoints
Environment | Webhook URL |
---|---|
EU1 Ireland | |
EU2 Frankfurt | |
US east coast | |
Japan Tokyo | - |
Export endpoints
Environment | Webhook URL |
---|---|
EU1 Ireland | |
EU2 Frankfurt | |
US east coast | |
Japan Tokyo | - |
Setting hook secrets_schema
value
By default, all hooks have the following JSON schema of their secrets:
{
"type": "object",
"additionalProperties": { "type": "string" }
}
Consider changing it to the following value to clearly outline what values are supported:
{
"type": "object",
"properties": {
"consumer_key": { "type": "string", "minLength": 1 },
"consumer_secret": { "type": "string", "minLength": 1 },
"token_key": { "type": "string", "minLength": 1 },
"token_secret": { "type": "string", "minLength": 1 },
"rossum_username": { "type": "string", "minLength": 1 },
"rossum_password": { "type": "string", "minLength": 1 }
},
"additionalProperties": false
}
Probably the easiest way to achieve this is updating the hook configuration using prd tool.
System context diagram
Useful links
NetSuite main navigation can sometimes be very confusing as it is very customizable. Use the following paths to quickly access NetSuite resources:
Accounts: /app/accounting/account/accounts.nl
Currencies: /app/common/multicurrency/currencylist.nl
File Cabinet: /app/common/media/mediaitemfolders.nl
Items: /app/common/item/itemlist.nl
Purchase Orders: /app/accounting/transactions/transactionlist.nl?Transaction_TYPE=PurchOrd
Roles: /app/setup/rolelist.nl
Subsidiaries: /app/common/otherlists/subsidiarylist.nl
Vendor Bills: /app/accounting/transactions/transactionlist.nl?Transaction_TYPE=VendBill
Vendor Credits: /app/accounting/transactions/transactionlist.nl?Transaction_TYPE=VendCred
Vendors: /app/common/entity/vendorlist.nl
Available configuration options
The following configuration options are available:
{
// Determines whether or not NetSuite should run the configuration asynchronously. Typically,
// imports are asynchronous (since they can take hours) and exports are synchronous (they should
// take minutes).
"run_async": true,
"netsuite_settings": {
// Case sensitive NetSuite account:
"account": "XXX_SB1",
// How many concurrent operations through API can run at the same time:
"concurrency_limit": 4,
"wsdl_url": "https://XXX-sb1.suitetalk.api.netsuite.com/wsdl/v2024_1_0/netsuite.wsdl",
"service_url": "https://XXX-sb1.suitetalk.api.netsuite.com/services/NetSuitePort_2024_1",
"service_binding_name": "{urn:platform_2024_1.webservices.netsuite.com}NetSuiteBinding"
},
// Configures imports (cannot be used together with `export_configs`):
"import_configs": [
{
// Name of the dataset in Master Data Hub:
"master_data_name": "NS_SB1_Currency_v1",
// Optional configurations of the asynchronous behavior (makes sense only when
// `run_async` is true):
"async_settings": {
"retries": 5,
"max_run_time_s": 36000
},
// The actual payload of NetSuite request (closely follows NetSuite API docs):
"payload": {
"method_name": "getAll",
"method_args": [
{
"_ns_type": "GetAllRecord",
"recordType": "currency"
}
],
// Optional headers for NetSuite API request:
"method_headers": {
// NetSuite request-level search preferences (https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_4170181850.html):
"searchPreferences": {
"pageSize": 100,
"bodyFieldsOnly": false,
"returnSearchColumns": false
},
// Other NetSuite request-level preferences (https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_4170181850.html):
"preferences": {
"runServerSuiteScriptAndTriggerWorkflows": false
// …
}
}
}
}
// …
],
// Configures exports (cannot be used together with `import_configs`):
"export_configs": [
// Same with `import_configs`
]
}