Before proceeding, make sure you are signed in as an Administrator on NetSuite, and that you are a Bookkeeper or Admin on Ramp.
Step 1
- Hover over Setup -> Company and click Enable Features. Then click the SuiteCloud tab.
- Ensure that the checkboxes for SOAP WEB SERVICES, REST WEB SERVICES, and TOKEN BASED AUTHENTICATION are checked (note that the latter checkbox is under 'Manage Authentication, rather than SuiteTalk)
- Click Save.
Step 2
Create an Integration Record
- Go to Setup > Integration > Manage Integrations > New
- Call the integration "Ramp Integration"
- Under "Token-based Authentication" check the following:
- "TOKEN-BASED AUTHENTICATION"
- "TBA: ISSUETOKEN ENDPOINT"
- "TBA: AUTHORIZATION FLOW"
- In the field "CALLBACK URL" put in the following URL
- Under "OAuth 2.0" uncheck the following:
- "AUTHORIZATION CODE GRANT"
- Click Save
- Now you will be presented your credentials under "Client Credentials"
- Store your "CONSUMER KEY" & "CONSUMER SECRET". You will need this later.
Step 3
Create Role
- Go to Setup > Users/Roles > Manage Roles
- Find the role called "Accountant" and click "Customize" (if you don't see this role, check "Show Inactives")
- Call the role "Ramp Accountant"
-
Under the sub-tab "Permissions > "Transactions" add/update the following permissions (if these aren’t currently shown, search for them in the bottom search bar):
- Permission: Credit Card - Level: Full
- Permission: Credit Card Refund - Level: Full
- Permission: Credit Memo - Level: Full
- Permission: Credit Returns - Level: Full
- Permission: Bill - Level: Full
-
Under sub-tab "Permissions > Lists" add/update the following permissions (if these aren’t currently shown, search for them in the bottom search bar):
- Permission: Accounts - Level: Full
- Permission: Classes - Level: Full
- Permission: Customers - Level: Full
- Permission: Departments - Level: Full
- Permission: Locations - Level: Full
- Permission: Vendors - Level: Full
-
Under sub-tab "Permissions > Setup" add the following permissions (if these aren’t currently shown, search for them in the bottom search bar):
- Permission: Access Token Management - Level: Full
- Permission: Custom Body Fields - Level: Full
- Permission: Custom Fields - Level: Full
- Permission: Custom Lists - Level: Full
- Permission: Custom Record Types - Level: Full
- Permission: Accounting Lists - Level: Edit
- Permission: Accounting Management - Level: Edit or Full
- Permission: Deleted Records - Level: Full
- Permission: Log in using Access Tokens - Level: Full
- Permission: Other Lists - Level: Edit
- Permission: REST Web Services - Level: Full
- Permission: SOAP Web Services - Level: Full
- Permission: SuiteApp Marketplace - Level: Full
- Permission: User Access Tokens - Level: Full
- Permission: Manage Accounting Periods - Level: View
- Click Save
Step 4
Create Custom Field for Receipt URLs
- Go to Transactions > Bank >Use Credit Card
- Hover over Customize in the top right and select Customize Form
- Go to Screen Fields > New Field
- In the Label field enter "ramp_receipt_url"
- In the ID field enter "ramp_receipt_url"
- In the Type field select Hyperlink
- In the Applies To tab, check PURCHASE and VENDOR PAYMENT
- In the Display tab ensure that "Main" is selected in the Subtab dropdown
- In the Access tab ensure, that the Default Access Level is Edit
- Click Save
Step 5
Assign role to the admin's user account. This is the one you will use to login via the Ramp dashboard.
- Go to Setup → Users/Roles → Manage Users
- Find and click on your Admin user
- Click Edit
- Scroll down and click on the Access tab
- Add the Ramp Accountant role and click Save
Step 6
Deploy RESTlet Script
- First, go to https://assets.ramp.com/accounting/ramp_restlet.js. This should download a file onto your computer. If it doesn't, you should right click anywhere on the page, click "Save As", and then save the file as ramp_restlet.js.
- Click on Documents -> files and click the SuiteScripts folder
- Click Add File in the top left, and select the ramp_restlet.js file you downloaded
- Navigate to Customization → Scripting → Scripts → New
- Select the file (ramp_reslet) that you added earlier, and click Create Script Record
- Name the script "Ramp Integration API", then click the arrow on the Save button and click Save & Deploy
- In the Script Deployment screen, make sure the Status dropdown on the right is set to Released, and the Log Level is set to Error
- Check the SELECT ALL box next to Roles in the Audience subtab
- Click Save
- In the External URL, copy everything that follows "restlet.nl?" and save that for later use
- In the same EXTERNAL URL, copy your account ID (the digits at the beginning, in this example 1234567) and save for use later.
Step 7
- Log out of NetSuite
- Sign in once as the Ramp Accountant role on NetSuite (click on the top right where your name is on NS and click 'Ramp Accountant')
Step 8
- Sign into Ramp and click the Accounting tab on the left. Click NetSuite.
- Select your NetSuite Version (this can be found at the bottom of your NetSuite homepage, next to where it says "NetSuite Release") from the dropdown. Select your NetSuite Edition from the dropdown. NOTE: If you don't have subsidiaries, this will often be Standard
- In the Account ID field enter the account ID that you saved earlier. In the RESTlet Deployment URL field, enter the value that you saved earlier which was of the form script=111&deploy=1, in this example. The completed form looks like the following:
- Click Advanced Setup and paste in the Client ID and Client Secret saved from earlier
- Click Save & Continue.
- In the NetSuite authorization screen, before you click Allow, make sure you click Choose Role on the row corresponding to the Ramp Accountant role.
- Click Allow.
Step 9
- Once redirected back to Ramp, click Step 2.
- If the NetSuite edition you selected was Standard, simply click Create Accounts (this may take several seconds). Once that is done click Start Coding Expenses. At this point, you're done! Ramp and NetSuite should be connected.
- We will create a GL account of type Credit Card in NetSuite. This is the liability account that we will use to sync transactions to that subsidiary from Ramp. Please do not edit the name of this account in NetSuite, but feel free to change the account number (which by default will be the same as the name).