✔️  Available on Scale and Enterprise subscriptions. 

What
The Teamwork.com NetSuite Integration allows seamless, one-way, real-time streaming of time-tracking data from Teamwork.com Time Logs to NetSuite Time Entries. 
Why
  • Automated data sync – No need for manual exports or imports.
  • Accurate invoicing – Reduce errors in time tracking for accurate billing.
  • Operational efficiency – Improve productivity by integrating Teamwork.com time data with NetSuite.
Who
  • Teamwork.com site admins (in the owner company) can connect their Teamwork.com site to Salesforce.

When
  • To ensure accurate invoicing and financial reporting in NetSuite, eliminate manual time data entry by enabling the seamless flow of time data from Teamwork.com into NetSuite.

Before you start

To use the NetSuite integration, ensure you meet the following requirements:

  • Must be on a Teamwork.com Scale plan or above.
  • Your NetSuite instance must have the OAuth 2.0 feature enabled.
  • Obtain the NetSuite credentials (Account ID, Consumer Key, Client ID, and Private/Public key):
  • Admin permissions in both Teamwork.com and NetSuite to enable integration.

Functionality

  • One-way sync – Time logs sync from Teamwork.com to NetSuite, but not vice versa.
  • Deleted time logs in Teamwork.com are not removed from NetSuite.
  • Time bills are not marked as billable in NetSuite.


Enable the NetSuite integration

Connect your Teamwork.com and NetSuite accounts to create and link items across the two platforms.



Step 1: Open Connect Portal

  1. Navigate to Integrations: Go to Settings > App & Integrations.
  2. Select NetSuite: Click Manage via the NetSuite integration tile.
  3. Click Connect in the modal to open the connection modal.
Image Placeholder

Step 2: Authenticate with NetSuite

  1. In NetSuite, go to Setup > Integration > Manage Integrations > New.
  2. Create a new integration, and deselect TBA: Authorization Flow, Authorization Code Grant & Token-Based Authentication. Ensure Client Credentials Machine-to-Machine Grant and REST Web Search are selected. Save the new integration.
  3. Save the integration and copy the Consumer Key/Client ID, and Consumer Secret/Client Secret. Paste these IDs in a safe document or notebook.
  4. Generate a public and private key following NetSuite’s OpenSSL guide. It is recommended to use the RSA-PSS option and include your organization name when generating the certificate/key.
  5. In NetSuite, go to Setup > Integration > Manage Authentication > OAuth 2.0 Client Credentials (M2M) Setup. 
  6. Create a new Client Credentials Mapping. For the Application field, select the Integration which was created in step 2. Upload the Public Key generated in step 4. Click Save.
  7. Return to Teamwork.com and enter the following:
  • Account ID (subdomain of your NetSuite account).
  • Consumer Key from NetSuite. (Step 3)
  • Certificate ID from the NetSuite client credential. (Step 6)
  • Upload the Private Key. (Step 4)
  • Click Continue to finalize the connection.
Image Placeholder

Step 3: Enable the integration with projects

  1. Open a project in Teamwork.com.
  2. Navigate to the project name.
  3. Open the popover using the three dots next to the project name. 
  4. Click More Options in the Manage tab.
  5. Toggle on Sync with NetSuite
  6. All updated or created Log Time in this project, will now automatically sync to NetSuite.
  7. Repeat this process for all projects you wish to connect with NetSuite.
Image Placeholder


Data Mapping
Teamwork.com Time Logs, users, and client details map to corresponding NetSuite fields. See the supported mapping below:

Teamwork.com Client -> NetSuite Customer:
  • Name (used to find existing customer; if names match no customer is created)
  • Email
  • Phone
Teamwork.com User -> NetSuite Employee:
  • Email (used to find existing employee; if names match no employee is created)
  • First name
  • Last name
Teamwork.com Time Log -> Netsuite TimeBill
  • Date
  • Duration
  • Employee (from employee mapping)
  • Customer (from customer mapping)
  • Description / Memo

Disconnect Teamwork.com from NetSuite

The Teamwork.com user that installed the integration, as well as site admins in the owner company, can disable the integration for all users.


  1. Log in to Teamwork.com.
  2. Click your profile icon in the main navigation menu.
  3. Select Apps and Integrations.
  4. Scroll to the NetSuite tile.
  5. Click Manage.
  6. Click Disconnect in the NetSuite modal.

FAQs

What happens if an employee doesn’t exist in NetSuite?

The system matches the employee to a Teamwork.com user using their email address. If no email match is found, a new employee record is automatically created using the first name, last name, and email of the Teamwork.com user who logged the time.

What happens if a customer doesn’t exist in NetSuite?

The system matches the customer to a Teamwork.com client using their name. If no name match is found, a new customer record is automatically created using the name, email and phone number of the Teamwork.com client associated with the logged time.

Can custom fields be mapped?

No, custom field mapping is not supported.

Can deleted time logs in Teamwork.com be removed from NetSuite?

No, deletions in Teamwork.com do not remove the corresponding time bill in NetSuite.

Is the integration available for all Teamwork.com plans?

No, it is available only for Scale and Enterprise plans.

Will any updates to the Time Log be synced to NetSuite?

Only updates to the Time Log duration will initiate a sync from Teamwork.com to NetSuite Time Entries. If a time log already exists in Teamwork.com and has not been synced, it is possible to initiate the sync by updating the duration.