--- title: "Add discounts to estimates in a Contract" slug: "add-discounts-to-estimates-in-a-contract" tags: ["Area - Estimates and Sales", "Role - Admin", "Role - CSR Dispatch", "Role - Technician", "Focus - Service Replacement", "Type - Residential", "Trade - Roofing and Exteriors"] updated: 2026-10-16T02:44:45Z published: 2026-10-16T02:44:45Z canonical: "help.servicetitan.com/add-discounts-to-estimates-in-a-contract" --- > ## 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. # Add discounts to estimates in a Contract ## **Overview** You can apply a discount to all or selected estimates in a contract at once, instead of adding the discount to each Estimate individually. When you apply a discount in Contract Builder, it is written as a Discounts & Fees line item on each selected estimate. The estimate remains the financial record of truth. Enforcement is evaluated per estimate. If any individual estimate falls below the configured margin threshold, the system warns or blocks that estimate regardless of the contract's overall margin. --- ### #### Who uses this feature - Administrators, office employees, and technicians - Applies to Residential Service and Replacement - Applies to Roofing trade #### Feature configuration - This feature is currently in Early Access and available for specific accounts. It is subject to change. If you want to enable this feature for your account, join the waitlist [here](https://docs.google.com/forms/d/e/1FAIpQLScGbQLsGL19mXsF2L7R9XaWjcVAI7_0gGcrY7XSZ-NtR7UG6w/viewform). - The *View/Edit Contracts* and *Edit discounts and fees* permissions are required to use this feature. Please contact the account administrator on your team. - [Spec-based estimate templates](/v1/docs/set-up-spec-based-estimate-templates) are required to use this feature. #### ## **Things to know** - Discounts applied in Contract Builder are hidden from the homeowner by default on the contract PDF and in the Customer Portal. Visibility is controlled through your document template configuration and per-line-item hide controls when adding the discount - If you add a new estimate to a contract after applying a discount, the discount is not automatically applied to the new estimate. Open the **Add Discount** drawer again to discount the new estimate. - If you remove an estimate from the contract, the discount line item is not removed from that estimate. - Once a discount is added to an estimate through Contract Builder, its show or hide state cannot be edited directly. To change it, remove the discount and add it again with a different show/hide selection. - When you apply a discount through Contract Builder, it adds the same Discounts & Fees line item to each estimate indicated as if you had added the discount directly from the estimate screen. Tax, Audit Trail, and reporting all treat it the same way. - When multiple discounts are applied to an estimate, flat-dollar discounts are calculated first, then percentage-based discounts. ## **Use cases** - **Apply a closing discount to a multi-option contract.** A sales rep presents a contract with five estimate options. The homeowner wants a better price. The rep applies a 5% closing discount to all five estimates at once from the *Add Discount* drawer, reviews the per-estimate margin impact, and sends the contract. - **Apply a category discount across a contract.** A company offers a military discount as a Pricebook item. Instead of opening each estimate individually, the rep selects the Military Discount in Contract Builder and applies it to all estimates in one step. - **Enter a custom negotiated discount.** A homeowner negotiates a flat $500 discount. The administrator has enabled custom amounts with a $750 limit on that discount item. The rep selects the discount, enters $500 in the dollar input field, and applies it within the configured limit. - **Discount specific estimates only.** A contract includes a primary roof replacement estimate and an optional gutter estimate. The rep applies a discount only to the roof replacement, leaving the gutter estimate at full price. ## **Before you start** Before a discount can be applied in Contract Builder, you must set up the discount item in Pricebook. You can also configure optional settings that control how the discount behaves. 1. Go to the navigation bar and click **Pricebook**. 2. In the side menu, click **Discounts & Fees**. 3. Select an existing discount item, or click **Add Discount or Fee** to create one. 4. To allow office employees and technicians to enter a custom discount amount instead of using the fixed pricebook value, select the **Allow custom amount** checkbox. ![Editing discount settings with an option to allow custom amounts for flexibility.](https://cdn.document360.io/961862ab-d0f2-4d91-bb62-a62ee8184eff/Images/Documentation/add-discounts-to-estimates-in-a-contract-image-y69jnn8s.png?sv=2026-02-06&spr=https&st=2026-11-12T06%3A32%3A51Z&se=2026-11-12T07%3A32%3A51Z&sr=c&sp=r&sig=ky%2FeJDMcC5sPdd1u0HZCk9ZbH8YRobwN8OuOQgiej8g%3D) 5. If you enabled custom amounts, enter a value in the **Discount Limit** field to set the maximum amount they can enter. An inline error displays if they exceed this limit. ![Editing discount settings with a specified discount limit of 100.00.](https://cdn.document360.io/961862ab-d0f2-4d91-bb62-a62ee8184eff/Images/Documentation/add-discounts-to-estimates-in-a-contract-image-jrqzp0u1.png?sv=2026-02-06&spr=https&st=2026-11-12T06%3A32%3A51Z&se=2026-11-12T07%3A32%3A51Z&sr=c&sp=r&sig=ky%2FeJDMcC5sPdd1u0HZCk9ZbH8YRobwN8OuOQgiej8g%3D) 6. When finished, click **Save**. To learn more about setting up discount and fee items, see [Add discounts and fees](/v1/docs/add-discounts-and-fees). ## **Apply discounts in Contract Builder** 1. Open Contract Builder from a Job, opportunity, customer location, or the **Follow Up** tab. 2. In **Step 1: Contract Information**, click **Add Discount** in the *Select Estimates* section. ![Contract builder interface showing selected estimates and options to add discounts.](https://cdn.document360.io/961862ab-d0f2-4d91-bb62-a62ee8184eff/Images/Documentation/add-discounts-to-estimates-in-a-contract-image-dm0vftd8.png?sv=2026-02-06&spr=https&st=2026-11-12T06%3A32%3A51Z&se=2026-11-12T07%3A32%3A51Z&sr=c&sp=r&sig=ky%2FeJDMcC5sPdd1u0HZCk9ZbH8YRobwN8OuOQgiej8g%3D) 3. In the **Add Discount** drawer, use the **Search discounts** bar or scroll to find the discount you want. Select one or more discounts by checking the box next to each one. ![User selects a 5% military discount option in the discount menu.](https://cdn.document360.io/961862ab-d0f2-4d91-bb62-a62ee8184eff/Images/Documentation/add-discounts-to-estimates-in-a-contract-image-dnrlr02p.png?sv=2026-02-06&spr=https&st=2026-11-12T06%3A32%3A51Z&se=2026-11-12T07%3A32%3A51Z&sr=c&sp=r&sig=ky%2FeJDMcC5sPdd1u0HZCk9ZbH8YRobwN8OuOQgiej8g%3D) 4. If a discount item has the **Custom** badge, an input field appears when you select it. The field shows a **$** prefix for flat dollar discounts or a **%** prefix for percentage discounts. You can enter a custom value or leave it to use the default discount amount from Pricebook. The maximum allowed value is shown below the field as *Applied up to $[amount]*. 5. Click **Next**. 6. On the *Select Estimates* screen, select which estimates to discount. - To apply the discount to every estimate in the contract, select the **Apply to all** option. - To apply to specific estimates, select each one individually. 7. Review the per-estimate impact. For each selected estimate, the drawer shows: - The estimate name and total - The discount line item name and discount amount - A **Show/Hide Discount(s) on Estimate** toggle (eye icon) to show or hide the discount from the homeowner. Discounts are hidden by default. - A warning if the estimate's margin falls below the minimum requirement configured in your Estimate Revenue Protection settings 8. Click **Apply**. ![Discount application screen showing service proposal and margin warning message.](https://cdn.document360.io/961862ab-d0f2-4d91-bb62-a62ee8184eff/Images/Documentation/add-discounts-to-estimates-in-a-contract-image-6uykzvnp.png?sv=2026-02-06&spr=https&st=2026-11-12T06%3A32%3A51Z&se=2026-11-12T07%3A32%3A51Z&sr=c&sp=r&sig=ky%2FeJDMcC5sPdd1u0HZCk9ZbH8YRobwN8OuOQgiej8g%3D) A green pill appears on each estimate card confirming the discount was applied. Each discount is recorded as a Discounts & Fees line item on the estimate. ## **Review discounts in Step 2** After applying discounts in Step 1, continue to **Step 2: Contract Recipients**. The **Attached Estimates** section shows each estimate with its final price after the discount is applied. The contract PDF and Customer Portal reflect the resulting totals. Discount line items are hidden from the homeowner by default. ![Contract Builder interface showing an open status and a price of $435.01.](https://cdn.document360.io/961862ab-d0f2-4d91-bb62-a62ee8184eff/Images/Documentation/add-discounts-to-estimates-in-a-contract-image-fierjwm6.png?sv=2026-02-06&spr=https&st=2026-11-12T06%3A32%3A51Z&se=2026-11-12T07%3A32%3A51Z&sr=c&sp=r&sig=ky%2FeJDMcC5sPdd1u0HZCk9ZbH8YRobwN8OuOQgiej8g%3D) ## **FAQ** #### **Can I still add discounts directly to individual estimates?** Yes. You can continue to add discounts to individual estimates from the estimate screen, the same way you do today. The Contract Builder discount feature applies a discount across multiple estimates in a contract at once. Both methods write the same Discounts & Fees line item to the estimate. #### **What happens if I add a new estimate to a contract that already has discounts?** The discount is not automatically applied to the newly added estimate. To discount the new estimate, click **Add Discount** in the Step 1 summary bar and apply the discount to that estimate. #### **What happens if I remove an estimate from a contract that has discounts?** The discount line item stays on the estimate. It is not automatically removed. #### **Can I change whether a discount is shown or hidden after I apply it?** The show or hide state is set when the discount is added and cannot be edited directly. To change it, remove the discount and add it again. #### **Why is a discount blocked on one estimate but not others?** Enforcement is evaluated per estimate, not averaged across the contract. If one estimate's margin falls below the configured threshold after the discount, that estimate is flagged even if the contract's overall margin is above the threshold. Review your **Estimate Revenue Protection** settings to adjust thresholds. ## **Want to learn more?** - See [Add discounts and fees](/v1/docs/add-discounts-and-fees) - See [Set up and use Sales Margin Control](/v1/docs/set-up-and-use-sales-margin-control) - See [Set up Contract Builder](/v1/docs/set-up-contract-builder) A formal price quote presented to a customer before work begins, created from Pricebook items in ServiceTitan. **What it does:** Gives customers a transparent breakdown of costs and enables the business to track conversion from estimate to sold job. **Also called:** Quote, Proposal **Tags:** Core [See the full glossary →](https://help.servicetitan.com/docs/glossary-overview) A self-service web portal where customers can view job history, request service, make payments, and communicate with the business. **What it does:** Reduces inbound call volume and improves customer satisfaction by giving homeowners 24/7 access to their service records. **Also called:** Customer self-service, Online portal **Tags:** Core [See the full glossary →](https://help.servicetitan.com/docs/glossary-overview) A downloadable log of who changed what record and when. **What it does:** Provides change history for accountability, error investigation, and compliance across teams. **Also called:** Change history **Tags:** Core [See the full glossary →](https://help.servicetitan.com/docs/glossary-overview) ServiceTitan's product and service catalog where all items, tasks, materials, and pricing are defined and maintained. **What it does:** Ensures pricing consistency across all technicians and CSRs and enables fast, accurate estimate and invoice generation. **Also called:** Price list, Service catalog **Tags:** Core [See the full glossary →](https://help.servicetitan.com/docs/glossary-overview) The core work record in ServiceTitan representing a service request, containing appointments, invoices, estimates, and notes. **What it does:** Acts as the operational and financial center of gravity for all work performed — everything is tied to a Job. **Also called:** Work order, Service ticket **Tags:** Core [Learn more →](https://help.servicetitan.com/docs/servicetitan-glossary) · [See the full glossary →](https://help.servicetitan.com/docs/glossary-overview)