Turvo's NetSuite Integration

NetSuite is the world's leading provider of cloud-based business management software and helps companies manage core business processes with a single, fully integrated system covering enterprise resource planning (ERP) and financials, customer relationship management (CRM), e-commerce, inventory and more.

How the integration works

With Turvo’s Netsuite integration, the customer and carrier invoices along with customer and carrier data are created in the Turvo platform and sync to Netsuite, creating or updating the entity in Netsuite. This integration is primarily used for syncing financial information to and from Netsuite. 

Below are the common actions taken in Turvo, what information is synced across the two platforms, when it’s synced, and which direction the information flows.

Note: It may take a few minutes for changes to sync from one platform to another.

Information Synced When It's Synced Direction of Sync

Carrier account: The carrier name, Accounting ID, and primary address.

Info syncs when the carrier is first invoiced and any proceeding invoice that is created. 

Note: If an accounting ID is not added in Turvo before the first invoice is created, Turvo creates a new vendor in Netsuite while automatically adding the newly created vendor ID from Netsuite as the accounting ID in Turvo. If you want to sync accounts to an existing vendor, make sure to add the accounting ID to the account profile during account creation in Turvo. This can be done manually, through TDI or API. 

Turvo → Netsuite
Customer account: The customer name, Accounting ID and primary address.

Info syncs when the carrier is first invoiced and any proceeding invoice that is created. 

Note: If an accounting ID is not added in Turvo before the first invoice is created, Turvo creates a new vendor in Netsuite while automatically adding the newly created vendor ID from Netsuite as the accounting ID in Turvo. If you want to sync accounts to an existing vendor, make sure to add the accounting ID to the account profile during account creation in Turvo. This can be done manually, through TDI or API. 

Turvo → Netsuite
Customer and Carrier Advances & Deductions Advance payment and deductions issued in Turvo sync to Netsuite. Turvo → Netsuite
Customer and Carrier Accruals: Customer and Carrier costs (Optional)

The Customer journal entry is created in NetSuite if the shipment has cost items corresponding to customer/carrier and the shipment is in Route Complete status (only Route complete is supported) but the invoice has not yet been created. Then, that amount is stored in Netsuite in the form of the journal entry.

When an invoice is created corresponding to the customer on a particular shipment, the journal entry is deleted from NetSuite and the corresponding record from the composite mapping table.

Turvo → Netsuite
Carrier and Customer invoice: The invoice number, invoiced date, Carrier/Customer being invoiced (or Payee), due date, and Invoice amount.

Invoices sync when they’re created and moved into an Approved status in Turvo. 

 

Note: Only Approved invoices are considered for syncing.
Turvo → Netsuite
Carrier and Customer Invoice Payment

When invoices are paid in Netsuite, the payment syncs back to Turvo and marks a shipment paid. Payments must be made for the full invoice amount.

Turvo ← Netsuite
BETA: Carrier and Customer Invoice Payment (Optional)

When a payment is issued in Turvo, Turvo syncs the payment to Netsuite. Payments must be made for the full invoice amount.

 

Note: This feature is in Beta. Reach out to your Turvo rep to learn more.

Turvo → Netsuite

 

Below is a visual representation of the above table:

Enablement Prerequisites

  1. Before enabling Turvo’s Netsuite integration, your organization must have a contract with Netsuite and a Netsuite account with Admin level permissions (or equivalent). Turvo will request access for integrations@turvo.com
  2. Work with your Turvo representative and send an Admin Level invite for NetSuite sandbox and production portal. (integrations@turvo.com)
  3. Generate credentials and tokens for your Netsuite-Sandbox and Netsuite-Production and share them with Turvo. 
  4. Determine if your organization will require forward or reverse payment sync. Communicate the desired flow with your Turvo representative. 
    • Forward sync: A payment is created in Turvo and the payment syncs to Netsuite.
    • Reverse sync: A payment is created in Netsuite and the payment syncs to Turvo. 

Obtain Credentials and Tokens in Netsuite

  1. Netsuite navigate to Setup > Integration > Manage Integrations > New


  2. Enter the following details:
      • Name: Name your integration
      • State: Enabled
      • Token Based Authentication: Checked
      • TBA Issue Token Endpoint: Checked
      • User Credentials: Checked
      • Authorization Code Grant: Unchecked
      • TBA: AUTHORIZATION FLOW: Unchecked
  1. Click Save and copy the Client ID and Client Secret.

    Important Note:
    This is the only time the Client ID and Client Secret are displayed so immediately copy those and store them somewhere safe, as you need to share this with Turvo in the steps below.

  2. From the Home screen go to Manage Access Tokens.


  3. Click New My Access Token.


  4. Select the name of the integration that you just created from the drop-down.


  5. Click Save and copy the Token ID and Token Secret.

    Important Note: This is the only time the Token ID and Token Secret are displayed so immediately copy those and store them somewhere safe, as you need to share this with Turvo in the steps below.

  6. You also need to copy the Application name and the Account number to share with Turvo. The Account number is found in the URL while logged into Netsuite.

Map Turvo to your Netsuite Chart of Accounts

Fill out the Chart Of Account (COA) sheet with details from your Netsuite portal.

The Chart Of Accounts is attached to the bottom of this article for download.

Notes: 

  • If Netsuite IDs are different between Netsuite Sandbox and Netsuite Production, fill out two Chart of Account documents; only one is required if IDs are the same between Production and Sandbox.
  • Production: All cost types should be filled in with the associated Netsuite IDs. 
  • For sandbox, you can fill out IDs only for some cost types for testing purpose.
  • Carrier cost types are mapped to account IDs and customer cost types are mapped to item IDs. So make sure to provide account internalIDs for carrier cost types and item internalIds for customer cost types. Ensure that all IDs are linked to the correct subsidiary.

 

Historical Data Migration

If you have historical customer/carrier data within your NetSuite account, work with your Turvo representative to complete ID mapping. 

  • Existing Netsuite ID’s should be provided during data migration, if available, during onboarding to Turvo. 
  • If you have a new Netsuite account, it’s recommended that customer and carrier accounts be created in Turvo first and sync those accounts to Netsuite upon invoice creation.
  • If you have an active Netsuite account then Netsuite customer and vendor ID’s need to be provided and uploaded to Turvo. Map Turvo IDs with Netsuite IDs to ensure syncing with the correct accounts between platforms.
  • Use the attached Carrier and Customer mapping document attatched to the bottom of the article.

Test Your Integration

In your sandbox environment, follow the steps below to test your integration:

  1. Create a test customer and set the status as Active.
  2. Create a test carrier and set the status as Active.
  3. Create a test pickup and test drop location.
  4. Create a shipment using the test customer and add the test carrier to that shipment. 
  5. Add costs to the shipment in customer and carrier block.
  6. Create a customer invoice in Approved status.
  7. Create a carrier invoice in Approved status.
  8. If the invoice syncs correctly, you will see the Netsuite icon on the invoice.
  9. Pay the invoice in either Turvo or Netsuite, depending on how you chose to setup your integration.

Important Considerations:

  1. Only Approved invoices sync with Netsuite.
  2. Netsuite doesn’t allow “Zero” amount transactions. So, there should be at least one cost line item defined for both customer and carrier. 
  3. For the Chart of Accounts, we suggest that you map everything within the file even if you do not utilize that field today to prevent future issues for mapping. 
  4. The address in the Carrier/Customer level must be marked as Primary in order for the address to sync. If the Billing address is not marked as Primary, Turvo does not push the address.
  5. Turvo supports the use of multiple Subsidiary ID’s. 
  6. You can integrate multiple Turvo tenants to a single Netsuite account by having a unique subsidiary ID for each Turvo Tenant. Keep in mind that you’ll need to fill out Chart of Account documents for both tenants to ensure correct mappings.
  7. NetSuite has a setting to automatically generate an invoice number. If this feature is enabled, an error message is generated after the creation of an invoice in Turvo. Error while processing the record com.turvo.connect.service.exception.ConnectApplicationException: You do not have permissions to set a value for element tranid due to one of the following reasons: 1) The field is read-only; 2) An associated feature is disabled; 3) The field is available either when a record is created or updated, but not in both cases.
        • To correct this error in NetSuite go to Setup > Company > Auto-Generated Numbers > Document Numbers > Check Allow Override for Invoices.

NetSuite FAQs

Multiple Subsidiary IDs: 

  1. What amount does Turvo send Netsuite during QP invoice with fee?
    • Turvo sends the total invoice amount. Fees are not included as payment will need to come from Netsuite.
  2. How to support transaction allocation in Netsuite between two different customer entities? Anything Turvo sends Netsuite that can breakdown?
    • We did find the ability to add both Subsidiary ID and Project ID to the carrier section of a shipment which can map back into Netsuite. These ID’s need to be added to every shipment. Contact your Turvo representative on how to configure these requirements. 
  3. Anything in Netsuite that can do a batch payment for multiple invoices?
    • Nestuite does have the ability to create batch payments for both carriers and customers.
  4. How are archived Invoices in Turvo handled in the NetSuite integration?  Is a credit memo sent to NetSuite in this case?
    • Turvo deletes the corresponding invoices in Netsuite when archived in Turvo.
  5. What Factor information synced to NetSuite?  If a Carrier uses a Factor, where does this info appear on the Carrier's NetSuite Vendor profile?
    • Pay to address and Pay to name are sent to Netsuite. It appears as "Print on check as”.
  1.  

Was this article helpful?

0 out of 0 found this helpful