NetSuite Onboarding Part 1: Set up ServiceTitan for integration

Prev Next

Overview

Using the NetSuite accounting integration with ServiceTitan integrates journal entries or document transactions depending upon your specific needs.

  • Account Receivable: Journal entry or document-based. Includes invoices, payments, applied payments, and bank deposits

  • Accounts Payable: Document-based. Includes purchase orders, receipts, vendor bills and vendor returns

  • Inventory Adjustments: Journal entries  


Who uses this feature

  • Administrators, office employees, managers, accountants, and bookkeepers

  • Applies to all business types

  • Applies to all trades

Feature configuration

  • This feature is currently in Private Preview and available for specific accounts. It is subject to change. If you want to enable this feature for your account, join the waitlist here.

Things to know

  • A ServiceTitan account can connect to only one NetSuite instance.  

  • Installation and configuration are required in both ServiceTitan and NetSuite.  In ServiceTitan each tenant that needs to connect to NetSuite will need the ServiceTitan NetSuite API App installed.  In NetSuite, you will need to install an configure a single ServiceTitan NetSuite SuiteApp.

  • .Journal entries are synced to NetSuite based on a sync action taken by the user.

  • Document transactions (invoices, payments, etc..) are batched and posted in order to be synced to NetSuite.  Once synced, the transaction will be marked exported.

  • When using this integration, we recommend: 

What I need to get started

To use this integration, you must have the following features and access enabled:

Overview

In this step, perform the following tasks in ServiceTitan:

  1. Generate ServiceTitan Client ID and Client Secret

  2. Prepare for the business unit mapping in NetSuite

  3. Prepare for the mapping of GL accounts between ServiceTitan and NetSuite

  4. Make sure pricebook items have correct GL accounts

  5. Setup custom fields

  6. Enable automated refunds and deposit workflows

  7. Configure journal entries and auto-batching settings

  8. Manually sync your journal entries

Step 1: Generate ServiceTitan Client ID and Client Secret

When the NetSuite SuiteApp is installed you will need to provide a Client Id and Client Secret to securely provide access to ServiceTitan.  

Note: A ServiceTitan account can connect to only one NetSuite instance. 

To generate ServiceTitan Client ID and Secret:

  1. On the navigation bar, go to Settings .

  2. In the side panel, go to Integrations > API Application Access.

  3. Click Connect New App

  4. Select ServiceTitan NetSuite SuiteApp.

  5. Review the scopes requested. Choose No restriction from the report category dropdown.

  6. Click Allow Access.

  7. Your Tenant ID and Client ID appear. 

  8. In the Client Secret section, click Generate.

  9. Your Client Secret appears. Copy the Client ID and Client Secret information for use when configuring your account in the NetSuite SuiteApp.

Application details for ServiceTitan NetSuite SuiteApp including client ID and secret.

Step 2: Prepare for the business unit mapping in NetSuite

Business units need to be mapped in the NetSuite SuiteApp to a subsidiary and optionally to a department, class and location.  All transactions and journal entries integrated will have these fields set according to this mapping.

Keep this in mind when creating your business units so you have the right level of granularity to support your NetSuite business segmentation.

For more on business units, see What is a business unit? For more on creating business units, see Add and edit business units.

Form for editing HVAC Install business unit details including name, email, and division.

Step 3: Prepare for the mapping of GL accounts between ServiceTitan and NetSuite

Map the Chart of Accounts in Netsuite to the General Ledger (GL) accounts in ServiceTitan. Account numbers should match between the two platforms. 

For instructions on creating Chart of Accounts in NetSuite, see Viewing the Chart of Accounts in the Oracle website.

Caution: Make sure the account numbers between ServiceTitan and NetSuite match so the mapping exercise during the NetSuite SuiteApp setup is simpler.

Form to add a GL account with fields for number, name, type, and description.

Step 4: Make sure pricebook items have correct GL accounts

Once you’ve mapped the GL accounts between ServiceTitan and Netsuite, make sure all your services, materials, and equipment in Pricebook are mapped to the correct GL accounts. 

For more, see Edit pricebook items.

Note: Make sure when an item is marked as inventory, ensure all the general ledger account fields are filled out.  

Editing service details with highlighted general ledger account labeled as revenue.

Step 5: Set up custom fields

Set up the following custom fields:

  • accountingsystemsyncstatus

  • accountingsystemsyncmessage

Custom field for sync status

Create accountingsystemsyncstatus as a text field for the following entities: 

  • Invoices (API)

  • Payments (API)

  • Receipts (API)

  • Bills (API)

  • Returns (API)

  • Inventory Adjustments (API) 

  • Inventory Transfers (API)

Editing custom field settings for accounting system synchronization status and related records.

Custom field for sync message

Create accountingsystemsyncmessage as a text field for the following entities: 

  • Invoices (API)

  • Payments (API)

  • Receipts (API)

  • Bills (API)

  • Returns (API)

  • Inventory Adjustments (API)

  • Inventory Transfers (API)

Editing custom field settings for accounting system synchronization options and types.

For more on custom fields, see Use custom fields.

Step 6: Enable automated refunds and deposit workflows

Automated refunds automatically creates the proper accounting transactions on your behalf based on your responses to a series of refund questions. This saves you time and ensures proper GL accounting. To set up the automated refund workflow, follow the instructions in Set up automated refund workflow.

The Deposit workflow lets you apply deposits to a customer’s account without reducing your accounts receivable. To set up the Deposit workflow, follow the instructions in Enable Deposit Workflow.

Step 7: Configure journal entries and auto-batching settings

Go to Settings > Accounting > Journal Entries and Auto-Batching to access the Journal Entries and Auto-Batching settings screen to enable the settings.

Accounts Receivable only journal entry

The table below outlines recommended settings, assuming you do not have the Inventory module enabled.

Transaction Type

Export Type

Journal Entry Cadence

Sync Frequency

Batch Cadence

Separate by Business Unit *

Separate by Payment Type

Invoices

Journal Entry Summary

Daily or Weekly

Manual

Daily*

No

N/A

Payments (Invoices)

Journal Entry Summary

Daily, Weekly, or Monthly

Manual

Daily*

No

No

Applied Payments

Journal Entry Summary

Daily, Weekly, or Monthly

Manual

Transaction type cannot be batched

No

No

Bank Deposits

Journal Entry Summary

Per Transaction

Manual

Transaction type cannot be batched

No

N/A

Vendor Bills

Document**

Daily, Weekly, or Monthly

N/A

Daily, Weekly, or Monthly

No

N/A

Returns

Document**

Daily, Weekly, or Monthly

N/A

Daily, Weekly, or Monthly

No

N/A

Receipts

Document**

Daily, Weekly, or Monthly

N/A

Daily, Weekly, or Monthly

No

N/A


*If you are  mapping your business units to more than one NetSuite Subsidiary in a ServiceTitan tenant, this must be set to Yes.  The reason is that NetSuite cannot sync journal entries with more than one referenced subsidiary.
**Synced to NetSuite using the Batch Transactions screen. For more, see Batch, post, export transactions.

Accounts Receivable document-based

The table below outlines recommended settings, assuming you do not  have the Inventory modules enabled.

Transaction Type

Export Type

Journal Entry Cadence

Sync Frequency

Batch Cadence

Separate by Business Unit*

Separate by Payment Type

Invoices

Document

Daily

N/A

Daily

Yes

N/A

Payments (Invoices)

Document

Daily

N/A

Daily

No

No

Applied Payments

Document

Daily, Weekly, or Monthly

Manual

Transaction type cannot be batched

No

No

Bank Deposits

Journal Entry Summary

Per Transaction

Manual

Transaction type cannot be batched

No

N/A

Vendor Bills

Document**

Daily, Weekly, or Monthly

N/A

Daily, Weekly, or Monthly

No

N/A

Returns

Document**

Daily, Weekly, or Monthly

N/A

Daily, Weekly, or Monthly

No

N/A

Receipts

Document**

Daily, Weekly, or Monthly

N/A

Daily, Weekly, or Monthly

No

N/A


*If you are  mapping your business units to more than one NetSuite Subsidiary in a ServiceTitan tenant, this must be set to Yes.  The reason is that NetSuite cannot sync journal entries with more than one referenced subsidiary.
**Synced to NetSuite using the Batch Transactions screen. For more, see Batch, post, export transactions.

Accounts Receivable document-based with the Inventory module

The table below outlines recommended settings, assuming you have the Inventory modules enabled.

Transaction Type

Export Type

Journal Entry Cadence

Sync Frequency

Batch Cadence

Separate by Business Unit*

Separate by Payment Type

Invoices

Document

Daily

N/A

Daily

Yes

N/A

Payments (Invoices)

Document

Daily

N/A

Daily

No

No

Applied Payments

Document

Daily, Weekly, or Monthly

Manual

Transaction type cannot be batched

No

No

Bank Deposits

Journal Entry Summary

Per transaction

Manual

Transaction type cannot be batched

No

N/A

Vendor Bills

Document**

Per transaction

Manual

Daily, Weekly, or Monthly

No

N/A

Inventory Adjustments

Document**

Daily, Weekly, or Monthly

N/A

Daily, Weekly, or Monthly

No

N/A

Returns

Document**

Daily, Weekly, or Monthly

N/A

Daily, Weekly, or Monthly

No

N/A

Inventory Transfers

Document**

N/A

N/A

Daily, Weekly, or Monthly

No

N/A

Receipts

Document**

N/A

N/A

Daily, Weekly, or Monthly

No

N/A

*If you are  mapping your business units to more than one NetSuite Subsidiary in a ServiceTitan tenant, this must be set to Yes.  The reason is that NetSuite cannot sync journal entries with more than one referenced subsidiary.

**Synced to NetSuite using the Batch Transactions screen. For more, see Batch, post, export transactions.

Sync Start Date

Add the Sync Start Date. This date should be a future date. If any historical journal entries need to be synced, select the journal entries in the Journal Entries screen and click Actions > Start Syncing to perform a manual sync.  

Caution: Do not select Group journal entries by cadence and export type.

Auto-Batching Start Date

Add the Auto-Batching Start Date. Batches are automatically created and can be found on the Batch Transactions screen.   

Caution: Do not select Group batches by cadence.

Step 8: Manually sync your journal entries

When you are ready to sync the journal entries, use the manual sync action in the Journal Entries screen.

  1. Go to the navigation bar and click Accounting .

  2. In the side menu, click Journal Entries.

  3. On the Journal Entries screen, select journal entries you want to sync.

  4. Click Actions > Start Syncing.

  5. When the journal entries have been synced, the status on the Sync Status column will be Synced.

  6. If journal entries are later updated after they have been synced, and need to be resynced, the status on the Sync Status column will be OutofSync.

Impact on accounting workflows

When using the NetSuite integration with ServiceTitan, the following changes take place:

  • ServiceTitan becomes the Accounts Receivable sub-ledger, when using Journal Entries for AR integration.

  • ServiceTitan provides the total sales tax liability, and sales tax by jurisdiction for compliance and remittance is available in ServiceTitan reporting. 

  • All inventory counts and individual SKUs are managed in ServiceTitan. The inventory value is available on the financial statements in NetSuite.

Want to learn more?