This document describes your options when configuring ServiceTrade to integrate with Intacct.
There are two primary data flows between ServiceTrade and Intacct:
- invoices (which flow from ServiceTrade to Intacct)
- customers (which flow from Intacct to ServiceTrade)
You may use one or both of these data flows. Please note that, if you send invoices from ServiceTrade to Intacct, customers which do not already exist in Intacct will be created. Items which do not already exist in Intacct will also be created, unless your integration is configured to use a default 'other' item.
When data is synced:
- ServiceTrade only "talks" to Intacct at the moment that you submit an invoice from ST to Intacct.
- Intacct only talks to Servicetrade when a new customer is created in Intacct.
Transaction Record Type
Choose the type of record you want to create in Intacct when syncing invoices from ServiceTrade. Options are AR Invoice or Sales Order.
If you select the Sales Order option, your transaction will be sent to a Sage Intacct Order Entry Template named 'Sales Order'. This transaction definition must be defined in Sage Intacct Order Entry.
Order Entry Definition
Choose the sales order transaction definition from your Intacct account that you want to use when new sales orders are created. The default option is Intacct's built-in 'Sales Order' transaction definition.
This setting is not available if you choose to create AR Invoices.
Default GL Account
If you chose to create AR Invoices in the 'Transaction Record Type' setting, the GL account that you select here will be applied to each line item of AR invoices that are created in Intacct. If you have AR account labels enabled in Intacct, the GL account you select must be associated with an AR account label.
This setting is not available if you chose to create Sales Orders.
Transaction Record Number
When an invoice is synced to Intacct, the resulting Intacct invoice (or sales order) number can be the ServiceTrade invoice number, the ServiceTrade job number, or automatically set by Intacct.
If you choose to have the transaction number set by Intacct, you will need to configure Intacct to auto-number transactions, and you will need to assign an auto-numbering sequence for the type of transaction record that is being created. More information about configuring transaction auto-numbering in Intacct is available in Intacct's in-app support documentation.
If you choose 'ServiceTrade job number' or 'automatically set by Intacct', once a ServiceTrade invoice is successfully synced to Intacct, the ServiceTrade invoice number is changed to match the number of the record that was created in Intacct. For instance, if you selected 'automatically set by Intacct', and the resulting Intacct invoice number was 'INV-12345', then the ServiceTrade invoice number will be changed to also be 'INV-12345'.
When an invoice is synced to Intacct, the resulting Intacct invoice (or sales order) transaction date can be the date the invoice was synced to Intacct, the ServiceTrade invoice transaction date, or the date of the last completed appointment on the ServiceTrade job associated with this invoice. If you choose 'last completed appointment', the scheduled date of the last (latest scheduled) successfully completed appointment is used.
Other Item Mapping
When an invoice is synced to Intacct, the integration attempts to match up each ServiceTrade invoice item with a corresponding item in Intacct, based on matching ServiceTrade item codes with Intacct item IDs (for instance, a ServiceTrade item whose item code was 'WIDGET-123' would be matched up to an Intacct item whose ID was 'WIDGET-123').
If no matching Intacct item can be found for a ServiceTrade invoice item, the integration will create a new item in Intacct if you do not provide an other item mapping, or use the item you provide if you provide the Intacct item ID of the item you wish to use.
If you do not provide an other item mapping (which will cause new items to be created), all newly created items will be Non-inventory items. If you provide an Intacct item ID that does not exist in Intacct, the invoice will fail. (You may intentionally cause this to happen if, for instance, you never want items that don't already exist in Intacct to be used on your invoices. In this case, you should provide an item ID such as 'BOGUS' or 'FAKEITEM' that does not exist in Intacct.)
If you choose Customer : Location, when an invoice is synced to Intacct, a parent customer record will be created in Intacct that corresponds to the ServiceTrade invoice's job's customer company (if it doesn't already exist). Then, a subcustomer record 'underneath' that parent customer record in Intacct will be created that corresponds to the ServiceTrade invoice's job's service location (if it doesn't already exist). The invoice that is created will be associated with the location-level subcustomer in Intacct.
If you choose Customer only, when an invoice is synced to Intacct, a customer record will be created in Intacct that corresponds to the ServiceTrade invoice's job's customer company (if it doesn't already exist). A customer record in Intacct will NOT be created for the ServiceTrade invoice's job's service location; however, a "ship to" contact in Intacct will be created that corresponds to the ServiceTrade service location (if that contact doesn't already exist), and that ship to contact will be associated with the invoice that is created in Intacct.
IMPORTANT: You cannot use the 'Sync New Customers' option (see Sync from Intacct below) if you choose Customer only. You must choose Customer : Location mapping to make use of customer syncing from Intacct to ServiceTrade.
Sync from Intacct
If you choose Sync New Customers, whenever a new customer is added to Intacct, a corresponding customer location record will be created in ServiceTrade. If the customer in Intacct has a parent customer record, a ServiceTrade customer company that matches the Intacct parent customer will be created (if it doesn't exist already), and then new the ServiceTrade customer location will be created 'underneath' that customer company. If the customer in Intacct does not have a parent customer record, then both a customer company and a customer location record will be created in ServiceTrade.
If you choose No Updates, newly created customers in Intacct will not be synced to ServiceTrade.
Regardless of which option you choose, updates to existing customer records in Intacct are not synced to ServiceTrade.
IMPORTANT: ServiceTrade requires that each customer location and company record have a name, address, city, and state. If you want new customers to be synced from Intacct to ServiceTrade, we strongly recommend that you make the customer address, city, and state fields required in Intacct. If a newly added customer in Intacct cannot be synced successfully to ServiceTrade because of missing information (such as address or city), no further customer records will be synced until all the missing information is added to the failing Intacct customer record.
IMPORTANT: If you have multiple connections to the same Intacct account in ServiceTrade, and you wish to use the Sync New Customers option, you should enable that option on only one of your Intacct connections, or duplicate customer records will be created in ServiceTrade.
Default Item GL Group
If you did not choose an 'Other Item Mapping', when new items are created in Intacct, this GL Group will be applied to them. This setting has no effect if you provided an other item ID.
Default AR Terms
When an invoice is synced to Intacct, the payment terms on the resulting invoice (or sales order) will be driven by this setting. Choose Intacct customer default AR terms to use the default AR terms set for the invoice's customer in Intacct, or choose any one of the AR terms options you have configured in your Intacct account (for instance, choosing 'Net 30' would cause all invoices synced from ServiceTrade to Intacct to have payment terms of Net 30).
If you choose 'Intacct customer default AR terms' and the Intacct customer for a given invoice does not have any default AR terms set, the invoice will fail.
The Intacct Warehouse on each transaction line item will be set to match the corresponding ServiceTrade job item's warehouse source, if there is one. Otherwise, we will use this default warehouse setting when creating new Intacct inventory items, and when using inventory items on transactions in Intacct. If you select 'None', then each ServiceTrade job item that maps to an Intacct inventory item must have a warehouse source defined for that item on the job, or else invoices that include inventory items will fail to sync to Intacct.
Intacct Target Entity
If your Intacct account is multi-entity, choose which entity you want to use when sending invoices to Intacct using this integration. If your Intacct account is not multi-entity, choose Top-Level Entity. For more information about using multi-entity Intacct accounts, see 'Advanced Topics' below.
If you choose ServiceTrade service line, each invoice (or sales order) item in Intacct will be mapped to a department that matches the service line of the corresponding invoice item in ServiceTrade.
Service lines abbreviations are matched to department IDs (for instance, a ServiceTrade invoice item whose service line abbreviation of 'AL' would result in an Intacct invoice item whose department ID is 'AL'). If the service line abbreviation of a given invoice item does not match any Intacct department ID, the invoice will fail.
If you choose ServiceTrade job type, each invoice (or sales order) item in Intacct will be mapped to the class whose ID matches the job type of the invoice's job in ServiceTrade.
If you choose ServiceTrade item type, each invoice (or sales order) item in Intacct will be mapped to the class whose ID matches the invoice item type in ServiceTrade.
ServiceTrade job types are matched to class IDs by the ServiceTrade API's code name for that job type. Typically this is the job type, all in lower case, with spaces converted to underscores; for instance, the 'Emergency Service Call' job type's API code name is 'emergency_service_call', so your Intacct class for that job type should have an ID of 'emergency_service_call'. For a full list of ServiceTrade job type codes, see the ServiceTrade job API documentation.
ServiceTrade item types are matched to class IDs by the ServiceTrade API's code name for that item type. Typically this is the item type, all in lower case; for instance, the 'Service' item type's API code name is 'service', so your Intacct class for that item type should have an ID of 'service'. For a full list of ServiceTrade item type codes, see the ServiceTrade libitem API documentation. One-off items which do not appear in your ServiceTrade standard item list will always be assigned an item type code of 'other'.
For either class mapping option, if the class for any invoice item does not exist in Intacct, the invoice will fail.
If you choose ServiceTrade job owner, each item on the Intacct invoice (or sales order) will be assigned to the Intacct employee which corresponds to the owner of the ServiceTrade job. If you choose Technician on last ServiceTrade appointment, each item on the Intacct invoice (or sales order) will be assigned to the Intacct employee which corresponds to the technician on the last (latest scheduled) appointment on the job in ServiceTrade.
IMPORTANT: if 'Technician on last ServiceTrade appointment' is selected, but the ServiceTrade appointment has multiple technicians assigned to it, any technician has an associated Intacct employee record may be used (though the same employee will be used for all the items on a given invoice). We do not recommend using 'Technician on last ServiceTrade appointment' if you commonly assign multiple technicians that are associated with Intacct employee records to the same appointment.
For more information about mapping ServiceTrade users to Intacct employees, see 'Advanced Topics' below.
If you enable the project dimension, each item on the Intacct invoice (or sales order) will be assigned to a project which corresponds to the job in ServiceTrade. If a project for the ServiceTrade job does not already exist in Intacct, it will be created; if it does already exist, it will be used.
If you wish to accumulate costs against a particular ServiceTrade job/Intacct project prior to invoicing, you can simply sync that job to Intacct as soon as you need it. To sync a job to Intacct, go to the job page and click Send, then select your Intacct connection from the list that appears.
If you select Automatically sync new jobs, jobs will be synced to Intacct immediately when they are created. This will occur even if the user who creates the job does not have permission to manually sync the job to Intacct.
Syncing a job to Intacct creates a project if it does not already exist, but it does NOT make any changes to an existing project (if there is one). Changes to existing jobs/projects must be made independently in ServiceTrade and Intacct.
If you choose to enable the project dimension, the following additional settings are available:
- Default Project Category - Choose the Intacct project category that should be applied to your projects.
- Default Project Class Dimension - If you choose ServiceTrade job type, the project in Intacct will be mapped to the class whose ID matches the job type of the invoice's job in ServiceTrade.
- Default Project Manager - If you choose ServiceTrade job owner, the Intacct employee which corresponds to the owner of the ServiceTrade job will be assigned as the Project Manager on the Intacct project.
If you choose a location dimension setting, each item on the Intacct invoice (or sales order) will be assigned to the location that you choose. If you chose a specific entity in the 'Intacct Target Entity' setting, the location dimension that you select here should be the same as the target entity that you selected.
If you choose ServiceTrade job owner's office, each item on the Intacct invoice (or sales order) will be assigned to the Intacct location which corresponds to the office of the owner of the ServiceTrade job. If you choose Technician on last ServiceTrade appointment's office, each item on the Intacct invoice (or sales order) will be assigned to the Intacct location which corresponds to office of the technician on the last (latest scheduled) appointment on the job in ServiceTrade. If you choose ServiceTrade job location's office, each item on the Intacct invoice (or sales order) will be assigned to the Intacct location which corresponds to the office assigned to the job's location.
To use any of these three mapping options, you must assign the external ID on each office in ServiceTrade to match its corresponding location in Intacct. If multiple offices in ServiceTrade could apply (for instance, if you choose "ServiceTrade job location's office" and the location in ServiceTrade is assigned to multiple offices), then one office will be arbitrarily selected.
For more information about using multi-entity Intacct accounts, see 'Advanced Topics' below.
You can choose whether sales tax should be charged on your invoice's line items based on Intacct's tax rules, or on whether the item was flagged as taxable in ServiceTrade.
If you choose to use ServiceTrade's invoice to determine whether items should be taxed in ServiceTrade, please note that the following rules will apply:
- If customer is taxable in Intacct: each item on the Intacct invoice will be taxed if it has sales tax applied on the ServiceTrade invoice, regardless of whether that item is taxable in Intacct.
- If the customer is not taxable in Intacct: no items will be taxed on the Intacct invoice, regardless of whether sales tax was applied to the ServiceTrade invoice.
Also, if you choose to use ServiceTrade's invoice to determine whether items should be taxed and your transaction record type is 'Sales Order' (see Transaction Record Type above), you must enable line item tax in your sales order transaction definition:
1) In Sage Intacct: go to Order Entry -> Open Setup -> Order Entry Transaction Definitions.
2) Edit the sales order transaction definition that you have selected (see Order Entry Definition above)
3) Check 'line item tax'
4) Click Save
If you want to send invoices to several different entities in a multi-entity account, you should create multiple Intacct integration connections in ServiceTrade (one for each entity). You can then choose which entity to use on an invoice-by-invoice basis.
User accounts between Intacct and ServiceTrade must be connected manually (this is relevant only if you want to use the 'Employee Dimension' mapping). To connect a ServiceTrade user to their corresponding Intacct employee:
1) In ServiceTrade, go to My Account -> Users.
2) Click the name of the user
3) Click the blue link icon next to the user's name. In the External Systems popup that appears, enter the Intacct Employee ID in the box next to your Intacct connection's name.
If you have multiple Intacct connections (for instance, if you have a multi-entity Intacct account), you should add the Intacct Employee ID to each connection.
Do you send PO numbers from ServiceTrade to Intacct?
- For sales orders, we send the ServiceTrade invoice's customer PO number to Intacct -- it goes into the 'Reference Number' field on the sales order.