Nue Knowledge Center

Nue Docs navigation

search
clear
/

NetSuite Integration v2023

NOTE

 

This version of the NetSuite Integration, released in 2023, does not support Revenue Recognition in NetSuite ARM and advanced collection use cases. For the most up-to-date NetSuite Integration with support for Revenue Recognition and advanced Collections, please refer to this document.

NetSuite Connector Overview

Nue's Netsuite connector allows data and transactions from Nue's Revenue Lifecycle Management Platform to be synced with your Netsuite ERP instance.

 

The following systems are in scope for this Nue integration:

  • Nue
  • Salesforce
  • NetSuite

Record Overview

The following objects are in scope for this Nue integration:

  • Account/Customer
  • Product/Item
  • Transactions

 

 

Integration Flows

Nue's Everything BillingTM Platform enables:

  • powerful yet intuitive billing schedule management
  • consolidated billing (multiple orders can easily translate to consolidated invoices)
  • incorporation of multiple different revenue/subscription types (e.g., usage)

Because of the power of Nue Everything BillingTM, invoice-based integration is the preferred approach.

 

A. Invoice Integration

 

 

 

B. Invoice Integration with Sales Orders for Fulfillment

For customers that have phyical goods (inventory items) that need to be fulfilled, we offer the following functionality.  This example also specifies the case whereby NetSuite ARM is being used for Revenue Recognition.

 

 

NetSuite Connector Setup

Permissions/Roles: NetSuite configuration and connector installation requires someone with an Administrator or a similar role with adequate permissions.

 

Sandbox vs. Production:  We recommend using a NetSuite sandbox account to test the Nue integration before deploying it to production.

 

Configure Nue/Salesforce

Your Nue Implementation/Account Manager will take the responsibility for access and configuration of your Nue/Salesforce environments to enable the Nue Connector.

 

Configure NetSuite

Enable Features

NetSuite must be enabled to allow token-based authentication connectivity, and SuiteAnalytics, in order for Nue to be able to connect to your Netsuite account.  This requires either Administrator privileges or at least Role | Permissions | Setup | Enable Features = Full permission.

 

  1. Navigate to Setup > Company > Enable Features
  2. On the SuiteCloud tab, ensure Token-Based Authentication is checked
  3. On the Analytics tab, ensure that SuiteAnalytics Workbook is checked.

Install Bundle

Installing the Nue Connector bundle streamlines the configuration of integration with Nue.  This requires either Administrator privileges or at least Role | Permissions | Setup | SuiteApp Marketplace = Full and SuiteApp Deployment = Full permissions. 

 

Instructions:

  1. Navigate to Customization > SuiteBundler > Search & Install Bundles (or search for "Page: Search & Install Bundles")
  2. Search for "Nue Connector" by Nue.io
  3. Install the Nue Connector bundle (it must be shared with your NetSuite account; if not please contact your Account Executive or email usa at netsuite-integration@nue.io)

The Nue Connector bundle comprises:

  • Role: Nue Connector Role with permissions appropriate for the Nue Integration
  • Custom Fields:  Nue-specific custom fields for the entity(customer) master, the item master, and transaction header (body) and transaction lines
  • Saved Searches: Nue saved searches to facilitate management of the Nue Integration

Integration

An integration must be created. This will require Administrator privileges or at least the ability to create integrations

TAKE NOTE OF CUSTOMER KEY/SECRET: the Customer Key / Client ID and Customer Secret / Client Secret are only displayed for the creator.  Although you can Edit-Reset Credentials for the Integration, best to copy and save these in a secure place in accordance with company policies. 

 

Create Access Token

An access token must be created for each Nue Integration: Nue.io REST; Nue.io SOAP.  This will require Administrator privileges or at least Role | Permissions | Setup | Access Token Management = Full permission.

 

Instructions:

1. Determine the User to be associated with the Access Token.

USER for ACCESS TOKEN: The user you choose to associate with the access token will be listed against all item, customer and transaction records created or modified by the Nue Connector (i.e., CreatedBy and ModifiedBy). Take this into account when selecting (or creating) the user for this purpose.  You can create a new Employee (or other entity if you have configured NetSuite to allow other entities such as Vendors to have login access to NetSuite).  You can also create/use a record and name it something like FirstName: Nue || LastName: Connector and use the email netsuiteintegration+[customername]@nue.io for this purpose.  

 

Also note that if you have any email automations related to invoice creation or the like, that you should log in as such user and set preferences at Home | Set Preferences | Transactions:  choose PDF or HTML.

2. Assign the Role Nue Connector Role to the user (employee) who will be attached to the access token you will be creating.  Search for and edit Employee, go to the Access tab, add the Nue Connector Role.

3. Search for "Page: Access Tokens" and go there.

4. Create New Access Token:  choose Application (Nue.io REST), User, Role (Nue Integration Role).  Save.

TAKE NOTE OF TOKEN ID/SECRET: the Token ID and Token Secret are only displayed once upon creation of the access token.  Make sure to copy and save these in a secure place in accordance with company policies.  If you lose these credentials you will have to create a new access token.

5. Create additional Access Tokens for additional integrations as necessary (e.g., Nue.io SOAP)

 

NetSuite Credentials

The following credentials need to be provide to Nue:

 

1. Integration Credentials: (a) Consumer Key and (b) Consumer Secret.  

You may need to Edit | Reset Credentials to obtain these (unlike the access token the integration credentials can be reset), and ensure to save these in a secure place in accordance with company policies.

 

2. Access Token Credentials:  (a) Token ID and (b) Token Secret

You will need a token pair for each integration.

 

3. Account ID: AccountID is usually the prefix of your NetSuite URL (https://[accountID].app.netsuite.com/) but it is also locate-able via Setup > Company > Company Information.

 

Other NetSuite Considerations

The following considerations apply: 

 

Currencies: the currencies present in Nue/Salesforce should be present in NetSuite.

 

Override Documents Numbers:  if you want Nue Invoice numbers to become Netsuite Invoice numbers (as opposed to just being referenced in the custom field created by Nue), you can go to Setup > Company > Auto-Generated Numbers and check "Allow Override" for appropriate transactions (e.g., Credit Memo, Invoices, Journal, Sales Order).  The Nue Connector can then be updated to write the Nue transaction number to the NetSuite tranid field as well as to the custom Nue Transaction # field.

 

External IDs:  Best practices is to have externalIDs in NetSuite reference the corresponding source-of-truth ID in Nue/Salesforce.  There are occasions where customers, items and transactions already have externalIDs associated with them that may prompt the customer to not have this happen - using instead Nue-created custom fields in NetSuite for this purpose.

 

Accounting Periods Closed/Locked:  any accounting periods that are closed/locked will not be able to have transactions created or edited in them.

 

Default Subsidiary/Tax Schedule:  For accounts with multiple subsidiaries, the default subsidiary for posting customer and transaction information will be defined.  Default Tax Schedule for item creation should also be spedified.

 

Taxes:  Tax calculations can be done within Nue (Avalara and your credentials for that service), or within Netsuite.  This needs to be specified as part of the implementation.  In addition, Customers will be created in Netsuite as taxable / not-taxable according to selection made in NetSuite Setup | Accounting | Set Up Taxes.  

 

Revenue Recognition Field Mapping:  For customers who have ARM configured, source fields for Start Date, End Date, Forecast Start Date, and Forecast End Date should be configured as the Nue-Date Start and Nue-Date End fields.

 

Nue Connector Usage

There are three core NetSuite objects related to the Nue Connector:  (a) Entity(Customer), (b) Item, (c) Transaction.  

 

Entity/Customer:  Salesforce Accounts are created as NetSuite Customers and subsequenly synced.  Once identified as a synced Customer record, Nue/Salesforce becomes the source of truth for the fields in scope of the Nue Connector; fields outside of scope can be updated in either system independently.

 

Item:  Products in Nue are created in NetSuite and then subsequently synced.  Once identified as a synced Item record, Nue/Salesforce becomes the source of truth for the fields in scope of the Nue Connector; fields outside of scope can be updated in either system independently.

 

Netsuite has a variety of item types; the ones used by the Nue Connector are as follows:

 

  1. Inventory Item: items which have fulfillable, countable inventory as managed in Netsuite ("Asset" in Nue).  These correspond to Nue Products where Product Family/Product Category is mapped to the Activation Object = ASSET. 
  2. Non-Inventory Item for Sale: These correspond to "Subscriptions" in Nue.  Specifically, Nue Products where Product Family/Product Category is mapped to the Activation Object = SUBSCRIPTION.  
  3. Service Item for Sale: These generally correspond to "Entitlements" in Nue to the extent that you actively use the Service item type in NetSuite.  An example of this would be one-time professional services, which would be a Nue Product in a Product Family/Product Category that would be mapped to the Activation Object = ENTITLEMENT.  NOTE, HOWEVER, that if a customer does not actively use in NetSuite the Service item type... that in such case Entitlements can alternatively create Non-Inventory Items in NetSuite.

Transaction: The Nue integration syncs Nue Transactions to NetSuite, and also adds transaction status (e.g., invoice payment and balance) to Nue/Salesforce.  For transactions created by Nue, Nue is the source of truth for the fields in scope of the Nue Connector; fields outside of scope can be updated in either system independently.  Transactions, which depend on the Customer and Item records mentioned above, include the following:

  • Invoice (or Sales Order, if using the Sales Order approach)
  • Payment
  • Credit Memo
  • Refund

Sync Functionality Overview

 

Record TypeFromToFunctionsNotes
Account/CustomerNue/SalesforceNetSuitecreate, updateauto-sync upon save when meeting criteria
 NetSuiteNue/Salesforce createwhen "Create in Nue/SFDC" checkbox is checked
Product/ItemNue/Salesforce NetSuitecreate, updateauto-sync upon save when meeting criteria 
 NetSuiteNue/Salesforcecreatewhen "Create in Nue/SFDC" checkbox is checked
InvoiceNue/Salesforce NetSuiteactivation, cancel/voidauto-sync upon save when meeting criteria
 NetSuiteNue/Salesforce updatewhen Payment Status changes in NetSuite
Credit MemoNue/SalesforceNetSuiteactivation 
 NetSuiteNue/Salesforce  

 

 

Customer Fields & Sync Criteria

The following data fields are in scope for sync via Nue-NetSuite Connector functionality:

 

Customer Sync FieldNue FieldSalesforce FieldNetSuite Field
NamenameNamecompanyName
Account NumberaccountNumberAccountNumberaccountNumber
Customer EmailemailRuby__OrderPrimaryContactEmail__cemail
Customer SincecustomerSinceRuby__CustomerSince__cstartDate
Description/CommentsdescriptionDescriptioncomments
PhonephonePhonephone
Parent CustomerparentCustomerIdParentId.nuens_netsuiteID__cparent
Subsidiarynuens_netsuite_subsidiary__cnuens_netsuite_subsidiary__cprimarySubsidiary

 

The following fields are system ID and status fields related to the Nue Connector:

 

ID / Status FieldNue/Salesforce FieldNetSuite Field
SFDC AccountIDIdcustentity_nue_sfdcaccountid
SFDC AccountIDIdexternalId
NetSuite Customer IDnuens_netsuiteID__cid
URL Linknuens_netsuite_url__ccustentity_nue_sfdc_url
Sync: Lastnuens_netsuite_sync_last__ccustentity_nue_sync_last
Sync: Statusnuens_netsuite_sync_status__ccustentity_nue_sync_status

 

The following fields do not sync but rather factor into sync criteria or outputs:

 

Field DescriptionSystemField NameNotes
Account TypeSalesforceAccount.TypeType=Customer is default sync criteria
Sync: SkipSalesforcenuens_netsuite_sync_skip__cCheckbox: skips sync from Nue/SFDC to NetSuite
Sync: TestSalesforcenuens_netsuite_sync_test__cCheckbox: used during testing phase (only)
Created from NueNetSuitecustentity_nue_createdfromnueCheckbox: indicates record created from Nue

 

Customer Sync Criteria.  Standard criteria for becoming source of a create/sync action from Nue/Salesforce is:

  • Account Type=Customer
  • NetSuite Sync:Skip (checkbox)=false/unchecked

The field "NetsuiteID" will be populated after auto-creation of such Customers in NetSuite, and the NetSuite Sync:Last and Sync:Status fields will also be updated.  Note that if you already have un-synced records in both NetSuite and Nue/Salesforce, you can link those existing records to prevent the Nue Connector from creating duplicates by populating the NetSuiteID field (nuens_netsuiteID__c).  The Nue Implementation Team can assist you with this process.

 

 

Item Fields & Sync Criteria

The following fields are in Scope in core Nue Connector functionality:

 

Item Sync FieldNue FieldSalesforce FieldNetSuite Field
Product SKUskuStockKeepingUnititemId
Product Item/NamenameNamedisplayName
Product DescriptiondescriptionDescriptiondescription
Nue: Product CategoryproductCategoryFamilycustitem_nue_productfamily

 

The following fields are system ID and status fields related to the Nue Connector:

 

ID / Status FieldNue/Salesforce FieldNetSuite Field
SFDC ProductIDIdcustitem_nue_sfdcproductid
SFDC ProductIDIdexternalId
NetSuite Item IDnuens_netsuiteID__cid
URL Linknuens_netsuite_url__ccustitem_nue_sfdc_url
Sync: Lastnuens_netsuite_sync_last__ccustitem_nue_sync_last
Sync: Statusnuens_netsuite_sync_status__ccustitem_nue_sync_status

 

The following fields do not sync but rather factor into sync criteria or outputs:

 

Field DescriptionSystemField NameNotes
Product StatusSalesforceRuby__Status__cStatus=Active is default sync criteria
Sync: SkipSalesforcenuens_netsuite_sync_skip__cCheckbox: skips sync from Nue/SFDC to NetSuite
Sync: TestSalesforcenuens_netsuite_sync_test__cCheckbox: used during testing phase (only)
Created from NueNetSuitecustitem_nue_createdfromnueCheckbox: indicates record created from Nue

 

Item Sync Criteria.  Standard criteria for becoming source of a create/sync action from Nue/Salesforce is:

  • Product Status=Active
  • NetSuite Sync:Skip (checkbox)=false/unchecked

The field "NetsuiteID" will be populated after auto-creation of such item in NetSuite, and the NetSuite Sync:Last and Sync:Status fields will also be updated.  Note that if you already have un-synced records in both NetSuite and Nue/Salesforce, you can link those existing records to prevent the Nue Connector from creating duplicates by populating the NetSuiteID field (nuens_netsuiteID__c).  The Nue Implementation Team can assist you with this process.

 

Transaction Fields & Sync Criteria

The following fields are in Scope in core Nue Connector functionality:

 

Transaction Sync FieldNue FieldSalesforce FieldNetSuite Field
 BODY/HEADER FIELDS  
Invoice NumbernameNamecustbody_nue_transactionnumber
Invoice DateinvoiceDateRuby__InvoiceDate__ctranDate
Start DatestartDateRuby__StartDate__cstartDate
End DateendDateRuby__EndDate__cendDate
Due DatedueDateRuby__DueDate__cdueDate
Account/CustomercustomerIdRuby__AccountId__centity
StatuspaymentStatusRuby__PaymentStatus__cstatus
BalancebalanceRuby__Balance__cforeignamountunpaid
  TRANSACTION LINE FIELDS 
Product/Item IDproductIdRuby__ProductId__citem
Transaction QuantitytransactionQuantityRuby__TransactionQuantity__cquantity
Start Date (line)startDateRuby__StartDate__ccustcol_nue_date_start
End Date (line)endDateRuby__EndDate__ccustcol_nue_date_end
Amount (line)transactionAmountRuby__TransactionAmount__camount
Price/Rate [transactionAmount/transactionQuantity]rate

NOTE: NetSuite Transaction Number (tranid) can take the Nue transaction number if respective transactions allow override on auto-generated numbers. 

 

The following fields are system ID and status fields related to the Nue Connector:

 

ID / Status FieldNue/Salesforce FieldNetSuite Field
Nue TransactionIDidcustbody_nue_transactionid
Nue TransactionLineIDnamecustcol_nue_transactionlineid
Sync: Lastnuens_netsuite_sync_last__ccustbody_nue_sync_last
Sync: Statusnuens_netsuite_sync_status__ccustbody_nue_sync_status

 

The following fields do not sync but rather factor into sync criteria or outputs:

 

Field DescriptionSystemField NameNotes
Invoice StatusNuestatusStatus=Active is default sync criteria
Nue: Created from NueNetSuitecustbody_nue_createdfromnueCheckbox: indicates record created from Nue
Price Level (line)NetSuitepriceconfiguted as Custom price level on transaction lines

 

Transaction Sync Criteria.  Standard criteria for becoming source of a create/sync action from Nue/Salesforce is:

  • Transaction Status=Active

 

Status Field Messages

Status fields start with one of the following 3 codes:

  1. SUCCESS: the create or sync action was successful, e.g., "SUCCESS: Invoice created from Nue"
  2. NOTICE: the action was notable in some respect but short of a failure or an error, e.g., "NOTICE: record was not created in NetSuite because Skip Sync was checked"
  3. ERROR: the action failed or could not be completed for a reason that should be addressed, e.g., "ERROR: could not create Customer in NetSuite because a customer with the same name already exists."

Workflows

  • NetSuite List Views & Saved Searches
  • Salesforce List Views and Reports