Preserve your accounting structure—from card swipe to closed books—with Divvy’s NetSuite integration. We do what any responsible software company would: start with your chart of accounts and fully customize Divvy to match.

The integration is set up within our app. It's important to note that a NetSuite administrator is required in order to integrate NetSuite with Divvy. See below for steps on how to integrate NetSuite to Divvy.

Table of Contents

  1. Integration setup

  2. Syncing receipts

  3. Configuring your integration

  4. FAQs

Initial integration setup


First, make sure you're logged into NetSuite and Divvy as an Administrator to complete the setup.

From your Divvy dashboard, go to Settings > Integrations and launch the NetSuite connection wizard.

This wizard will walk you through connecting NetSuite to Divvy. Be careful not to rush through this. Each step is critical to a proper connection. Errors or skipped steps will cause the integration to not work properly.

  1. Enable token-based authentication (TBA) - Follow the in app wizard to complete this step.

    1. Navigate to Setup > Company > Enable Features

    2. Go to the 'SuiteCloud' tab that's located on the blue secondary horizontal navigation bar.

    3. Scroll down to the Manage Authentication section and check the box next to “Enable Token Based Authentication”.

      Note: You may have enabled this for a previous integration so it may already be checked.

  2. Create a new role and assign permissions.

    1. Navigate to Setup > Users/Roles > Manage Roles > New

      Note: When creating the role you may run into an option to choose a "center type". This is a default permission schema you may have from creating previous roles. You don't need to set this as you will set the permissions explicitly. If you are forced to, you can select any of the options and then adjust the permissions in the following steps.

    2. Name the new role "Divvy Integration Role"

    3. Add the permissions below and set the permission levels to match your needs. Include all the lists you are using to track credit card transactions in NetSuite.

    4. Under Permissions, add permissions for Bills, Make Journal Entry, and Pay Bills. Set all levels to "Full".

    5. Next, under Lists, add permissions for Accounts, Documents and Files, Subsidiaries, and Vendors as well as Classes, Departments, and Locations if applicable to credit card and bill pay journal entries. (Custom fields are not yet supported.) Set all levels to "Full".

    6. Next, under Setup add Custom Fields, SOAP Web Services, and User Access Tokens. Set levels to "Full".

    7. Click ‘Save’.

  3. Assign the new role to an Admin.

    1. Navigate to Setup > User/Roles > Manage Users.

    2. Select the admin user who will be making journal entries through Divvy.

      1. Under Access > Role, click ‘Edit’ to assign the “Divvy Integration Role” to your selected admin.

        Then click ‘Add’ to save the assignment.

    3. Click ‘Save’ to save to apply the new role to the admin.

  4. Create an integration record.

    1. Go to Setup > Integration > Manage Integrations > New.

    2. Use the name “Divvy Integration”. Enable State Based Authentication and check the box next to Token Based Authentication.

    3. Under OAuth 2.0, disable AUTHORIZATION CODE GRANT.

    4. Enter “” under Callback URL. Then copy the URL exactly as is.

    5. Click 'Save'. For this step, do not navigate away from this page. Copy the values from the confirmation page and paste them below. Remember to not navigate away from this page. Doing so will reset the keys and require you to repeat this step.

    6. You may now go to Setup > Company > Company Information.

    7. Find Account ID and paste it into the field on the right.

  5. Create access token.

    1. Go to Setup > Users/Roles > Access Tokens > New.

    2. Select the Integration Record, User, and Role created or referenced in the previous steps.

    3. Click ‘Save’ and STOP. Do not navigate away from the confirmation page. Copy the values from the confirmation page and paste them below. Remember to not navigate away from this page. Doing so will reset the keys and require you to repeat this step.

Syncing receipts

To sync receipt images from Divvy to NetSuite follow the steps below.

Note: Enabling receipts sync may incur extra costs from NetSuite.

  1. First, open a new tab in your browser and log in to NetSuite as an administrator

  2. Download the RESTlet script that will be added to NetSuite.

  3. Go to Customization > Scripting > Scripts > New.

  4. In the Script File field, select ‘- New -’.

  5. Leave “FILE NAME” blank.

    Under “SELECT FILE”, upload the RESTlet file downloaded from Step 1.
    Click ‘Save’.

  6. Click ‘Create Script Record’.

  7. In the ‘NAME’ field, enter ‘Divvy RESTlet Script’ and click ‘Save’.

Now we'll create the RESTlet URL.

  1. Click on ‘Deploy Script’.

  2. Set the status to ‘Released’.

  3. Under Audience, find ‘ROLES’ and click the Select All checkbox.

  4. Click on ‘Save’.

  5. Copy the External URL and paste in the field to the right of the text.

Configuring your integration

Now that you're connected to NetSuite, you can begin mapping your accounts and editing the facets of your integration.

Please keep in mind that changes in NetSuite that relate to the instructions above may cause the integration to break.

Divvy credit card account

Use the dropdown to the right to search and/or select the preferred credit card account for your integration.

Receipt sync

If you completed the syncing steps in the original instruction, then you can to turn receipt image syncing to NetSuite on and off.

Mapping your accounts

The accounts you selected in the integration wizard will be available for configuration here.

By selecting the 'Configure' button to the right of the account name, you'll trigger the new mapping experience. From this screen, you'll be able to:

Select account types (specifically within your Chart of Accounts)

Select Divvy field name

  • Please note that by changing the Divvy field name, you will reset the mapping for that account completely.

Save updated naming

See mapping status (via the icon on the right side of the row)


How do I make an update to a field that I’ve already mapped?

Use the NetSuite configuration page. Navigate to the page via Settings > Integrations > NetSuite Integration > Configuration.

Navigate to the line titled Chart of Accounts, Location, or Class, and hit the Configure button. This will open a list of fields in NetSuite and the associated field names in Divvy. Find the field in question, make your adjustments, and hit Save.

How do I map a new account in my chart of accounts from NetSuite into Divvy?

Using the NetSuite configuration page, navigate to the line titled Chart of Accounts and hit the Configure button. This will open a list of accounts in NetSuite and the associated field names in Divvy. Make your adjustments, and hit Save.

Pro-Tip: Use the Account Types drop down at the top of the page to easily toggle between you different account types.

Can I map multiple Divvy fields to a single chart of account?

This is not currently possible.

Can I set up my integration to automatically sync?

Yes! Divvy’s integration with NetSuite allows for automatic syncing at the end of each day. Toggle the Auto Sync button in the NetSuite configure menu if you’d like to enable auto syncing of your transactions.

Here is what happens when the toggle is activated.

  • Divvy will sync with your accounting software nightly. (Generally around midnight)

  • Divvy will look back to completed transactions for the last 7 days, and it will only sync transactions that have never been synced before.

  • If a transaction takes more than 7 days to complete, it will not be synced via the auto-sync.

  • The 7 day clock starts on the day that the transaction clears.

If I need to adjust my integration do I need to start over with the set up wizard?

Nope! You can use the configuration page to make any adjustments that are needed.

If I make changes to my account and field mapping, will it affect my books in the past?

No. Only future transactions will be affected.

What data gets transferred to Netsuite from Divvy?

Divvy will make the expense journal entry, complete with accounts, class, location, and department (if mapped) and memo/description consisting of the cardholder name, budget, and any user notes added to a transaction. The entry is made to the Divvy Credit Card GL assigned during setup.

What do the journal entries look like?

Divvy will make the expense journal entry, complete with accounts, class, location, and department (if mapped) and memo/description consisting of the cardholder name, budget, and any user notes added to a transaction. The entry is made to the Divvy Credit Card GL assigned during setup.

How do Vendors work with the integration?

Divvy does Vendor management for you. The integration first searches for a matching vendor. If one doesn't exist we will create a clean vendor record (no duplicate vendors for store numbers or order numbers appended to the merchant name) for you so that you have detailed data on each transaction. Going forward we will post to that vendor record each time you transact business with that vendor.

How are split transactions handled in the integration?

Split transactions are entered as individual credit card charge line items, not as multiple line items on a single charge.

How many people do I need to assign the role to in Netsuite?

The integration role only needs to be assigned to the person who would normally make the JE's. Any Divvy admin can initiate a sync. Entries will be made on behalf of the user for who the role was created.

How do I reconcile?

Divvy makes the expense entries for you: Debit Expense, Credit the CC liability. The payment entries should be made with the bank account reconciliation as a transfer from the bank to the liability. The balance in the credit card liability will match the Divvy statement for the same period.

How do I prevent duplicate entries?

Divvy keeps track of entries and updates them rather than recreating them, but only if the initial entries are made with the integration. Manual entries can be duplicated. Limit syncing to periods you did not make manual entries for when first using the integration. Use filters to quickly reference transactions you wish to sync.

What if I need to change users the integration is assigned to?

Changing the user that a role is assigned to requires recreating the keys and tokens that Divvy uses to authenticate with Netsuite. This can be done by editing the Integration record and Access tokens in Netsuite and refreshing tokens after reassigning the user. These refreshed tokens can be changed on the integration setup in Divvy by removing the integration and reauthenticating.

What if I can't see my credit card account during the setup?

There are several reasons you may not be able to see the default credit card account ledger in the setup drop down. First, make sure that the account is available in the indicated subsidiary. Then ensure that the credit card account is set up as a credit card ledger account (or bank account if you have a deposit balance). Divvy does not support Bill Payments for the Divvy Credit Card at this time.

What if my tokens are no longer valid?

You will be prompted to refresh your tokens and re-enter them in Divvy.

The subsidiary I want to assign the integration to is not visible in Divvy. What do I do?

You may need to adjust the role permissions in NetSuite.

In NetSuite, go to Manage roles > Divvy Integration Role > Edit Role. Under Subsidiary Restrictions, choose one of the following options:

All – Grants the role access to all subsidiaries, including inactive subsidiaries.

Active – Grants the role access to the active subsidiaries only.

User Subsidiary – Restricts the role’s access to the user’s subsidiary set on the employee record.

Selected – You select the subsidiaries to which you want to restrict the role’s access.

I can't select my custom field in the mapping screen. What could be the problem?

Custom fields must be created as single select custom fields in order to be used for mapping in the integration. If you created multi-select fields and want to map them you will have to recreate them in Divvy as single Select.

I don't see "Soap Web Services" When setting up the role in NetSuite

Prior to version 2020.1 of NetSuite, this was simply referred to as "Web Services." Your current version is listed in Netsuite at the bottom of the home dashboard. If you do not see "Soap Web Services" listed in the role setup permissions search for "Web Services" and set this permission to full. Alternatively, you may need to enable web services in Setup>Company>Enable Features.

How does error handling and resolution work?

Syncing errors are displayed in the transaction table and specific errors can be viewed by hovering over the sync status icon.

Vendor Syncing errors:

Bad Request: ERROR|DUP|VENDOR_NAME|There is already a vendor using that entity name. . . . You may encounter issues syncing or creating vendors. This is typically a subsidiary conflict. Make sure the vendor is available in the desired subsidiary. This can also be a name conflict. Make sure you do not have multiple vendors with the same name but different cases.

Did this answer your question?