Running an HVAC business with Odoo

How do I create an HVAC service quotation in Odoo?

Workflow overview: How do I create an HVAC service quotation in Odoo?
Workflow overview. Instructional screenshots show the actual demo interface.

Create and preview an Odoo HVAC quotation with a fixed service call, quoted labor, payment terms and the existing customer addresses.

Alex needs a priced proposal before committing to a visit. This quotation combines a fixed service call with a two-hour labor allowance; it does not bill recorded timesheets.

Alex Rivera and Demo Air HVAC are fictional training examples. Prices, dates, quantities and business situations in this guide are illustrative.

Before you begin

Tested in stock Odoo 20.0-20260926 Community as the demo owner administrator, with official modules and standard configuration. Complete the customer/address guide, service-product guide, payment-term guide and CRM pipeline guide. Reuse Demo Property H08, its existing billing/service addresses, the two H11 services, Demo Net 30 H06 and Demo Service Enquiry H16.

Step-by-step workflow

32 highlighted video actions with a white pointer, gold border and English captions, without narration. Each written step groups its smaller video actions. Stock Odoo 20.0-20260926 Community; a fixed service call plus two quoted labor hours, the existing Net 30 term and copied customer addresses in the genuine native Preview. Training prices/tax only. No acceptance, send, invoice or stock movement.

Step 1. Start the quotation

Open the app menu, select Sales and click New on Quotations. In Customer, choose the existing Demo Property H08 result.

Video action 1: Open the app menu. The actual target is highlighted in gold.
Open the app menu.
Video action 2: Choose Sales. The actual target is highlighted in gold.
Choose Sales.
Video action 3: Start a new quotation. The actual target is highlighted in gold.
Start a new quotation.
Video action 4: Find the existing customer. The actual target is highlighted in gold.
Find the existing customer.
Video action 5: Select Demo Property H08. The actual target is highlighted in gold.
Select Demo Property H08.

Step 2. Add the service-call line

In Order Lines, click Add Line. Use the Description picker to choose Demo Service Call H11. Review quantity 1, unit Units and the illustrative unit price 100.00.

Video action 6: Add the service-call line. The actual target is highlighted in gold.
Add the service-call line.
Video action 7: Use Description to find the service call. The actual target is highlighted in gold.
Use Description to find the service call.
Video action 8: Choose the existing service-call product. The actual target is highlighted in gold.
Choose the existing service-call product.
Video action 9: Review 1 Unit at the training price 100.00. The actual target is highlighted in gold.
Review 1 Unit at the training price 100.00.

Step 3. Add the quoted labor

Click Add Line again and select Demo Technician Labor H11. Enter quantity 2 and review Hours at the illustrative 80.00 rate.

Video action 10: Add the quoted labor line. The actual target is highlighted in gold.
Add the quoted labor line.
Video action 11: Find the existing technician-labor product. The actual target is highlighted in gold.
Find the existing technician-labor product.
Video action 12: Choose the existing labor product. The actual target is highlighted in gold.
Choose the existing labor product.
Video action 13: Enter 2 quoted hours; these are not recorded timesheets. The actual target is highlighted in gold.
Enter 2 quoted hours; these are not recorded timesheets.
Video action 14: Review Hours as the unit, with the training rate 80.00. The actual target is highlighted in gold.
Review Hours as the unit, with the training rate 80.00.

Step 4. Review tax and price

The two lines total USD 260.00 before tax. This demo inherits the generated 6% training tax, producing tax 15.60 and total 275.60. Review your actual tax treatment; these defaults are not a universal HVAC policy.

Video action 15: Review 260.00 before tax, 15.60 demo tax and 275.60 total. The actual target is highlighted in gold.
Review 260.00 before tax, 15.60 demo tax and 275.60 total.

Step 5. Choose the payment term

In Payment Terms, select existing Demo Net 30 H06. Review Expiration, which defaults to November 13, 2026 in this example. Offer expiration and invoice payment timing are separate.

Video action 16: Find the existing payment term. The actual target is highlighted in gold.
Find the existing payment term.
Video action 17: Select Demo Net 30 H06. The actual target is highlighted in gold.
Select Demo Net 30 H06.
Video action 18: Review offer expiration; it is separate from payment timing. The actual target is highlighted in gold.
Review offer expiration; it is separate from payment timing.

Step 6. Write the scope

Use the standard note editor below the lines. The example states: Synthetic service assessment quotation. Fixed service call plus a two-hour quoted labor allowance. Additional work requires customer approval. Service site: Service Site H08. No appointment confirmed. Training prices and taxes only.

Video action 19: Write the scope and approval limits in the standard note editor. The actual target is highlighted in gold.
Write the scope and approval limits in the standard note editor.

Open Other Info. In the native opportunity field, choose existing Demo Service Enquiry H16. Choose the existing record rather than Create; no second enquiry is needed.

Video action 20: Open Other Info. The actual target is highlighted in gold.
Open Other Info.
Video action 21: Find the existing enquiry in Opportunity. The actual target is highlighted in gold.
Find the existing enquiry in Opportunity.
Video action 22: Select the existing enquiry; avoid Create. The actual target is highlighted in gold.
Select the existing enquiry; avoid Create.

Step 8. Save and reopen

Click Save manually. Record the generated quotation number, S00001 in this demo, and reopen it. Confirm the two products, quantities, units, prices, term, scope and Quotation state.

Video action 23: Save the quotation manually. The actual target is highlighted in gold.
Save the quotation manually.
Video action 24: Return to the Quotations list. The actual target is highlighted in gold.
Return to the Quotations list.
Video action 25: Reopen saved quotation S00001. The actual target is highlighted in gold.
Reopen saved quotation S00001.
Video action 26: Check the saved Quotation state. The actual target is highlighted in gold.
Check the saved Quotation state.
Video action 27: Check the retained payment term. The actual target is highlighted in gold.
Check the retained payment term.
Video action 28: Review the saved service quantities, units and training prices. The actual target is highlighted in gold.
Review the saved service quantities, units and training prices.

Step 9. Review the customer-facing preview

Click Preview. It opens the quotation in another browser tab. Check the lines, total, validity and the Billing and Delivery address sections. Do not accept or send the quotation as part of this lesson.

Video action 29: Open the actual customer-facing Preview. The actual target is highlighted in gold.
Open the actual customer-facing Preview.
Video action 30: Check the existing Billing address in Preview. The actual target is highlighted in gold.
Check the existing Billing address in Preview.
Video action 31: Check the existing service-site Delivery address. The actual target is highlighted in gold.
Check the existing service-site Delivery address.
Video action 32: Check the previewed total; leave acceptance for a later lesson. The actual target is highlighted in gold.
Check the previewed total; leave acceptance for a later lesson.

Check the result

Quotation 1/S00001 saved in draft with lines 1/2 for the existing services. It retained USD 260 untaxed, USD 15.60 demo tax and USD 275.60 total, term 11 and enquiry 3. The customer selection copied billing address 8 and delivery/service address 9, and both appeared in Preview. Products remain six and partners seven; no invoice/accounting move or stock picking was created.

If your screen differs

This Odoo 20 form uses Add Line and a Description picker. It did not show separate billing/delivery selectors; the existing typed customer addresses were copied and checked in the saved record and preview. The Hours unit does not alter H11's ordered-quantity invoicing policy. These lines remain fixed quoted quantities; UI margin based on default costs is not actual job profit.

Frequently asked questions

How do I create a service quotation in Odoo? Choose the customer, use Add Line and the Description picker for reviewed services, set quantities/terms/scope, save and inspect Preview.
Can Odoo quotations use different invoice and service addresses? The tested customer selection copied the existing billing and delivery records, and Preview showed both. Separate on-form address selection was not exposed in this configuration.
Does a labor line in Odoo automatically bill actual hours? The H11 labor product still uses ordered-quantity invoicing. Its Hours unit quotes an allowance; actual-time billing requires the separately verified service policy and time linkage.

Continue building the business

Customer quotation acceptance is a separate verification step. The saved quotation also supplies the document fixture for logo and document layout.

Talk to an Odoo partner

Bring your current process and the result you need to Onward to plan your Odoo workflow. Talk to an Odoo partner.