Integration Documents - NetSuite
NetSuite - Integration Features and Requirements
Overview of Integration Features
The integration includes these features:
- Sync accounts and dimensions from NetSuite – each weeknight via the nightly automated sync and ad hoc.
- Sync GL transactions from the accounting system each weeknight. The nightly sync updates the current and previous two full months. Ad hoc sync is available to allow the manual sync any desired range of months.
- Drilldown in Martus from standard financial reports to see transaction detail.
- Ability to pull existing budgets from the accounting system.
- Display of vendor name on transaction detail.
NetSuite Configuration
REST Web Services and Token-Based Authentication must be enabled in NetSuite. Client Credentials are via a Machine-to-Machine Grant.
Authorization
Martus access to NetSuite is via token-based authentication. Client Credentials are via a Machine-to-Machine Grant.
Dimension Setup
As with any Martus configuration, the Implementation Consultant works with the customer to identify the dimensions that are important to budgeting and reporting. (GL accounts are not considered dimensions, within Martus.) Martus can support whichever NetSuite dimensions that the customer uses, up to the standard Martus maximum of eight.
Syncing Martus to NetSuite
Martus will sync daily all GL accounts and dimensions, as well as actuals for the current and two previous full months, as is standard for Martus API Integrations.
Pulling Budgets from NetSuite
Martus supports pulling existing budgets from NetSuite.
Statistical Accounts
Not yet supported.
Display of Attachments
Not yet supported.
Budget Export or Upload
Not yet supported:
- Export of budget from Martus in a format optimized for import into NetSuite
- Upload to NetSuite
Multi-currency
Not yet supported.
Multi-book Accounting
Some transactions in NetSuite may be assigned to different books, and others in NetSuite may be book-specific.
For book-specific transactions, you can choose which books you want to bring into Martus.
For transactions that are not book-specific, Martus will pull those in by default (regardless of whether or not you checked to bring in the book-specific transactions for that book).
NetSuite - Integration Setup
Before You Start
Make sure both Martus and NetSuite are available and open. In Martus, navigate to Setup > NetSuite. You'll configure NetSuite and then complete the fields in Martus using the steps below.
Add Your NetSuite Account ID to Martus
- In NetSuite, go to Setup > Company Information > Account ID and copy the Account ID.
- Paste the Account ID in Martus in Setup > NetSuite > AccountId.
Enable NetSuite Features in SuiteCloud
- In NetSuite, go to Setup > Setup Tasks > Enable Features.
- Click SuiteCloud.
- Turn on REST WEB SERVICES and TOKEN-BASED AUTHENTICATION.
- Click Save.
Enable NetSuite Features in Analytics
- Click Analytics.
- Turn on SuiteAnalytics Workbook.
- Click Save.
Manage NetSuite Integrations
- Go to Setup > Integration > Manage Integrations.
- Click New.
- Name the Integration 'Martus'.
- Check - TOKEN-BASED AUTHENTICATION.
- Uncheck - TBA: AUTHORIZATION FLOW CALLBACK URL.
- Uncheck- AUTHORIZATION CODE GRANT.
- Check - CLIENT CREDENTIALS (MACHINE TO MACHINE) GRANT.
- Check - REST WEB SERVICES.
- Click Save.
Once you click Save, the Client Credentials will appear, and you can add these to Martus.
Copy the Consumer Key and paste it in Martus in Setup > NetSuite > Consumer Key.
Copy the Consumer Secret and paste it in Martus in Setup > NetSuite > Consumer Secret.
Verify the Role for the New User has REST Web Services
- In NetSuite go to Setup > Users/Roles > Manage Roles.
- Typically the admin of Netsuite is the going to be the user who receives the access token. If this is true you will want to edit the role that the admin user currently has.
- Click 'Edit' for the role
- Scroll down in Permissions > Setup > and verify that REST Web Services is set to 'Full.'
OAUTH 2.0 Client Credentials (M2M) Setup
NetSuite uses the terms M2 or M2M to refer to the new authentication method we are using
NetSuite has other OAuth 2.0 methods other than M2M. For example, you can do a jump out like Martus uses with the QBO integration.
Troubleshooting: If NetSuite does not have the menu option Setup > Integration > OAuth 2.0 Client Credentials (M2M) Setup
A step was missed above
Go to Setup > Company > Enable Features
Click on the SuiteCloud tab
Under Manage Authentication, select OAuth 2.0 and save
Steps 1-13 should be completed by any Martus admin (who should also be a NetSuite admin). Step 14 must be completed by a Martus Super Admin.
In Martus, on the Setup/NetSuite page, paste the AccountId and Consumer Key (that was created and saved when you set up your Integration)
Click Save
Click Generate Public Key
A certificate will now appear in the table
Click download (save the file anywhere, just somewhere accessible)
Go back to Netsuite
Setup > Integration > OAuth 2.0 Client Credentials (M2M) Setup
Click Create New
Select the Application (Integration) whose consumer key you pasted in Martus and the appropriate role and entity.
Import the certificate you downloaded above
Copy the Certificate Id from Netsuite
Go back to Martus
Paste the certificate Id into the table
Click Save
In Advanced Settings, select the certificate as the current certificate (Martus Support will have to perform this step)
Click Save in Advanced Settings