--- title: "Manage project financials using budget codes" slug: "manage-project-financials-using-budget-codes" tags: ["Area - Accounting", "Focus - Construction", "Role - Accountant", "Role - Admin", "Role - Owner Admin", "Type - Commercial", "Type - Residential"] updated: 2026-10-26T14:34:12Z published: 2026-10-26T14:34:12Z canonical: "help.servicetitan.com/manage-project-financials-using-budget-codes" --- > ## Documentation Index > Fetch the complete documentation index at: https://help.servicetitan.com/llms.txt > Use this file to discover all available pages before exploring further. # Manage project financials using budget codes ## Overview You can manage your project financials using budget codes to give you a more structured, detailed view of where money is going on a project. By organizing costs and revenues by phase, cost code, and cost type, budget codes help you track actuals more accurately, compare them against your budget, and make better financial decisions to protect project profitability. [Manage project financials using budget codes video](https://fast.wistia.net/embed/iframe/de160b8vtl?web_component=true&seo=true&videoFoam=false) ## Who use --- ### #### Who uses this feature - Administrators, office employees, managers, accountants, and bookkeepers - Primarily for Residential Construction and Commercial Construction business types - Applies to all trades #### Feature configuration - Account configuration is required to use this feature. Please contact [Technical Support](http://go.servicetitan.com/ask) for details. ## Things to know - You must have your budget code segments set up in **Settings > Operations > Cost Codes** before you can perform the tasks described here. For more, see [Budget Codes overview.](/v1/docs/budget-codes-overview) - We recommend you have your cost code and cost type assigned to your pricebook items to accurately track your expenses. For more, see [Assign cost codes and cost types to your pricebook items](/v1/docs/budget-codes-overview#assign-cost-codes-and-cost-types-to-your-pricebook-items). - If an item or cost doesn’t have a budget code, it appears as *Uncategorized* in the Budget vs Actual table. ## Assign cost types to GL accounts You can assign a cost type to a GL account to speed up pricebook setup. When you select that GL account on a pricebook item that doesn’t have a budget code yet, ServiceTitan fills in the item’s budget code with the GL account’s cost type. You can change or clear it. The GL account’s cost type isn’t applied to transactions directly. To assign a cost type to a GL account: 1. On the top toolbar, click **Settings** ![](https://cdn.document360.io/961862ab-d0f2-4d91-bb62-a62ee8184eff/Images/Documentation/icon-gnav-settings-inactive.png?sv=2026-02-06&spr=https&st=2026-11-01T23%3A03%3A36Z&se=2026-11-02T00%3A03%3A36Z&sr=c&sp=r&sig=2LbQlgc781%2F78ZfLU5XZjT%2FztQ2TqR54FGMD3LG0MEM%3D) . 2. In the side panel, click **Accounting > General Ledger Accounts**. 3. In the *General Ledger Accounts* settings screen, find the GL account you want to assign a cost type to. 4. Click the **Action** ![](https://cdn.document360.io/961862ab-d0f2-4d91-bb62-a62ee8184eff/Images/Documentation/icon-more-vert.png?sv=2026-02-06&spr=https&st=2026-11-01T23%3A03%3A36Z&se=2026-11-02T00%3A03%3A36Z&sr=c&sp=r&sig=2LbQlgc781%2F78ZfLU5XZjT%2FztQ2TqR54FGMD3LG0MEM%3D) **> Edit**. 5. On the *Edit GL Account* screen, select a **Cost Type** from the dropdown. 6. When finished, click **Save**. ![Editing GL account details including account number, type, and description fields.](https://cdn.document360.io/961862ab-d0f2-4d91-bb62-a62ee8184eff/Images/Documentation/manage-project-financials-using-budget-codes-image-mv0li1ya.png?sv=2026-02-06&spr=https&st=2026-11-01T23%3A03%3A36Z&se=2026-11-02T00%3A03%3A36Z&sr=c&sp=r&sig=2LbQlgc781%2F78ZfLU5XZjT%2FztQ2TqR54FGMD3LG0MEM%3D) ## Assign budget code to Application for Payment You can assign budget codes to an Application for Payment (AFP) to associate billed amounts to specific parts of the project budget so you can track progress billing and forecast remaining revenue accurately. When you assign a budget code while completing an Application for Payment: - The budget code for AFP invoice items is pulled from the estimate line item budget code. If an estimate item doesn’t have a budget code, its AFP invoice item doesn’t have one either. - The budget code for retainage is based on the budget code configured in the *Application for Payment* settings screen. See the section below for more information. - A project invoice not associated with an AFP does not automatically receive a budget code, unless it’s created from a job that has a budget code. In that case, the invoice uses the job’s budget code. You can manually assign budget code on the invoice record but it will not override the item level budget code. ## Configure cost code and cost type for retainage Before you can assign a budget code to an Application for Payment, you must configure a cost code and cost type to categorize retainage withholding accurately. To do this, go to **Settings > Accounting > Application for Payment,** then in the *Retainage Project Label and Budget Code* section, select the cost code and cost type in the **Budget Code** field. When you’re finished, click **Save**. The **Budget Code** field is required. If it’s empty, an *Incomplete Setup* message appears when you open an Application for Payment, and you can’t continue until you finish setup. ![Application for payment setup with project label and budget code fields highlighted.](https://cdn.document360.io/961862ab-d0f2-4d91-bb62-a62ee8184eff/Images/Documentation/manage-project-financials-using-budget-codes-image-rz1duvhx.png?sv=2026-02-06&spr=https&st=2026-11-01T23%3A03%3A36Z&se=2026-11-02T00%3A03%3A36Z&sr=c&sp=r&sig=2LbQlgc781%2F78ZfLU5XZjT%2FztQ2TqR54FGMD3LG0MEM%3D) ## Assign budget code to Application for Payment To assign a budget code to an Application for Payment: 1. Go to the project you want to complete an Application for Payment for. 2. Click **Actions > Add Application for Payment**. 3. At the pop up, make sure **Use budget code** is selected. It’s selected by default. 4. Select the budget code segments you want to use in the **Segments** field. > [!NOTE] > **Note:** You must include at least one segment in this field to continue. 5. Click **Continue** to complete the Application for Payment. The budget codes are now included in the Schedule of Value line items in the Continuation Sheet. ![Select budget code segment for generating work description in payment application.](https://cdn.document360.io/961862ab-d0f2-4d91-bb62-a62ee8184eff/Images/Documentation/manage-project-financials-using-budget-codes-image-1ysu4r0o.png?sv=2026-02-06&spr=https&st=2026-11-01T23%3A03%3A36Z&se=2026-11-02T00%3A03%3A36Z&sr=c&sp=r&sig=2LbQlgc781%2F78ZfLU5XZjT%2FztQ2TqR54FGMD3LG0MEM%3D) ## Edit the budget code to an invoice and invoice line items You can set a budget code at the invoice level. It works as the invoice’s default: when an item’s pricebook item has no budget code, the item uses the invoice’s budget code, and when the pricebook item’s budget code leaves a segment empty, the invoice’s budget code fills it in. Setting it doesn’t change items already on the invoice. > [!NOTE] > **Note:** The **Budget Code** field only appears on invoices associated with projects. ## Assign a budget code to an invoice 1. Search for and go to the invoice record. 2. On the invoice record, click **Update invoice details**. 3. On the *Update Invoice Details* screen, enter the budget code segments, such as Cost Code and Cost Type, in the **Budget Code** field. 4. When you’re finished, click **Save**. ![Invoice details including budget code and other relevant information for HVAC installation.](https://cdn.document360.io/961862ab-d0f2-4d91-bb62-a62ee8184eff/Images/Documentation/manage-project-financials-using-budget-codes-image-k87wt1rg.png?sv=2026-02-06&spr=https&st=2026-11-01T23%3A03%3A36Z&se=2026-11-02T00%3A03%3A36Z&sr=c&sp=r&sig=2LbQlgc781%2F78ZfLU5XZjT%2FztQ2TqR54FGMD3LG0MEM%3D) ## Assign a budget code to an invoice line item 1. Search for and go to the invoice record. 2. On the invoice record, find the invoice line item you want and click **Edit** (pencil icon) at the end of the row. 3. On the edit screen, enter the budget code segments in the **Budget Code** field. 4. When you’re finished, click **Save**. ![Form fields for budget code, project label, and general ledger account details.](https://cdn.document360.io/961862ab-d0f2-4d91-bb62-a62ee8184eff/Images/Documentation/manage-project-financials-using-budget-codes-image-pb804i5k.png?sv=2026-02-06&spr=https&st=2026-11-01T23%3A03%3A36Z&se=2026-11-02T00%3A03%3A36Z&sr=c&sp=r&sig=2LbQlgc781%2F78ZfLU5XZjT%2FztQ2TqR54FGMD3LG0MEM%3D) ## How budget codes apply to requisitions The budget code on the header of a PO, receipt, bill, or credit is used only for charges that aren’t tied to an item, such as tax and shipping (and restocking fees on returns). On POs and receipts, this field is labeled **Budget Code (for tax and shipping)**. Assigning it keeps those charges tracked in the project budget. Individual items, such as materials and equipment, use their own budget codes, usually set in the Pricebook, and aren’t affected by the general code applied during the requisition process. The header budget code carries over from a PO to its receipts, and from a receipt to its bill when the bill is created from a single receipt. A return’s budget codes carry over to its vendor credit the same way. Requisitions don’t have a header budget code, so only their line-item budget codes carry over to the PO. If you change a budget code on an earlier document, documents already created from it don’t change. If you create a PO or return for a project without a header budget code, ServiceTitan assigns the Miscellaneous Charges & Fees (MCF) budget code. For example, if you create a receipt from a purchase order, the budget code from the PO will carry over to the receipt, but if you change the budget code on the PO afterward, it won’t update the receipt. You can assign budget codes to non-PO vendor bills and credits to associate costs not tied to a requisition to the project budget. This helps you track actual spend accurately and maintain visibility into committed costs. For more on assigning budget codes through the purchasing or inventory process, see [Track budget costs in inventory transactions](/v1/docs/track-budget-costs-in-inventory-transactions). ## Assign budget code to non-PO vendor bills and credits 1. On the navigation bar, click **Accounting**. 2. In the side menu, click **Bills** or **Credits**. 3. If you’re editing a bill or credit: 1. Find the bill or credit you want to edit and click the *Bill No.* or *Credit Number*. 2. In the bill or credit record, click **Actions > Edit**. 4. If you’re creating a new bill or credit, click **Create Bill** or **Create Credit**. 5. In the create or edit screen, select the cost code and cost type in the **Budget Code** field. > [!NOTE] > **Note:** The **Budget Code** field only appears if there is a project associated with the bill or credit. If your account requires budget codes on project transactions, the **Budget Code** field is required on bills. 6. When you’re finished, click **Save**. ![Create bill form showing vendor information and highlighted budget code details.](https://cdn.document360.io/961862ab-d0f2-4d91-bb62-a62ee8184eff/Images/Documentation/manage-project-financials-using-budget-codes-image-4zkjxx7p.png?sv=2026-02-06&spr=https&st=2026-11-01T23%3A03%3A36Z&se=2026-11-02T00%3A03%3A36Z&sr=c&sp=r&sig=2LbQlgc781%2F78ZfLU5XZjT%2FztQ2TqR54FGMD3LG0MEM%3D) ## Track Budget vs Actual with budget codes You can use budget codes to track budgeted versus actual costs and revenue by segment, giving you a detailed view of project performance directly in the Budget vs Actual table. For a high-level summary of your project’s overall financial performance, use the project financials dashboard. For more, see [Understand project financials](/v1/docs/understand-project-financials). ## View Budget vs Actual by segment 1. Go to the project you want to view. 2. In the side panel, click **Financials**. 3. In the *Budget vs Actual* section, click **Segments**. ![](https://cdn.document360.io/961862ab-d0f2-4d91-bb62-a62ee8184eff/Images/Documentation/manage-project-financials-using-budget-codes-image-3jn8fkx5.png?sv=2026-02-06&spr=https&st=2026-11-01T23%3A03%3A36Z&se=2026-11-02T00%3A03%3A36Z&sr=c&sp=r&sig=2LbQlgc781%2F78ZfLU5XZjT%2FztQ2TqR54FGMD3LG0MEM%3D) ## View Budget vs Actual by cost code or cost type In the **Segments** view, use the **View By** option to show all segments or one segment at a time, such as Cost Code or Cost Type. ![Budget vs Actual report showing billed amounts and cost type selection options.](https://cdn.document360.io/961862ab-d0f2-4d91-bb62-a62ee8184eff/Images/Documentation/manage-project-financials-using-budget-codes-image-9mm300qm.png?sv=2026-02-06&spr=https&st=2026-11-01T23%3A03%3A36Z&se=2026-11-02T00%3A03%3A36Z&sr=c&sp=r&sig=2LbQlgc781%2F78ZfLU5XZjT%2FztQ2TqR54FGMD3LG0MEM%3D) ## Want to learn more? - See [Budget Codes overview](/v1/docs/budget-codes-overview) - See [Work in Progress (WIP) Active Projects Report](/v1/docs/work-in-progress-wip-active-projects-report) - See [Track budget costs in inventory transactions](/v1/docs/track-budget-costs-in-inventory-transactions) - See [Understand Budget vs Actual](/v1/docs/understand-budget-vs-actual) - See [Complete Application for Payment and Continuation Sheet](/v1/docs/complete-application-for-payment-and-continuation-sheet)