Administration Topics

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

  1. In NetSuite, go to Setup > Company Information > Account ID and copy the Account ID.
  2. Paste the Account ID in Martus in Setup > NetSuite > AccountId.





Enable NetSuite Features in SuiteCloud

  1. In NetSuite, go to Setup > Setup Tasks > Enable Features.
  2. Click SuiteCloud.
  3. Turn on REST WEB SERVICES and TOKEN-BASED AUTHENTICATION
  4. Click Save.





Enable NetSuite Features in Analytics

  1. Click Analytics
  2. Turn on SuiteAnalytics Workbook
  3. Click Save.

 


Manage NetSuite Integrations

  1. Go to Setup > Integration > Manage Integrations.
  2. Click New.
  3. Name the Integration 'Martus'.
  4. Check - TOKEN-BASED AUTHENTICATION.
  5. Uncheck - TBA: AUTHORIZATION FLOW CALLBACK URL.
  6. Uncheck- AUTHORIZATION CODE GRANT
  7. Check - CLIENT CREDENTIALS (MACHINE TO MACHINE) GRANT.
  8. Check - REST WEB SERVICES.
  9. Click Save.


    Once you click Save, the Client Credentials will appear, and you can add these to Martus.


  10. Copy the Consumer Key and paste it in Martus in Setup > NetSuite > Consumer Key.

  11. 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 

  1. In NetSuite go to Setup > Users/Roles > Manage Roles.
  2. 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. 
  3. Click 'Edit' for the role 
  4. 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.

 

  1. In Martus, on the Setup/NetSuite page, paste the AccountId and Consumer Key (that was created and saved when you set up your Integration)

  2. Click Save

  3. Click Generate Public Key

  4. A certificate will now appear in the table

    1.  

      Open image-20250210-185420.png
      image-20250210-185420.png
  5. Click download (save the file anywhere, just somewhere accessible)

  6. Go back to Netsuite

  7. Setup > Integration > OAuth 2.0 Client Credentials (M2M) Setup

  8. Click Create New

  9. Select the Application (Integration) whose consumer key you pasted in Martus and the appropriate role and entity.

  10. Import the certificate you downloaded above

  11. Copy the Certificate Id from Netsuite

    1.  

      Open image-20250205-183402.png
      image-20250205-183402.png

       

  12. Go back to Martus

  13. Paste the certificate Id into the table

  14. Click Save

    1.  

      Open image-20250205-183459.png
      image-20250205-183459.png

       

  15. In Advanced Settings, select the certificate as the current certificate (Martus Support will have to perform this step)

    1.  

      Open image-20250205-183527.png
      image-20250205-183527.png

       

  16. Click Save in Advanced Settings