Integration Documents - NetSuite
NetSuite - Integration Features and Requirements
Overview of Integration Features
The integration includes these features.
- Martus syncs accounts and dimensions from NetSuite each weeknight via the automated sync, and manually as needed.
- Martus syncs GL transactions from NetSuite each weeknight via the automated sync. This automated sync includes the current and previous two months of transactions. A manual sync is also available for any desired range of months should changes to transactions occur outside of the automated sync.
- Users can drilldown in Martus from standard financial reports to see transaction detail.
- Existing budgets can be pulled from the accounting system into Martus.
- Vendor names can display on transaction detail.
Integration Flow
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 the customer uses, up to the standard Martus maximum of eight.
- REQUIRED: All Dimension values must be unique. There can be no duplicate names.
Syncing Martus to NetSuite
Martus will sync daily all GL accounts and dimensions, as well as actuals for the current and two previous 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
Martus supports attachments on transactions via a URL field.
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
Multi-currency is available.
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.
STEP 1: Add Your NetSuite Account ID to Martus
- In NetSuite, go to Setup > Company > Company Information and copy the Account ID. NOTE: This ID is case-sensitive!
- Paste the Account ID in Martus in Setup > NetSuite > AccountId.
- Set the Integration Record in Martus to "Custom Integration Record".
STEP 2: 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.
STEP 3: Enable NetSuite Features in Analytics
- Click Analytics.
- Turn on SuiteAnalytics Workbook.
- Click Save.
STEP 4: Set Manage NetSuite Integration Options
Use the Preferred Method OR the Backup Method
Preferred Method - Use the Martus App in SuiteApps.
- Go to SuiteApps.
- Search for "Martus".
- Click on our app.
- Click Install. Accept the confirmation popup.
- Navigate to Setup > Integrations > Manage Integrations.
- Verify you see Martus - Production.
Assign a Role to the User
When using SuiteApps to set up the integration, a new Role has been created for you and you need to assign it to a user. Choose the option desired for custom segments.
Option 1: No Custom Segments to be used for Dimensions
A new Role has been created for you in Manage Role called “Martus” .

Pick a user (typically an admin) and assign this role to them. This will allow you to make the connection in NetSuite to Martus through this role.
- Go to Manager > Users
- Edit the user
- Click Access
- Add the role "Martus"
Option 2: Has Custom Segments to be used for Dimensions
A new Role has been created for you in Manage Roles called “Martus” .
- Click Customize on that role.
- Under Permissions > Custom Record, add the Custom Segments you want to use as a dimension with Full Level.
Save the Role.
- Navigate to Manage Users.
- Pick a user (typically an admin)
- Edit the user.
- Go to Access.
- Add the role "Martus".
Backup Method - Manual Setup without SuiteApps
- 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.
STEP 5: IN MARTUS (Setup > NetSuite) - Update Martus Consumer Key and Download Public Key
- Copy the Consumer Key from NetSuite and paste it in Martus in Setup > NetSuite > Consumer Key.
Click Save in Martus.
Click Generate Public Key. This certificate will appear in the table:
Click Download and save the certificate on your computer.
STEP 6: Update NetSuite and Obtain Certificate ID
- 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 in Step 5 above.
- Copy the Certificate Id from NetSuite.
STEP 7: IN MARTUS - Update Martus with the Certificate ID
- Paste the Certificate Id from NetSuite into the table in Martus in Certificate Id.
- Click Save.
- In Advanced Settings, select the certificate as the Current Certificate.
- Click Save.