Goal:
- Setting up credentials for Procurify to NetSuite bill sync.
The following article is part of connecting NetSuite to Procurify for Bill Sync and does not apply to NetSuite Purchase Order and Item Receipt Sync. For more, see NetSuite Integration Overview.
Before you Begin
Setting up the Bills integrations requires credentials to be created in NetSuite. The following steps can only be completed by a NetSuite administrator. We recommend this task be completed by your NetSuite consultant.
Feature: Login using Access Token
Per NetSuite documentation, the Access Token must be enabled.
- In NetSuite, navigate to Setup → Company → Enable Features → Click the SuiteCloud subtab.
- Under the Manage Authentication section, check the TOKEN-BASED AUTHENTICATION.
Note: Client SuiteScript and Server SuiteScript must also be enabled to use token-based authentication with RESTlets.
Feature: SOAP Web Services
Per NetSuite documentation here, this SOAP Web Services must be enabled.
- In NetSuite, navigate to Setup → Company → Enable Features → Click the SuiteCloud subtab
- Under Suite Talk (Web Services), check SOAP WEB SERVICES.
Feature: REST Web Services
Per NetSuite documentation here, this SOAP Web Services must be enabled.
- In NetSuite, navigate to Setup → Company → Enable Features → Click the SuiteCloud subtab
- Under Suite Talk (Web Services), check REST WEB SERVICES.
Steps:
Setting up a new Integration
- Login into NetSuite as an Administrator or using a role with access to creating Integrations and navigate to Setup → Integration, → Manage Integration and finally, click on New.
- Name the integration. We recommend naming it 'Procurify Bills Integration’. Ensure that :
- Token-Based Authentication is checked.
- TBA: Issue Token Endpoint is unchecked.
- TBA: Authorization Flow is unchecked.
- User credentials are unchecked.
- Authorization Code Grant is unchecked.
- Click Save. This will generate Credentials that are only shown once. Write these down somewhere safe, as these will be entered in the Setting up the integration in Procurify steps below.
Creating the User and the Role
The second set of credentials required is called a User Access Token, which requires both a User and a set of Rules or permissions. This articles presumes that you already have created a User or will reuse an existing user (as is usually the case).
4a. To create the correct Role or permission set for this integration, navigate to the Setup → Users/Roles → Manage Roles → New page.
4b. Type in Name: Procurify Integrations. Ensure that you have selected the Accounting Center for the Center Type dropdown. Select the User Subsidiary option for accessible subsidiaries.
NOTE: if you plan on using the Procurify in-app mapper to map your Bills to NetSuite subsidiaries based on a custom field's value (for example), then you need to select 'ALL' instead of 'User Subsidiary' in the subsidiary restrictions listed below.
If you need to sync Bills to multiple subsidiaries, below would be your Role settings instead of the ones above
4c. In the Permissions → Transactions panel, type in Bills, set its level to Create, and click on the Add button to add the permission to the list. Repeat this step for Purchase Order.
4d. In the Reports panel, add the SuiteAnalytics Workbook permission.
4e. In the Lists Panel, add the following permissions: Accounts, Classes, Currency, Custom Record Entries, Customers, Departments, Employees, Items, Locations, Subsidiaries, and Vendors. Set all Levels to View. Note that you may also need to add Projects here with a View level if you intend to use it in your mapping.
4g. In the Setup Panel, add Log in using Access Token, REST Web Services, Custom Body Fields, Custom Fields, and User Access Tokens. Set all Levels to Full except for Custom Body fields and Custom Fields which should be set to View.
4f. Click Save at the bottom of the page.
4g. In the Setup → Users/Roles → Manage Users page, edit the user who will be tied to the role we created. Add the role in the Access → Roles section at the bottom and Save.
Creating the User Access Token
5a. Navigate to the Setup → Users/Roles → Access Tokens → New.
5b. Select the Application or integration created above, followed by the user created above. Select the role created above. Name the Token as appropriate.
5c. Once you press Save, write down the the credentials on screen.
Getting the Account ID
6. In Setup → Company → Company Information, write down the Account ID at the bottom right.
Setting up the integration in Procurify
You must be logged in as a Superuser or a user with custom permissions to Integration Settings
7. In Procurify, navigate to the Settings → Tools → Integrations page and click Set Up under NetSuite
8. Enter Account ID text field.
9. Enter the Client ID and Client Secret previously created for the integration.
10. The final step is to enter your NetSuite Access credentials. Click the Connect to NetSuite button after that.