Running an HVAC business with Odoo

How do I create a purchase order for job materials in Odoo?

Workflow overview: How do I create a purchase order for job materials in Odoo?
Workflow overview. Instructional screenshots show the actual demo interface.

Create and confirm a materials purchase order in Odoo, then check its linked receipt without changing stock.

Create an Odoo purchase order by reviewing an RFQ and confirming the agreed supplier, quantities and costs. Alex buys ten filters and two capacitors for Demo Air; Odoo prepares the receipt, while the actual delivery is recorded separately.

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 supplier setup, product import and the quotation example. Reuse Demo Supply H10 and the two H12 parts. This example uses fictional agreed costs, USD and the demo's existing 6% purchase tax; it does not establish a real tax treatment.

Step-by-step workflow

47 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. Existing Demo Supply H10 and two H12 goods, fictional agreed purchase costs and existing 6% demo purchase tax. One RFQ is saved and confirmed, preparing one Ready receipt with zero goods received or on hand. Source is a typed cross-reference, not automatic procurement or job costing. No supplier message, receipt validation, vendor bill or payment.

Step 1. Create the request for quotation

Open Purchase → Orders → Requests for Quotation → New. Select the existing Demo Supply H10 vendor. The tested form copies Immediate Payment and uses USD. Review Order Deadline, Expected Arrival and Deliver To; the receipt operation is My Company: Receipts in this database.

Video action 1: Open the app menu. The actual target is highlighted in gold.
Open the app menu.
Video action 2: Choose Purchase. The actual target is highlighted in gold.
Choose Purchase.
Video action 3: Open Orders and keep an already-open menu. The actual target is highlighted in gold.
Open Orders and keep an already-open menu.
Video action 4: Choose Requests for Quotation. The actual target is highlighted in gold.
Choose Requests for Quotation.
Video action 5: Create a new RFQ. The actual target is highlighted in gold.
Create a new RFQ.
Video action 6: Find the existing Demo Supply H10 vendor. The actual target is highlighted in gold.
Find the existing Demo Supply H10 vendor.
Video action 7: Select the existing vendor, rather than creating another contact. The actual target is highlighted in gold.
Select the existing vendor, rather than creating another contact.
Video action 8: The vendor copies Immediate Payment. The actual target is highlighted in gold.
The vendor copies Immediate Payment.
Video action 9: Review Order Deadline; check the actual timing with your supplier. The actual target is highlighted in gold.
Review Order Deadline; check the actual timing with your supplier.
Video action 10: Deliver To uses the existing My Company: Receipts operation. The actual target is highlighted in gold.
Deliver To uses the existing My Company: Receipts operation.

Step 2. Enter quantities and supplier costs

On Products, choose Add a product, select Demo Return-Air Filter H12, and enter Quantity 10, Unit Units, Unit Price 7. Add Demo Run Capacitor H12 with Quantity 2, Units and Unit Price 12. These are purchase costs; H12's selling prices are different.

Video action 11: Add the first purchased product. The actual target is highlighted in gold.
Add the first purchased product.
Video action 12: Find the existing H12 return-air filter. The actual target is highlighted in gold.
Find the existing H12 return-air filter.
Video action 13: Select Demo Return-Air Filter H12. The actual target is highlighted in gold.
Select Demo Return-Air Filter H12.
Video action 14: Order ten filters. The actual target is highlighted in gold.
Order ten filters.
Video action 15: Keep Units as the filter unit. The actual target is highlighted in gold.
Keep Units as the filter unit.
Video action 16: Enter the fictional agreed purchase cost 7.00. The actual target is highlighted in gold.
Enter the fictional agreed purchase cost 7.00.
Video action 17: Add the second purchased product. The actual target is highlighted in gold.
Add the second purchased product.
Video action 18: Find the existing H12 run capacitor. The actual target is highlighted in gold.
Find the existing H12 run capacitor.
Video action 19: Select Demo Run Capacitor H12. The actual target is highlighted in gold.
Select Demo Run Capacitor H12.
Video action 20: Order two capacitors. The actual target is highlighted in gold.
Order two capacitors.
Video action 21: Keep Units as the capacitor unit. The actual target is highlighted in gold.
Keep Units as the capacitor unit.
Video action 22: Enter the fictional agreed purchase cost 12.00. The actual target is highlighted in gold.
Enter the fictional agreed purchase cost 12.00.
Video action 23: Click the heading to commit the final line without adding another row. The actual target is highlighted in gold.
Click the heading to commit the final line without adding another row.
Video action 24: Review 94.00 before tax, 5.64 demo tax and 99.64 total. The actual target is highlighted in gold.
Review 94.00 before tax, 5.64 demo tax and 99.64 total.

Step 3. Add the manual business reference

Open Other Info and enter S00001 — manual job materials reference in Source. This is a typed cross-reference to the quotation, not an automated procurement or job-cost link. Use Vendor Reference only for the supplier's own reference.

Video action 25: Open Other Info for the manual business reference. The actual target is highlighted in gold.
Open Other Info for the manual business reference.
Video action 26: Type the quotation reference in Source; this is a manual cross-reference. The actual target is highlighted in gold.
Type the quotation reference in Source; this is a manual cross-reference.

Step 4. Save and review the RFQ

Choose Save manually. Reopen P00001 and review vendor, terms, quantities, units, costs, tax, dates and receipt destination. The tested totals are $94 untaxed + $5.64 demo tax = $99.64. No supplier email is required for this example.

Video action 27: Save this RFQ once and wait for the persisted result. The actual target is highlighted in gold.
Save this RFQ once and wait for the persisted result.
Video action 28: Return to Requests for Quotation. The actual target is highlighted in gold.
Return to Requests for Quotation.
Video action 29: Reopen the saved P00001 RFQ. The actual target is highlighted in gold.
Reopen the saved P00001 RFQ.
Video action 30: Verify the saved vendor. The actual target is highlighted in gold.
Verify the saved vendor.
Video action 31: Verify the saved payment terms. The actual target is highlighted in gold.
Verify the saved payment terms.
Video action 32: Return to Products. The actual target is highlighted in gold.
Return to Products.
Video action 33: Review both saved products, quantities, Units, purchase costs and tax. The actual target is highlighted in gold.
Review both saved products, quantities, Units, purchase costs and tax.
Video action 34: Review the saved Expected Arrival separately from Order Deadline. The actual target is highlighted in gold.
Review the saved Expected Arrival separately from Order Deadline.
Video action 35: Check the saved 99.64 training total before committing. The actual target is highlighted in gold.
Check the saved 99.64 training total before committing.

Step 5. Confirm once and inspect the receipt

Choose Confirm Order, wait for Purchase Order, and reopen the record. Its 1 Receipt button opens WH/IN/00001, initially Ready, with destination WH/Stock and Source Document P00001. Do not validate it until the goods actually arrive.

Video action 36: Confirm Order once after reviewing the fictional purchase commitment. The actual target is highlighted in gold.
Confirm Order once after reviewing the fictional purchase commitment.
Video action 37: Purchase Order is the saved state; stock receipt is still separate. The actual target is highlighted in gold.
Purchase Order is the saved state; stock receipt is still separate.
Video action 38: Open Orders without closing a menu already opened on hover. The actual target is highlighted in gold.
Open Orders without closing a menu already opened on hover.
Video action 39: Choose Purchase Orders. The actual target is highlighted in gold.
Choose Purchase Orders.
Video action 40: Reopen the same confirmed P00001. The actual target is highlighted in gold.
Reopen the same confirmed P00001.
Video action 41: Open the single linked Receipt. The actual target is highlighted in gold.
Open the single linked Receipt.
Video action 42: Review the saved receipt WH/IN/00001. The actual target is highlighted in gold.
Review the saved receipt WH/IN/00001.
Video action 43: Ready means prepared for receiving, not already received. The actual target is highlighted in gold.
Ready means prepared for receiving, not already received.
Video action 44: Check WH/Stock as the receipt destination. The actual target is highlighted in gold.
Check WH/Stock as the receipt destination.
Video action 45: Source Document points back to P00001. The actual target is highlighted in gold.
Source Document points back to P00001.
Video action 46: Inspect ten filters and two capacitors on the prepared receipt. The actual target is highlighted in gold.
Inspect ten filters and two capacitors on the prepared receipt.
Video action 47: Validate is available; leave it unexecuted until the goods arrive. The actual target is highlighted in gold.
Validate is available; leave it unexecuted until the goods arrive.

Check the result

P00001 is a saved, confirmed purchase order with ten filters at $7 and two capacitors at $12. It links one Ready receipt. At this checkpoint, both products still had zero on hand and zero received on the order. Confirmation prepared the receipt; it did not receive the stock.

If your screen differs

The warehouse still displays My Company even though the legal company is Demo Air HVAC. Use the operation and location shown in your database. Review supplier costs and tax instead of copying sale prices. This test covers one owner role, one vendor and ordinary untracked goods; approval thresholds, emails and automatic job procurement are separate workflows.

Frequently asked questions

What is the difference between an RFQ and a purchase order in Odoo? The RFQ holds the proposed purchase. In this test, Confirm Order changed P00001 to Purchase Order and created its linked receipt. Review the commitment before confirming.
Does confirming an Odoo purchase order increase stock? In this tested flow, no. The confirmed order created a Ready receipt while on-hand and received quantities stayed at zero. Stock changed when the actual receipt was validated.
How do I link a purchase order to an HVAC job in Odoo? This example types the quotation reference in Other Info → Source. It is a manual cross-reference; it does not establish automatic procurement, project costing or a relational job link.

Continue building the business

Record the actual delivery in How do I receive a partial supplier delivery in Odoo?.

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.