Overview
Budget Codes allow you to standardize and configure detailed project segments, like cost codes and cost types, to gain better control and visibility into your project financials. These segments ensure you can break down complex projects with comprehensive views into every cost category across every phase.
Who uses this feature
Administrators, office employees, managers, accountants, bookkeepers, dispatchers, and customer service representatives (CSRs)
Primarily for Residential Construction and Commercial Construction business types
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
All budget segment codes and descriptions must be unique.
Only project estimates can be imported into the project plan.
Create work breakdown structure
By default, ServiceTitan creates Cost Code, Cost Type, and Phase as the work breakdown structure. To create new segments:
Go to the top toolbar and click Settings
.In the side panel, go to Operations > Work Breakdown Structure.
Click Create Segment.

Enter a name for the segment and click Create.

Click Create "Segment Name."

Enter a Code and Description.
When finished, click Save.

Repeat steps 5-7 until your segment has every budget code it needs.
Import budget codes using Excel templates
Instead of creating each individual budget code in a work breakdown segment manually in ServiceTitan, you can download the Excel template, fill it out, and then upload it. To use Excel templates:
Go to the top toolbar and click Settings
.In the side panel, go to Operations > Work Breakdown Structure.
Create a new segment or click an existing one to edit it.
Click Download Template to download a blank Excel spreadsheet.

Open and fill out the Excel sheet on your device by entering a Code and Description for each budget code.

(Optional) If you're importing cost codes, add child codes to the sheet by naming them "Parent code-Child code." Add a description for each child code as normal.

Save any changes you make to the sheet.
When finished, go back to ServiceTitan and click Import.
Select the Excel file you just saved.

Create cost codes
By default, ServiceTitan creates Cost Code as a work breakdown segment. To create cost codes within that segment:
Go to the top toolbar and click Settings
.In the side panel, go to Operations > Work Breakdown Structure.
Click Cost Code.

To create a new parent cost code, click Create Cost Code.

Enter a Code and Description for the cost code.
When finished, click Save.

To add a child cost code, go to the Actions column and click Add
. 
Enter a Code and Description for the child cost code.
When finished, click Save.
Repeat steps 4-9 until all cost codes are created.
Create cost types
By default, ServiceTitan creates Cost Type as a work breakdown segment. To create cost types within that segment:
Go to the top toolbar and click Settings
.In the side panel, go to Operations > Work Breakdown Structure.
Click Cost Type.

To create a new cost type, click Create Cost Type.

Enter a Code and Description for the cost type.
Select one of the following Cost Categories from the dropdown:
None
Material
Labor
Equipment
Subcontract
Overhead
Other
When finished, click Save.

Repeat steps 4-7 until all cost types are created.
Enable and rearrange budget code segments
To edit the structure of your budget codes:
Go to the top toolbar and click Settings
.In the side panel, go to Operations > Work Breakdown Structure.
Click the Budget Code tab.

Tip: You can also access this screen by clicking Edit.
Click the checkbox for each segment to enable or disable them.

Note: Cost Code and Cost Type cannot be disabled.
Click, hold, and drag any enabled segment to rearrange the order of your budget codes.
Note: Any changes made here do not impact existing projects.
Assign cost codes and cost types to your pricebook items
After you have cost codes and cost types set up, you can assign them to the services, materials, and equipment in your pricebook using the Budget Code dropdown. For more information on editing items in the pricebook, see Edit pricebook items and Import and export your pricebook.

Assign cost types to GL accounts
You can assign a cost type directly on the GL account to ensure job cost is captured and categorized properly if no budget code is assigned to a pricebook item.
To assign a cost type to a GL account:
On the top toolbar, click Settings
.In the side panel, click Accounting > General Ledger Accounts.
In the General Ledger Accounts settings screen, find the GL account you want to assign a cost type to.
Click the Action
> Edit.On the Edit GL Account screen, select a Cost Type from the dropdown.
When finished, click Save.

Use budget codes in projects
Change the budget code structure for a project
The Budget Code Structure set in settings automatically applies to any new projects, but you can also edit this structure for each project individually. To edit the budget code structure for a project:
Open the project.
Click Project Budget Code Structure
. 
Click the checkbox for each segment to enable or disable them.

Note: Cost Code and Cost Type cannot be disabled.
Click, hold, and drag any enabled segment to rearrange the order of your budget codes.
When finished, click Save.
Budget codes in project jobs
Once you have your budget codes set up, you can manually assign them to any job that is attached to a project. To use budget codes in jobs:
Go to the Jobs & Appointments section of your desired project.
Open the job you want to add budget codes to.
Click Edit Job.

Select a budget code from the appropriate dropdown.

Note: The available budget segments depend on the budget code structure set for the job's project.
When finished, click Save.
Budget codes in project estimates
Once you have your budget codes set up, you can manually assign them to line items in your project estimates. To use budget codes in project estimates:
Go to the Estimate section of your desired project.
For any line item that you want to have a budget code, click any section of the Budget Code column you want to edit.
Select a budget code from the appropriate dropdown.

Repeat steps 1-3 until every line item that needs a budget code has one assigned.
Budget codes in Project Plans
As estimates are built and sold, their line items contain budget codes that can be imported into a project's plan for a detailed breakdown of the project's cost categories and phases. This can be done if you want your project plan to mirror your financials and budget code structure.
To use budget codes in project plans:
Go to the Estimate section of your desired project.
Review every sold estimate and ensure their line items have the correct budget codes assigned.
Go to the Project Plan section of the project.
Click Import from estimate.

Note: Only budget codes with a cost type that is using the Labor cost category can be imported into the project plan.
Select which budget code segments you'd like to include from the dropdown. If you'd like to change the budget code order, see Change the budget code structure for a project.

Tip: If you don't want to import the full structure, start by importing the highest level segment and then assign jobs to each code as needed.
When finished, click Add.

The Budget Code column is populated and each line item in the project is categorized by their corresponding code. For more information about project plans, see Project Plan overview.

Update and remove budget code segments from a project plan
If any of your budget codes have been edited in ServiceTitan, click Update to apply those changes to the budget codes currently assigned to a project plan.

If you need to start over or if budget codes were added to a project by mistake, click Remove Segments and click Remove to confirm your choice. Doing so removes every budget code from the project plan.

