Running an HVAC business with Odoo

How do I manage HVAC service jobs with Odoo Project?

Workflow overview: How do I manage HVAC service jobs with Odoo Project?
Workflow overview. Instructional screenshots show the actual demo interface.

Create a manual service-job project with three stages and a saved Odoo task, while keeping completion and dispatch separate.

Odoo Project can organize a manual HVAC job as a task. Alex creates a service-job board with Ready, In Progress and Office Review, then saves the customer context and moves one training task through it.

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 user access, customer/site setup and the quotation example. This test demonstrates the owner administrator's manual job board; technician access and appointment booking need their own checks. The task uses a typed S00001 reference, not a sales-generated link.

Step-by-step workflow

63 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 Community, owner role. One manual service-job board, explicit Team members only visibility, three saved stages and one task with manual customer/site/S00001 references. Stage Office Review remains separate from terminal task status; no technician dispatch, booking, actual service, invoice or payment.

Step 1. Create the service-job project

Open Project → Projects, search for an existing Demo Service Jobs H40, and choose New only if absent. In Create Project, enter that Name and choose Create project. Keep a general service board's Customer and Project's Email empty for this example.

Video action 1: Open the app menu. The actual target is highlighted in gold.
Open the app menu.
Video action 2: Choose Project. The actual target is highlighted in gold.
Choose Project.
Video action 3: Search the exact service-board name before creating it. The actual target is highlighted in gold.
Search the exact service-board name before creating it.
Video action 4: No matching service-job project exists. The actual target is highlighted in gold.
No matching service-job project exists.
Video action 5: Choose New for this absent project. The actual target is highlighted in gold.
Choose New for this absent project.
Video action 6: Name the general board Demo Service Jobs H40. The actual target is highlighted in gold.
Name the general board Demo Service Jobs H40.
Video action 7: Leave Customer empty on this general service board. The actual target is highlighted in gold.
Leave Customer empty on this general service board.
Video action 8: Leave Project's Email empty in this example. The actual target is highlighted in gold.
Leave Project's Email empty in this example.
Video action 9: Create this project once. The actual target is highlighted in gold.
Create this project once.
Video action 10: The new project opens with its first Stage field. The actual target is highlighted in gold.
The new project opens with its first Stage field.

Step 2. Set the intended project visibility

From Projects, hover the project card, open its more_vert menu and choose Settings. On the form's Settings tab, change Visibility from the tested default All internal users and invited portal users to Team members only. Choose Save manually and reopen. This changes native visibility; it does not prove every employee has Project access.

Video action 11: Return to Projects to set the intended visibility. The actual target is highlighted in gold.
Return to Projects to set the intended visibility.
Video action 12: Hover the saved service-job project card. The actual target is highlighted in gold.
Hover the saved service-job project card.
Video action 13: Open the native project more menu. The actual target is highlighted in gold.
Open the native project more menu.
Video action 14: Choose Settings for this project. The actual target is highlighted in gold.
Choose Settings for this project.
Video action 15: Open the project Settings tab. The actual target is highlighted in gold.
Open the project Settings tab.
Video action 16: Review the current visibility before changing it. The actual target is highlighted in gold.
Review the current visibility before changing it.
Video action 17: Choose Team members only explicitly. The actual target is highlighted in gold.
Choose Team members only explicitly.
Video action 18: Timesheets is enabled in this checkpoint. The actual target is highlighted in gold.
Timesheets is enabled in this checkpoint.
Video action 19: Billable stays disabled for this manual board. The actual target is highlighted in gold.
Billable stays disabled for this manual board.
Video action 20: Commit the visibility choice on the project heading. The actual target is highlighted in gold.
Commit the visibility choice on the project heading.
Video action 21: Save this visibility change once and wait. The actual target is highlighted in gold.
Save this visibility change once and wait.
Video action 22: Reopen the same saved project. The actual target is highlighted in gold.
Reopen the same saved project.
Video action 23: Return to Settings after the native reload. The actual target is highlighted in gold.
Return to Settings after the native reload.
Video action 24: Team members only remains selected. The actual target is highlighted in gold.
Team members only remains selected.
Video action 25: The reopened project keeps Timesheets enabled. The actual target is highlighted in gold.
The reopened project keeps Timesheets enabled.
Video action 26: The reopened project still leaves Billable off. The actual target is highlighted in gold.
The reopened project still leaves Billable off.

Step 3. Create the three stages

Open the project's task board. In the first Stage... field enter Ready and click the check button. Add In Progress and Office Review the same way, then close the unused next-stage input. Review the exact saved spelling. Existing stages can be edited by hovering their header and choosing Settings → Edit → Stage Name → Save.

Video action 27: Return to the Projects list. The actual target is highlighted in gold.
Return to the Projects list.
Video action 28: Open this service-job task board. The actual target is highlighted in gold.
Open this service-job task board.
Video action 29: Use the first Stage field on the empty board. The actual target is highlighted in gold.
Use the first Stage field on the empty board.
Video action 30: Enter the stage name Ready. The actual target is highlighted in gold.
Enter the stage name Ready.
Video action 31: Save the Ready stage with the check button. The actual target is highlighted in gold.
Save the Ready stage with the check button.
Video action 32: Enter the stage name In Progress. The actual target is highlighted in gold.
Enter the stage name In Progress.
Video action 33: Save the In Progress stage with the check button. The actual target is highlighted in gold.
Save the In Progress stage with the check button.
Video action 34: Enter the stage name Office Review. The actual target is highlighted in gold.
Enter the stage name Office Review.
Video action 35: Save the Office Review stage with the check button. The actual target is highlighted in gold.
Save the Office Review stage with the check button.
Video action 36: Close the unused next-stage input. The actual target is highlighted in gold.
Close the unused next-stage input.
Video action 37: Review Ready, In Progress and Office Review on the saved board. The actual target is highlighted in gold.
Review Ready, In Progress and Office Review on the saved board.

Step 4. Add and describe the manual job

Choose New, enter Demo Service Job H40 in Task Title and choose Add. Open the task and write the existing customer, service address, assessment scope and S00001 — manual reference in Description. Include the meaning of each stage and that no appointment is confirmed. Save the description. This nonbillable task form did not expose a separate Customer or service-address selector.

Video action 38: Choose New to add one manual service job. The actual target is highlighted in gold.
Choose New to add one manual service job.
Video action 39: Name this task Demo Service Job H40. The actual target is highlighted in gold.
Name this task Demo Service Job H40.
Video action 40: Leave Assignees empty in this owner-only example. The actual target is highlighted in gold.
Leave Assignees empty in this owner-only example.
Video action 41: Add this single manual job once. The actual target is highlighted in gold.
Add this single manual job once.
Video action 42: Open the saved Demo Service Job H40 card. The actual target is highlighted in gold.
Open the saved Demo Service Job H40 card.
Video action 43: Review the saved manual service-job title. The actual target is highlighted in gold.
Review the saved manual service-job title.
Video action 44: Keep this job on Demo Service Jobs H40. The actual target is highlighted in gold.
Keep this job on Demo Service Jobs H40.
Video action 45: No technician is assigned in this owner example. The actual target is highlighted in gold.
No technician is assigned in this owner example.
Video action 46: Enter the service site, manual quotation reference and job instructions. The actual target is highlighted in gold.
Enter the service site, manual quotation reference and job instructions.
Video action 47: Click the job heading to commit the Description. The actual target is highlighted in gold.
Click the job heading to commit the Description.
Video action 48: Save these manual job instructions once and wait. The actual target is highlighted in gold.
Save these manual job instructions once and wait.
Video action 49: Review the saved scope and separate billing decision. The actual target is highlighted in gold.
Review the saved scope and separate billing decision.

Step 5. Move and reopen the task

On the task's stage bar, choose In Progress, click Save manually and wait for the save to finish. Then choose Office Review, click Save manually again and wait before reopening the task. Check project, saved Description and Office Review stage. The separate task-status button still shows In Progress. A stage label alone did not close the job, book a visit or make it invoice-ready.

Video action 50: Move this saved job to the In Progress stage. The actual target is highlighted in gold.
Move this saved job to the In Progress stage.
Video action 51: Save the In Progress stage and wait for persistence. The actual target is highlighted in gold.
Save the In Progress stage and wait for persistence.
Video action 52: The saved job stage is now In Progress. The actual target is highlighted in gold.
The saved job stage is now In Progress.
Video action 53: The separate task status also remains In Progress. The actual target is highlighted in gold.
The separate task status also remains In Progress.
Video action 54: Choose Office Review for the separate office handoff. The actual target is highlighted in gold.
Choose Office Review for the separate office handoff.
Video action 55: Save Office Review once and wait. The actual target is highlighted in gold.
Save Office Review once and wait.
Video action 56: Return to this project task board. The actual target is highlighted in gold.
Return to this project task board.
Video action 57: Reopen the same saved manual job. The actual target is highlighted in gold.
Reopen the same saved manual job.
Video action 58: The task remains on Demo Service Jobs H40. The actual target is highlighted in gold.
The task remains on Demo Service Jobs H40.
Video action 59: Office Review is retained as the saved stage. The actual target is highlighted in gold.
Office Review is retained as the saved stage.
Video action 60: In Progress status means this job is still open. The actual target is highlighted in gold.
In Progress status means this job is still open.
Video action 61: No technician is assigned by this manual setup. The actual target is highlighted in gold.
No technician is assigned by this manual setup.
Video action 62: No appointment or deadline was entered. The actual target is highlighted in gold.
No appointment or deadline was entered.
Video action 63: The saved instructions retain manual site and quotation references. The actual target is highlighted in gold.
The saved instructions retain manual site and quotation references.

Check the result

Project 2 Demo Service Jobs H40 retains Team members only visibility and the Ready/In Progress/Office Review stages. Task 5 Demo Service Job H40 retains its Description and Office Review stage, while task state remains In Progress. It has no assignee, customer relation or sales-line link; its customer/site/quotation references are manual text. The owner can reopen the project and task.

If your screen differs

New-project visibility initially included internal users and invited portal users; choose the intended option explicitly. This test did not prove access for a technician or portal user. Assignment/role testing stays in its own lesson. Timesheets is enabled and Billable disabled on this project; neither setting proves time entry or invoicing. Project tasks alone do not prove dispatch, route planning, technician availability or a confirmed appointment.

Frequently asked questions

Can I manage HVAC service jobs with Odoo Project? This native example creates a manual board and task with saved stages and job instructions. It does not demonstrate dispatch, route optimization or customer appointment booking.
How do I create job stages in Odoo Project? In the project's task board, enter each Stage name and click the check button. This test saved Ready, In Progress and Office Review; the stage header's Settings → Edit lets the owner review the saved name.
Is an Odoo Project stage the same as job completion? No. After moving this task to Office Review, its separate task status remained In Progress. Closing the work and deciding invoicing readiness require their own review.

Continue building the business

Continue with the sales-generated task guide, which uses a separate verified service configuration. Preserve this manual task as its own example.

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.