Any challenges with your NetSuite integration and sync procedures when it comes to permissions?
Be sure to check out the latest NetSuite Permissions XLS attached to this article to review each if you get errors in the integration which states you need specific permissions for a role or person.
If you do not receive any errors yet records are still not being synced then please check if you have set your NetSuite Role to view all or only the selected subsidiaries in your NetSuite Account.
Let's check out the subscriber's questions below. The following might help shed some light on your question too:
What level of permission does this account need? It does not update customer/contact/transaction info, so I assume view only for those records is fine. For case records probably edit permission?
If I am going to use the Enterprise plan and need to integrate Salesforce for NetSuite too what permissions do I need to add?
NetSuite will not allow using Administrator/Full access role for API starting 2019.1 but still allow the use of a custom role with Full permissions on some objects (Contacts, Customers, etc.).
Note that after adding NetSuite permissions to a role or employee it can take up to 24 hours to take effect in NetSuite.
Try out the Best Practice for SyncApps integration setup for NetSuite role/permissions below:
- Create a NetSuite Custom Role
- Assign required permissions to the NetSuite Custom Role (Permissions List based on integration)
- Assign the role to NetSuite username used in your SyncApps integration
- Specify the Role ID in Sync Profile configuration (This step is not needed if using Token Based Authentication)
Getting the hang of it?
Now you need to have the specific PERMISSIONS LIST for the role:
Please assign the following permissions (Full) to the NetSuite Custom Role.
Do note that after adding new permissions in NetSuite, they can take up to 24 hours to take effect.
1) Lists - Customers
2) Lists - Contacts
3) Lists - Marketing Campaigns
4) Setup - Customer Status
5) Setup - Custom Fields
6) Setup - Custom Body Fields
7) Setup - Custom Entity Fields
8) Setup - Custom Record Types
For accessing any custom field with custom record reference please make sure you also assign Lists > Custom Record Entries permission.
9) Setup - Custom Lists
10) Setup - CRM Lists
11) Setup - Deleted Records (for Deleted Customer/Contact sync)
12) Setup - Setup Campaigns (for Subscription sync)
13) Setup - Web Services
14) Setup - User Access Token (for Token-Based Authentication)
15) Find Transaction - Transactions (if using this type of Saved Search)
16) Transactions - Sales Order, Return Authorization, Quotes, Estimates, Invoices, etc. (if using these type of Saved Searches)
Please note: you must also add additional permissions to access for any objects that are used in your Saved Search criteria for Transaction Saved Searches.
17) Lists - Partners (if using this type of Saved Search)
18) Lists - Vendors (if using this type of Saved Search)
19) Lists - Employees (if using this type of Saved Search) and Lists -> Employee Record if accessing the Sales Rep field in NetSuite.
Please continue scrolling down as you might have other integrations with SyncApps that require to permit more lists.
For Zendesk for NetSuite and Freshdesk to NetSuite SyncApps, you will also need to assign the following NetSuite Permissions to Full:
1) Lists - Case
2) Lists - Employees
3) Lists - Employee Record
4) Setup - Support Case Status
5) Setup - Support Case Type
6) Setup - Support Case Origin
7) Setup - Support Case Priority
8) Lists - Events
9) Setup - Custom Event Fields
10) Lists - Track Messages (for Comment sync)
For the Zendesk App for NetSuite and Freshdesk for NetSuite app, you will also need to assign the following NetSuite Permissions to Full:
1) Transactions - Sales Order
2) Transactions - Cash Sale (for some Customized apps)
3) Transactions - Item Fulfillment
4) Transactions - Fulfill Sales Orders
5) Transactions - Return Authorization (for RMA creation feature): Full
1) Transactions - Sales Order
2) Lists - Items
3) Setup - Custom Item Fields
4) Setup - Custom Transaction Fields
5) Transactions - Find Transactions
6) Setup Accounting Lists
7) Custom Record - Customer type
8) Lists - Currency
9) Lists - Locations
10) Lists - Documents and Files
For Handshake SyncApps, "Standard Customer Form" should be enabled for the NetSuite role that is used for SyncApps connection.
SyncApps uses the standard form only for updating Handshake external id field so the Standard Form should not be disabled.
You can always use a custom form as your preferred form as in NetSuite, you can have more than one enabled form.
All custom fields that need to be updated by SyncApps such as Handshake Customer/Product ID must be displayed and editable in the preferred form. If the custom field default access is View please add Edit permission to the role that is used for integration.
Also, SyncApps will not integrate NetSuite inactive or Soft Opt-Out records.
Do you have custom fields to map between NetSuite and Zendesk?
Additional Field Mapping is optional in your Sync Profile as basic ticket fields such as subject, description, type, status, priority is already mapped.
Try out in edit mode in your Sync Profile in step 4 which is Field Mapping.
Enable Additional Field Mappings
If you happen to get an error like the one below, then please add 'Custom Event Fields' permission to your NetSuite record to get around this hurdle.
- Permission Violation: You need the 'Custom Event Fields' permission to access this page. Please contact your account administrator. (Error code: INSUFFICIENT_PERMISSION)
Need NetSuite Customer to Zendesk Organization fields to map over?
Saved Search Error:
If your NetSuite SyncApps is unable to get a specific saved search ID, which you entered in your profile setup or you have any Custom Record creation issues, then the SyncApps will produce the following errors:
- Marketing Metrics related error (ERROR Unable to get or create a custom record for email marketing history)
- A saved search with the internal ID xxx does not exist. (Error code: INVALID_SAVEDSEARCH)
These errors are returned by SyncApps due to one of the following cases:
- The specified Saved Search is not a Contact or Customer or Transaction Saved Search.
- The invalid/wrong Object Type is selected in the configuration.
- The specified ID is not a Saved Search Internal ID (Internal ID must be a number). To find the Saved Search internal ID (numeric), just look for the ID which is at the end of the NetSuite Saved Search URL in your browser when you run it.
- The Saved Search is not set to "Public".
- Insufficient Permissions for saved search or custom records.
To quickly resolve this issue with your NetSuite Administrator or on your own, please try these following steps:
- Make sure that the Saved Search Type is correct.
- The Saved Search Object Type in the configuration must match the one in NetSuite; otherwise, you will get an invalid Saved Search error.
- In the Saved Search definition, please make sure the "Public" checkbox is checked for the specified NetSuite Saved Search. Please also change the Saved Search owner to the NetSuite username used in your SyncApps setup on Cazoomi.
- Please try to run the sync to see if it works, if the error still persists, please proceed with the next steps.
- Please assign NetSuite "Publish Search” global permission to the username that is used in SyncApps. Once the permission has been assigned, try to re-run the sync.
If you still get the same error, please try to recreate a new Saved Search based on the current Saved Search criteria in your NetSuite account.
You can also try to use another NetSuite username to test.
Note: Adding permissions to a NetSuite role might not apply immediately so to remove the permission cache you will need to remove the role from the NetSuite user.
Next, save the user then re-add the NetSuite role permission again. Please note it takes up to 24 hours for new permissions in NetSuite to take effect.
Check out our Subscriber’s Story below on how SyncApps helped them save 100s of hours per year!
Hope our support was helpful as we strive to provide the best subscriber experience in all integrations. Feel free to reach us 24/7 here.