Explanation
Oracle NetSuite two-factor authentication does not support RESTlets, which are used to integrate Bill.com with Oracle NetSuite. This is a limitation due to Oracle NetSuite's restriction of the usage of two-factor authentication.
Solution
Create a custom role
A custom role not requiring a two-factor authentication will need to be created and assigned to the user connecting the sync.
- Go to Setup > Users/Roles > Manage Roles > New
- Enter the following
- Name: Admin Sync
- Two-Factor Authentication required: Not required
- Under Permissions > Lists, assign the following permissions with the corresponding level:
- Classes = Full
- Departments = Full
- Documents and Files = Full
- Email Template = Full
- Employee Record = Full
- Employee Social Security Numbers = View
- Locations = Full
- Subsidiaries = Full
- Tax Schedules = Full
- Under Permissions > Setup, assign the following permissions with the corresponding level:
- SuiteScript = Full
- SuiteScript Scheduling = Full
- Click Save
- Click on the Admin Sync role that was just created
- Write down the Internal ID for this role, it will be needed to connect the sync
- The internal id will be at the end of the URL: https://system.netsuite.com/app/setup/role.nl?id=<internal id>
Assign the custom role to the user
- Go to Setup > Users/Roles > Manage Users
- Select the user that will connect the sync
- Click Edit
- Under the Access tab, Edit the user's role to the Admin Sync role
- Click Save
Uninstall/Reinstall the sync bundle
The bundle will need to be uninstalled and reinstalled.
Note: Uninstalling the bundle will disconnect syncs for all subsidiaries if more than one is connected.
To uninstall and Reinstall bundle:
- In Oracle NetSuite, Go to Customization > Suitebundler > Search and Install Bundle > Lists
- Hover over the gear icon for Bill.com Sync for Netsuite, click Uninstall
- Refresh the browser until uninstall complete confirmation. This may take a minute.
- Go to Customization > Suitebundler > Search and Install Bundle
- Type Bill.com into the Keywords field and search
- Click on Bill.com Sync for NetSuite
- Click Install
- Click Install Bundle
Reconnect Sync
After reinstalling the bundle, reconnect the sync for all subsidiaries.
- In Bill.com, hover over the gear icon, click Settings
- Under Sync, click Setup
- Click Disconnect
- Click Yes to confirm
- Click the Oracle NetSuite app
- Click Connect
- On the Sync Login page, enter the following:
- Email: Enter the email address for the user that was assigned the Admin Sync role
- Password: Enter the password for the user that was assigned the Admin Sync role
- Account ID: Enter the Account ID of the Oracle NetSuite account
- Subsidiary ID: If you’re using OneWorld, enter the Internal ID of the Subsidiary that this Bill.com account will sync with. If it is not a OneWorld account, leave this field blank.
- Custom Role Internal ID: Enter the internal id of the Admin Sync role in Oracle NetSuite
- Click Save
- Once the sync completes, edit Sync preferences if applicable
- Click Save
The Bill.com sync preferences within Oracle NetSuite will also need to be re-selected. Please refer to the Sync your Classifications and Sync your transactions sections on the Oracle NetSuite Sync Setup Guide.
Resources