Skip to main content

Connecting NetSuite to AccountAim

AccountAim's integration with NetSuite allows you to easily import data from your NetSuite ERP/CRM platform to use in AccountAim to improve account targeting, analyze financial and operational metrics, and ensure your sales and service processes are being followed in real-time.

In this guide, you'll learn how to connect NetSuite to AccountAim.


Integration Overview

AccountAim's integration with NetSuite is a two-way sync via the NetSuite REST API (RESTlets) and SuiteTalk Web Services. This means AccountAim can both read data from and write data back to NetSuite. By default, the sync is set to be read-only for safety, but write capabilities can be enabled for supported objects. Only a single AccountAim Admin needs to authenticate in order to set up the integration.

Prerequisites

Before connecting NetSuite to AccountAim, ensure you have:

  • NetSuite Account: Access to a NetSuite account (production, sandbox, or release preview)
  • Administrator Access: Administrator-level access to configure integrations
  • Token-Based Authentication (TBA): Token-based authentication must be enabled in your NetSuite account
  • Integration Record: A NetSuite integration record must be created for AccountAim
  • Role Permissions: A NetSuite role with appropriate permissions for the objects you want to sync

User Permissions

It is recommended that the user authenticating to AccountAim has Administrator-level permissions in NetSuite. Alternatively, the following permissions will be required:

For Read-Only Access:

  • Customers - Read access
  • Contacts - Read access
  • Leads - Read access
  • Opportunities - Read access
  • Sales Orders - Read access
  • Invoices - Read access
  • Estimates/Quotes - Read access
  • Cases - Read access
  • Projects - Read access
  • Items/Products - Read access
  • Transactions - Read access

For Write Access (if enabling two-way sync):

  • Customers - Full access (to create or update customer records)
  • Contacts - Full access (to create or update contacts)
  • Leads - Full access (to create or update leads)
  • Opportunities - Full access (to create or update opportunities)
  • Sales Orders - Full access (to create or update sales orders)
  • Cases - Full access (to create or update cases)
  • Projects - Full access (to create or update projects)
  • Activities - Full access (to create activities and tasks)

You may also need similar permissions for any additional objects you'll be importing or updating in AccountAim.

tip

For security best practices, consider creating a dedicated NetSuite role specifically for AccountAim with only the minimum required permissions. Use token-based authentication (TBA) for secure API access.

Authentication Methods

NetSuite supports token-based authentication (TBA) which is required for API access:

  1. Token-Based Authentication (TBA) (Required): Uses a consumer key, consumer secret, token ID, and token secret
  2. OAuth 2.0 (Optional): For user-based authentication flows

How to connect NetSuite

To connect NetSuite to your AccountAim workspace, navigate to the Warehouse section and click "Add New" to add a new data source.

Step 1: Set up NetSuite Integration

Before connecting in AccountAim, you need to set up the integration in NetSuite:

  1. Enable Token-Based Authentication:

    • Go to Setup → Company → Enable Features
    • Navigate to the SuiteCloud subtab
    • Enable "Token-Based Authentication"
  2. Create an Integration Record:

    • Go to Setup → Integrations → Manage Integrations → New
    • Enter a name (e.g., "AccountAim Integration")
    • Check "Token-Based Authentication"
    • Save and note the Consumer Key and Consumer Secret
  3. Create an Access Token:

    • Go to Setup → Users/Roles → Access Tokens → New
    • Select the integration record you created
    • Select a user and role with appropriate permissions
    • Save and note the Token ID and Token Secret

Step 2: Select NetSuite as your Source

In the "Add New Record Source" modal in AccountAim, select "NetSuite" as your data source type.

Step 3: Enter Connection Details

Enter your NetSuite connection information:

  1. Account ID: Enter your NetSuite account ID

    • This is typically found in your NetSuite URL (e.g., https://[accountid].app.netsuite.com)
    • Or in Setup → Company → Company Information
  2. Environment: Select your NetSuite environment

    • Production: For production accounts
    • Sandbox: For sandbox/test accounts
    • Release Preview: For release preview accounts
  3. Consumer Key: Enter the consumer key from your NetSuite integration record

  4. Consumer Secret: Enter the consumer secret from your NetSuite integration record

  5. Token ID: Enter the token ID from your NetSuite access token

  6. Token Secret: Enter the token secret from your NetSuite access token

  7. Role ID (optional): Enter a specific role ID if you want to use a different role than the one associated with the token

Step 4: Test Connection

Click "Test Connection" to verify that AccountAim can successfully connect to your NetSuite instance.

tip

If the connection test fails, verify:

  • Your account ID is correct
  • Token-based authentication is enabled in NetSuite
  • Your integration record is active
  • Your access token is valid and not expired
  • The role associated with the token has the required permissions
  • Your NetSuite account is not in maintenance mode

Step 5: Configure Sync Settings

After a successful connection, configure your sync settings:

  • Sync Frequency: Choose how often AccountAim should sync data from NetSuite
    • Options: Manual, Hourly, Daily, Weekly
  • Objects to Sync: Select which NetSuite objects you want to sync
  • Sync Mode: Choose between full sync or incremental sync (if supported)
  • Date Range Filters: Configure date filters for time-sensitive objects like transactions and cases
  • Write Permissions: Enable write capabilities for specific objects (if you want AccountAim to write data back to NetSuite)
    • Toggle write access on/off for each object type
    • Write access requires appropriate permissions in NetSuite

Step 6: Complete Setup

Click "Save" to complete the NetSuite connection setup. AccountAim will perform an initial sync to import your selected data.


Sync Schedule

Customers have the ability to set the sync frequency in AccountAim in order to control API usage. For details on NetSuite's API usage guidelines and rate limits, please visit NetSuite's API documentation.

By default, automatic syncing is enabled. Manual syncing can be enabled by navigating to the Settings page in the AccountAim app and adjusting the sync schedule for your NetSuite connection.

tip

NetSuite has API rate limits based on your account type. Consider your sync frequency and data volume to avoid hitting rate limits. More frequent syncs of large datasets may require adjusting your sync schedule or upgrading your NetSuite account.

Supported Objects

AccountAim currently supports the ability to import data from the following NetSuite objects:

  • Customers: Customer records and information
  • Contacts: Contact records associated with customers
  • Leads: Lead records and lead qualification data
  • Opportunities: Sales opportunities and pipeline data
  • Sales Orders: Sales order records and line items
  • Invoices: Invoice records and billing information
  • Estimates/Quotes: Estimate and quote records
  • Cases: Support cases and case management
  • Projects: Project records and project tasks
  • Items/Products: Product catalog, inventory items, and pricing
  • Transactions: Various transaction types (sales, purchases, etc.)
  • Activities: Tasks, events, and calendar activities
  • Custom Records: Custom record types (if configured)

Write Capabilities

AccountAim supports writing data back to NetSuite for the following objects (when write permissions are enabled):

  • Customers: Create new customers or update existing customer records
  • Contacts: Create new contacts or update existing contact records
  • Leads: Create new leads or update lead qualification status
  • Opportunities: Create new opportunities or update opportunity stages and details
  • Sales Orders: Create new sales orders (requires appropriate approval workflows)
  • Cases: Create new support cases or update case status and details
  • Projects: Create new projects or update project information
  • Activities: Create tasks, events, and calendar activities
  • Custom Records: Update custom record types (if permissions allow)
warning

Before enabling write capabilities, ensure you understand the impact of data being written back to NetSuite. NetSuite has complex workflows, approvals, and business rules that may affect data writes. It's recommended to test write operations in a sandbox environment first, or start with read-only access and enable writes gradually for specific objects.

To enable write capabilities:

  1. Navigate to your NetSuite integration settings in AccountAim
  2. For each object you want to enable writes for, toggle the "Write Access" option
  3. Ensure your NetSuite role has the necessary write permissions
  4. Configure any field mapping or transformation rules if needed
  5. Test with a small dataset in a sandbox environment before enabling writes for all records
  6. Review NetSuite workflows and approval processes that may affect writes

Best Practices

  1. Use Dedicated Role: Create a dedicated NetSuite role for AccountAim with minimal required permissions
  2. Start with Read-Only: Begin with read-only access and enable writes only after testing and validation
  3. Use Sandbox for Testing: Test integrations and write operations in a NetSuite sandbox before enabling in production
  4. Selective Syncing: Only sync the objects you actually need in AccountAim to reduce API usage
  5. Date Range Filters: Use date range filters for time-sensitive objects like transactions and cases to limit data volume
  6. Monitor API Usage: Keep an eye on your NetSuite API usage and adjust sync frequency as needed
  7. Incremental Syncs: Use incremental syncs when available to reduce API calls and improve performance
  8. Secure Credentials: Never share your consumer keys, consumer secrets, token IDs, or token secrets publicly
  9. Test Writes Carefully: If using write capabilities, test thoroughly in a sandbox environment first
  10. Field Mapping: Review and configure field mappings before enabling writes to ensure data integrity
  11. Workflow Awareness: Understand NetSuite workflows and approval processes that may affect data writes
  12. Audit Trail: Monitor write operations in AccountAim's activity logs to track changes made to NetSuite

Troubleshooting

Connection Issues

If you're experiencing connection problems:

  • Verify your account ID is correct (check your NetSuite URL)
  • Ensure token-based authentication is enabled in NetSuite
  • Check that your integration record is active and not expired
  • Verify your access token is valid and not expired
  • Ensure the role associated with the token has the required permissions
  • Check that your NetSuite account is not in maintenance mode
  • Verify you're using the correct environment (production, sandbox, or release preview)

Sync Issues

If data isn't syncing properly:

  • Verify the NetSuite role has read permissions on the objects you're trying to sync
  • Check that the objects exist and are accessible in NetSuite
  • Review sync logs in AccountAim for specific error messages
  • Ensure you haven't exceeded NetSuite API rate limits
  • Check for any data type or field mapping issues
  • Verify custom fields are accessible if you're syncing custom record types

API Rate Limits

If you're hitting API rate limits:

  • Reduce sync frequency for large objects
  • Use date range filters to limit the amount of data synced
  • Consider syncing different objects at different intervals
  • Review your NetSuite account type and API limits
  • Contact NetSuite support to discuss API rate limit increases if needed

Write Issues

If writes are failing:

  • Verify the NetSuite role has write permissions on the objects you're trying to update
  • Check for required fields that must be populated
  • Review NetSuite workflows and approval processes that may block writes
  • Ensure custom fields are writable if you're updating custom fields
  • Check for validation rules or business logic that may prevent writes
  • Review error messages in AccountAim's sync logs for specific issues

For additional support, contact AccountAim support.