Overview
The SuiteApp includes functionality to identify and manage errors that occur during sync from ServiceTitan to NetSuite. Sync errors typically occur due to missing data, incorrect configuration, or mapping issues.
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.
View errors in Sync Records Manager
Use Sync Records Manager to find and manage records that failed to sync.
In NetSuite, go to ServiceTitan > Integration > Sync Records Manager.
Select one or more tenants.
Set Status to Error.
Add any other filters needed to narrow the results.
Select Apply Filter.
The results show all matching error records for the selected tenants.
Error details
Sync Records Manager displays:
Select: Select records to reset, resync, or ignore.
Last Modified: Date the sync record was last updated.
Status: Current sync status.
Tenant: Tenant associated with the record.
ST ID: ServiceTitan record ID.
Type: Record type, such as Customer Payment, Refund, or Vendor.
Ref #: Reference number or name associated with the record.
Message: Description of the sync error and its cause.
Note: Select Apply Filter whenever you change a filter. The results do not update automatically.
Reset sync errors
After resolving the cause of an error, reset the affected sync records to return them to the sync queue.
In Sync Records Manager, filter for records with an Error status.
Select one or more records. To select all displayed records, use the checkbox in the column header.
Select Reset.
The selected records return to Pending Sync and are processed during the next scheduled or manually triggered sync.
Note: Review and resolve the error before resetting a record. Resetting does not correct the underlying data or configuration issue.
Note: Select Ignore when a record does not need to be synced. The record is marked as ignored and excluded from further sync attempts. Ignoring a record does not delete it or resolve its underlying error. When set to Ignore, you can revert the status of the ignored record to error via the Revert Ignore button on the sync record
Recommendations
Review error messages before resetting, as some errors may require updates in ServiceTitan or NetSuite to resolve the root cause.
If errors persist after reset, further investigation may be required to adjust mappings or resolve data issues.
Monitor sync activity with Sync Records Manager
Sync Records Manager provides a centralized view of records processed by the ServiceTitan NetSuite integration. Use it to:
Confirm which records synced successfully
Identify records that encountered errors
Review sync details and error messages
Investigate and resolve issues before retrying failed records
To open Sync Records Manager, from the main NetSuite navigation menu, go to ServiceTitan > Integration > Sync Records Manager.

Working with the Sync Records Manager
Use filters in Sync Records Manager to find and review specific sync records. You can filter records by:
Tenant
Record type
Sync status
Record ID
Reference number
Date
To review and find sync records:
Select one or more configured tenants from the dropdown list. You must select at least one tenant before records can be displayed.
Select any additional filters you want to apply.
Click Apply Filter to display the results.
Note: Click Apply Filter whenever you add or change a filter. The displayed results do not update until the filter is applied.
The Sync Records Manager defaults to showing errored records and remembers your selected filters for the duration of your browser session.
Error Notification Automation
The Error Notifications tool sends an email summary of any sync errors, when they occur, for each tenant. The email lists the tenant’s sync records that are currently in an error status.
You can run the notification manually or schedule it to run at regular intervals.
Enable Error Notifications
An administrator must enable the support tools before Error Notifications can be configured.
In NetSuite, go to Setup > Company > General Preferences.
Select Custom Preferences.
Enable Enable Support Tools.
Save your changes.
Set up Error Notifications
Before using Error Notifications, configure the email author and emai; recipients.
Select the notification author
The Error Notification Author determines which NetSuite user appears as the sender of error-notification emails. This is a global setting that applies to all tenants.
Open the ServiceTitan Dashboard.
In Error Notification Author, select the NetSuite user who should appear as the email sender.
Save your changes.

Add recipients for each tenant
Recipients are configured separately for each tenant.
Open the tenant configuration record.
Go to the Troubleshooting submenu.
In Error Notification Recipient, enter the recipients’ email addresses. To add multiple recipients, separate the addresses with commas.
Save your changes.
Repeat these steps for each tenant that should receive error notifications.

Run or schedule Error Notifications
Use the Error Notification Schedule on the ServiceTitan Dashboard to send an error summary when needed or automate regular monitoring.
To send a notification immediately, select Save and Execute.
To schedule recurring notifications, select the timing and recurrence, set the status to Scheduled, and select Save.

Run a diagnostic export
A diagnostic export collects configuration and log data for a tenant over a selected date range. ServiceTitan Support can use this information to investigate sync issues without direct access to your NetSuite account.
Create the export
In NetSuite, open the tenant configuration record.
Select Run Diagnostic Export.
Enter the following:
Start Date: Beginning of the export period
End Date: End of the export period
Email Recipients: Email addresses that should receive the export, separated by commas
Select Export.
The export runs in the background. When it is complete, NetSuite emails the results to the specified recipients.


Diagnostic export contents
The email includes a {tenantId}_DIAGNOSTICS.zip file containing:
Tenant configuration record
Business unit mapping records
Account mapping records
Tag records
Outbound API request logs
ServiceTitan script execution logs
The ZIP file is also saved in NetSuite under File Cabinet > SuiteFiles > ServiceTitan > {tenantId} > diagnostics.
Note: ZIP files larger than 10 MB are not attached to the email. Recipients are directed to download the file from the NetSuite File Cabinet. To reduce the file size, run another export using a shorter date range.
Payload Change Notes
Payload Change Notes help administrators track changes to ServiceTitan data between syncs.
When a supported record or transaction that has previously synced is changed in ServiceTitan and synced again, the SuiteApp records the payload changes from the previous sync as a User Note on the sync record. This provides a historical record that can be used for troubleshooting and debugging.
To enable Payload Change Notes, go to Setup > Company > General Preferences > Custom Preferences and select Enable Payload Change Notes.
Accounting System Sync Status
The Accounting System Sync Status feature writes NetSuite sync information to two custom fields in ServiceTitan, allowing ServiceTitan users to see the status of a transaction and review any messages generated during the sync process without requiring NetSuite access.
Enable the feature
Before this feature can be used, the customer must create the following two custom TEXT fields in ServiceTitan:
accountingsystemsyncstatus — captures the current NetSuite sync status.
accountingsystemsyncmessage — captures any messages generated by the sync process, including applicable error or processing information.
In ServiceTitan, go to Settings > Custom Fields and configure both fields to apply to:
Bills (API) / Inventory Adjustments (API) / Inventory Transfers (API) / Invoices (API) / Payments (API) / Receipts (API) / Returns (API)
The field names must be entered exactly as shown above.
How it works
Once the customer has created and configured the custom fields, the SuiteApp will automatically write the applicable sync information back to the ServiceTitan transaction:
Accounting System Sync Status records the transaction's sync status.
Accounting System Sync Message records any message generated by the system during the sync process.
This provides ServiceTitan users with direct visibility into NetSuite sync status and related messages from within ServiceTitan.
NetSuite errors
Transaction was not complete. A journal entry must have at least one debit line and one credit line, and debits and credits must balance.
ServiceTitan sent a journal entry with a single line. NetSuite requires balanced entries. Review the journal entry in ServiceTitan and add offsetting debit or credit lines and resync.
Bill cannot find associated ServiceTitan Purchase Order
Purchase Order (PO) failed to create during Vendor Bill sync. A bill requires a PO. Fix errors on PO, receipt, bill, reset failed records in ServiceTitan, and resync.
Receipt cannot find associated ServiceTitan Purchase Order (id XYZ) in NetSuite
PO failed to create during receipt sync. A receipt requires PO. Address issues with PO or Receipt, reset both in ST, and retry sync.
One line journals from ServiceTitan are not supported in NetSuite
ServiceTitan is generating a one-line journal due to the Deposit Workflow setting being set to Undeposited Funds, which results in an unbalanced entry. Update the Deposit Workflow setting in ServiceTitan to avoid one-line journals. Then reprocess the transaction.
The journal entry has multiple Business Units which are attached to different Subsidiaries. Please either update the Business Unit Mappings to ensure that all of this journal's Business Units have the same Subsidiary or change the ServiceTitan setting to group journals by Business Units.
The journal entry includes lines from business units (BUs) mapped to different subsidiaries in NetSuite, which is not allowed for a single journal. You can either:
Update BU mappings in NetSuite so all BUs in the journal are mapped to the same subsidiary, or;
Enable the Group journals by Business Unit setting in ServiceTitan to Split the journal by subsidiary.
Zero dollar invoices are not supported for AR Document Sync
Update the invoice in ServiceTitan to have a non-zero total, then resync.
Job NNNNNN is not mapped to a NetSuite Job
The SuiteApp is trying to sync a transaction tied to a job in ServiceTitan that does not have a matching project in NetSuite. Check if the corresponding project exists in NetSuite.
If it exists but there is no sync record, create a sync record linking the ServiceTitan job and NetSuite project.
If the project does not exist, create it in NetSuite and then create the sync record.
Could not find a NetSuite vendor named Multi Vendor VENDORNAME that is marked as Available To ServiceTitan
The SuiteApp located or created a vendor sync record for a ServiceTitan vendor, but the corresponding NetSuite vendor record does not have Available to ServiceTitan enabled.
Locate the vendor record in NetSuite, enable the Available to ServiceTitan checkbox, then rerun the vendor sync from ServiceTitan.
No mapping found for Accounts: NNNN : Prov for Inventory Adjustments (Scarp/Shrinkage) (NNNN) or No mapping found for Accounts: NNN : Name of Account
An item on the transaction points to a NetSuite account that is not mapped in the SuiteApp.
Ensure the account exists in NetSuite, is marked as Available to ServiceTitan, has an Account Item created for it, and is properly mapped in the SuiteApp's GL Mapping screen.
Invoice XYZ not found
A transaction, for example adjustment or payment, is referencing an original invoice that hasn't synced. The original may have synced as a Journal Entry or is still in an error state.
Locate the original invoice in ServiceTitan, resolve its sync status, and then reattempt the sync of the related transaction.
Manually set to 'InProgress'
A sync object has failed or errored and has been reset to inProgress in ServiceTitan. It is ready to be resynced.
Resync object and then Batch.
Missing NetSuite Payment PAYMENT TERM NAME
A payment term included on a transaction being synced from ServiceTitan includes a Payment Term that has not been set up in NetSuite.
Create a Payment term in NetSuite that matches the payment terms in ServiceTitan. Make sure the terms match exactly. Reset and resync object.
In NetSuite, go to Setup > Accounting > Accounting Lists > New.
Want to learn more?
See NetSuite FAQ