How to Connect NetSuite

Introduction

Connecting NetSuite allows Bitwave to sync accounting data between Bitwave and your ERP.

Once connected, Bitwave can generate journal entries from your crypto transactions and sync them to NetSuite based on your accounting configuration.

Depending on your setup, the integration may also support:

  • Syncing the chart of accounts as categories
  • Syncing customers and vendors as contacts
  • Syncing invoices and bills
  • Syncing journal entries

Requirements

Before connecting NetSuite, make sure you have:


  • Admin access to NetSuite (Administer Role required)
  • Admin access to your Bitwave organization
  • Permission to create integrations and access tokens in NetSuite
  • Access to the NetSuite chart of accounts
  • Access to subsidiaries and accounting dimensions in NetSuite

Connection Method

Bitwave connects to NetSuite using Token-Based Authentication (TBA). This is a secure API authentication method built into NetSuite that does not require sharing your NetSuite login credentials.

Token-based authentication involves three things you will create in NetSuite:


  • An Integration Record - identifies Bitwave as a trusted application
  • A Role - defines what Bitwave is allowed to do in NetSuite
  • An Access Token - grants Bitwave secure API access on behalf of a user


Set Up NetSuite

NetSuite requires configuration before it can connect to Bitwave. Complete the following steps inside NetSuite first.

Step 1: Enable Token-Based Authentication

Enable Token-Based Authentication (TBA) in NetSuite to allow secure API access.

  1. Navigate to Setup > Company > Enable Features

  2. Click the SuiteCloud tab

  3. Find Token-Based Authentication and check the box to enable it

  4. Click Save.




Step 2: Create an Integration Record

Create a new integration record in NetSuite for Bitwave. This generates your Consumer Key and Consumer Secret.


  1. Navigate to Setup > Integrations > Manage Integrations > New

  2. Name the integration "Bitwave Integration"

  3. Under Authentication, check Token-based Authentication

  4. Check TBA Issuetoken Endpoint

  5. Uncheck TBA Authorization Flow

  6. Uncheck Authorization Code Grant

  7. Click Save.

IMPORTANT: NetSuite shows your Consumer Key and Consumer Secret only once. Copy and save both in a secure place before leaving this page. You will not be able to retrieve them again.  

Step 3: Create the Bitwave Role**

Create a dedicated role in NetSuite with the permissions Bitwave needs to read and write accounting data.

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

  2. Name the role "Bitwave Role"

  3. Select a Center Type (e.g. Accounting Center)

  4. Set Accessible Subsidiaries to All

  5. Check Web Services Only Role




  1. Under the Permissions tab, set the following permissions:

Transactions tab - set each to FULL

  • Cash Sale
  • Cash Sale Refund
  • Check
  • Customer Payments
  • Deposit
  • Invoice
  • Pay Bills
  • Transfer Funds

Lists tab - set each to VIEW

  • Accounts

  • Locations

  • Bank Account Registers

  • Classes

  • Contacts

  • Currency

  • Customers

  • Vendors


Setup tab - set each to FULL

  • SOAP Web Services,
  • User Access Tokens
  1. Click Save.


Step 4: Assign the Bitwave Role to a User**

Assign the Bitwave Role to the NetSuite user that will be used for the integration.

  1. Navigate to Setup > Users/Roles > Manage Users
  2. Find the user you want to issue a Bitwave token for and click Edit
  3. Click the Access tab
  4. In the Roles section, select Bitwave Role
  5. Click Save.

Step 5: Create an Access Token

Generate an access token for the Bitwave integration. This produces your Token ID and Token Secret.

  1. Navigate to Setup > Users/Roles > Access Tokens > New Access Token
  2. Select Application Name: Bitwave Integration
  3. Select User: the user from Step 4
  4. Select Role: Bitwave Role from Step 3
  5. Click Save.

IMPORTANT: NetSuite shows your Token ID and Token Secret only once. Copy and save both immediately before leaving this page.


Connect NetSuite in Bitwave

Once you have completed the NetSuite setup above, return to Bitwave to complete the connection.

  • In Bitwave, navigate to Administration > Accounting Connections
  • Click Connect new account
  • Select NetSuite from the list of available ERPs
  • Enter the credentials you collected from NetSuite:

FieldDescription
Consumer KeyFrom Step 2 - also called Client ID
Consumer SecretFrom Step 2 - also called Client Secret
Token IDFrom Step 5
Token SecretFrom Step 5
Account IDFrom Setup > Company > Company Information
Subsidiary Internal IDInternal ID of your NetSuite subsidiary
  • Click Save or Connect to authorize the integration

Configure Accounting Settings


After the connection is authorized, Bitwave requires additional accounting configuration to map your NetSuite accounts correctly.


Step 6: Find Your Digital Asset Account Code

  • Navigate to Setup > Accounting> Chart of Accounts in NetSuite
  • Find the account named "Bitwave - Digital Assets"
  • Record the Number (account code) from the Number column.

Step 7: Find Your Fee Account Code

  • Navigate to Setup > Accounting> Chart of Accounts in NetSuite
  • Find the account named "Bitwave - Digital Asset Fees"
  • Record the Number (account code) from the Number column.

Step 8: Set Up AR/AP Accounts (if applicable)

If you plan to process Accounts Receivable or Accounts Payable through Bitwave, two additional clearing accounts are required.


FieldDescription
Default digital asset accountThe NetSuite account code used to record digital asset balances
Default fee accountThe NetSuite account code used for transaction and network fees
Subsidiary Internal IDInternal ID of the subsidiary selected when creating accounts
Account IDYour NetSuite company Account ID from Company Information

In NetSuite:

  • Navigate to Setup > Accounitng> Chart of Accounts > New
  • Create an AR clearing account: set Type to Bank, name it "Bitwave AR Clearing Account"
  • Create an AP clearing account: set Type to Bank, name it "Bitwave AP Clearing Account"

💡 Both clearing accounts must be of Type BANK. This is a NetSuite requirement for the integration to work correctly.

In Bitwave:

  • Navigate to Administration > Accounting Setup
  • Set the Default Accounts Receivable Category to your AR clearing account
  • Set the Default Accounts Payable Category to your AP clearing account
  • Click Save.

Verify the Connection

To confirm the NetSuite integration is working correctly:

  • In Bitwave, navigate to Administration > Accounting Connections
  • Confirm NetSuite appears in the connection list
  • Review the connection status - it should show as active or connected
  • Navigate to Accounting > Chart of Accounts and confirm your NetSuite accounts have synced as categories
  • Generate a test journal entry or run a sync to confirm data is flowing correctly.

💡 If your chart of accounts does not appear in Bitwave after connecting, try refreshing the sync from the Accounting Connections page.

Troubleshooting

Authentication Failed

Possible causes:


  • Token-Based Authentication is not enabled in NetSuite (Step 1)
  • Credentials were copied with extra spaces or characters
  • The wrong user or role was selected when creating the access token
  • The Bitwave Role is missing required permissions

Solution: Reconnect NetSuite and confirm all credentials and permissions are correct.

Data Is Not Syncing

Possible causes:

  • Digital asset or fee account codes are entered incorrectly in Bitwave
  • The Subsidiary Internal ID does not match the subsidiary on the accounts
  • Required account mappings are not configured

Solution: Review the Accounting Connections settings in Bitwave and confirm all required fields are configured.

Journal Entries Fail to Sync

Possible causes:

  • The selected accounts do not exist in the NetSuite chart of accounts
  • The Bitwave Role is missing FULL permission for required transaction types
  • ERP dimensions such as subsidiary are missing from the configuration

Solution: Review the accounting configuration in Bitwave and confirm the correct accounts and permissions are in place.  

Security Notes

Bitwave connects to NetSuite using Token-Based Authentication, which is the secure API authentication method supported by NetSuite.


  • Only the permissions required for the integration are granted to the Bitwave Role
  • The connection is used exclusively to sync accounting data and create journal entries in NetSuite
  • Consumer Keys, Consumer Secrets, Token IDs and Token Secrets should be treated like passwords and never shared
  • If any credentials are compromised, revoke the access token in NetSuite immediately and generate new credentials

💡 Bitwave does not store your NetSuite login credentials. All access is managed through the access token you created in Step 5.  

Need More Help?

  • Contact your bitwavesupport.io or use the in-app support chat if you run into any issues during setup.