Overview
Construction companies using the Sage Intacct Construction module can map ServiceTitan cost codes and cost types directly to native Intacct Construction dimensions. This keeps project-level cost tracking accurate between both systems without manual reconciliation.
When this feature is active, ServiceTitan maps cost codes to Intacct Construction cost codes and cost types to Intacct Construction cost types. This differs from the standard Sage Intacct path, where cost codes map to departments and cost types map to classes.
Who uses this feature
Administrators, office employees, managers, accountants, and bookkeepers
Primarily for Commercial Construction and Residential Construction 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.
Account configuration is required to use this feature. Please contact Technical Support for details.
This feature requires the Project Accounting feature to be set up and configured. For more, see Budget Codes overview.
Things to know
This feature applies only if your Sage Intacct account uses the Construction module. The standard Sage Intacct path uses a different mapping (cost codes to departments, cost types to classes).
The Project Accounting feature and the Intacct Construction integration feature must both be enabled on your account. Contact Technical Support to confirm both are active.
All cost codes and all cost types must be mapped before you can save. Partial mapping blocks the save.
In addition to mapping in ServiceTitan, you must associate cost codes and cost types with each project in Sage Intacct. Both steps are required for exports to succeed.
The system validates mappings and project associations in real time during export. No additional sync is needed after changes in Intacct.
Standard vs construction mapping
The table below compares how the two mapping paths work.
Standard Sage Intacct | Sage Intacct Construction | |
|---|---|---|
Additional account configuration required | No (beyond Project Accounting) | Yes. Contact Technical Support |
Cost code maps to | Sage Intacct department | Sage Intacct Construction cost code |
Cost type maps to | Sage Intacct class | Sage Intacct Construction cost type |
Project-level validation | Not required | Required. Dimensions must be associated with the project in Intacct |
Export blocked if dimension not mapped | Yes | Yes |
Export blocked if dimension not in project | No | Yes |
Navigate to budget code mapping
Go to the top toolbar and click Settings.
In the side panel, go to Integrations > Intacct.
Scroll to the Budget Code Mapping section.
Note: The Budget Code Mapping section only appears when the Project Accounting feature is enabled on your account. If you do not see it, contact Technical Support to have this feature enabled.
[Screenshot needed: Budget Code Mapping section in Intacct settings]
Map cost codes to Intacct Construction cost codes
Click Manage Mapping next to Cost Codes Mapping.
In the drawer that opens, match each ServiceTitan cost code to its corresponding Sage Intacct Construction cost code using the dropdown on the right.
Tip: The badge at the top of the drawer shows your mapping progress (such as "7/12 Items mapped").
When all cost codes are mapped, click Done.
Caution: Every cost code must be mapped. Partial mapping blocks the save. Use the filter to quickly identify unmapped cost codes.
[Screenshot needed: Cost code mapping drawer]
Map cost types to Intacct Construction cost types
Click Manage Mapping next to Cost Types Mapping.
In the drawer that opens, match each ServiceTitan cost type to its corresponding Sage Intacct Construction cost type using the dropdown on the right.
When all cost types are mapped, click Done.
Scroll to the bottom of the Sage Intacct settings page and click Save. The system validates that at least one business unit is selected, all cost codes are mapped, and all cost types are mapped. If validation passes, the mapping configuration is active.
Verify project associations in Sage Intacct
After mapping is complete in ServiceTitan, associate the relevant cost codes and cost types with each project in Sage Intacct. This step is completed in Sage Intacct, not in ServiceTitan.
For each project that receives transactions from ServiceTitan:
Log in to Sage Intacct and navigate to the Construction module.
Open the relevant project.
Under the Cost Codes tab, add all cost codes that appear on ServiceTitan transactions.
Under the Cost Types tab, add all cost types that appear on ServiceTitan transactions.
Save the project.
Caution: This must be completed for every project. If a cost code or cost type is mapped in ServiceTitan but not associated with the project in Intacct, the export is blocked.
Understand how transactions export
Two layers of validation occur when a transaction exports from ServiceTitan to Sage Intacct Construction.
Layer 1: Mapping validation
Every cost code on a line item must have a corresponding Intacct Construction cost code mapped.
Every cost type on a line item must have a corresponding Intacct Construction cost type mapped.
If any mapping is missing, the export fails immediately.
Layer 2: Project association validation
Applies to line items that have both a cost code and a cost type.
ServiceTitan queries Sage Intacct in real time to verify both dimensions are associated with the project.
If either check fails, the entire transaction export is blocked.
This check runs in real time. No additional sync is needed after making changes in Intacct.
Export scenarios
Scenario | Result |
|---|---|
Line item has cost code and cost type; both mapped and associated with project | Exports successfully |
Line item has cost code only (no cost type) | Exports. Project association not checked |
Line item has cost type only (no cost code) | Exports. Project association not checked |
Line item has neither cost code nor cost type | Exports without Construction dimensions |
Transaction has no budget code | Exports without cost code or cost type dimensions |
Cost code has no mapping configured | Export fails |
Cost type has no mapping configured | Export fails |
Cost code mapped but not associated with the project in Intacct | Export fails |
Cost type mapped but not associated with the project in Intacct | Export fails |
Multiple line items; one fails project association | Entire transaction blocked. Error identifies the specific line item |
Maintain your mappings
Change event | Required action |
|---|---|
New cost code added in ServiceTitan | Update cost code mapping in Budget Code Mapping and associate it with relevant Intacct projects |
New cost type added in ServiceTitan | Update cost type mapping in Budget Code Mapping and associate it with relevant Intacct projects |
New cost code or cost type added in Sage Intacct | Trigger a sync from Sage Intacct, then update mappings in ServiceTitan |
New project created in Sage Intacct | Associate all relevant cost codes and cost types with the project before exporting transactions |
Business unit added in ServiceTitan | Add it to the business unit selection in Budget Code Mapping if applicable |
Project scope changes (new cost codes or cost types needed) | Add the dimensions to the project's association list in Sage Intacct |
Troubleshoot common issues
Issue | Likely cause | Resolution |
|---|---|---|
Budget Code Mapping section not visible | The Project Accounting feature is not enabled | Contact Technical Support to have this feature enabled |
Drawer shows departments and classes instead of cost codes and cost types | The Intacct Construction integration feature is not enabled | Contact Technical Support to have this feature enabled |
Mapping drawer shows 0 items | No business units are selected, or cost codes and cost types are not configured | Select business units and verify cost codes and cost types exist in ServiceTitan settings |
Cost codes or cost types not in dropdown | Intacct dimensions have not synced | Trigger a sync from Sage Intacct, then refresh the page |
"Please map all the cost codes" error on save | One or more cost codes have no Intacct code selected | Open the mapping drawer, complete all mappings, and save |
Export fails: cost code not associated with project | Cost code not linked to the Intacct project | In Sage Intacct, open the project, go to the Cost Codes tab, and add the missing code |
Export was working but is now failing | Sage Intacct project associations were modified | Re-check project associations in Intacct and restore any removed dimensions |
Validation passes for some line items but not others | Partial project association | Add all required cost codes and cost types to the project in Intacct |
Note: If Intacct Construction cost codes or cost types are not appearing in the mapping dropdowns, trigger a sync from Sage Intacct and refresh the page before proceeding.