This guide shows how to put free text on Odoo quotations, sales orders, purchase orders and invoices, and how to add a priced line that is not tied to a product in your catalog. The short answer: use Add a note for a line of text and Add a section for a heading that groups the lines below it. Neither carries a price. For a priced line without a product, Odoo 20 lets you type a description and a price straight onto a quotation, while Odoo 19 needs a product on every priced sales line, so the practical approach there is a few generic products whose description you overwrite.
It is written for salespeople, buyers and anyone who prepares quotes. The steps were verified on Odoo 19 and Odoo 20, and the button labels that changed in Odoo 20 are given in brackets.
Before you start
- Version and edition: Odoo 19 or Odoo 20, Community or Enterprise. Notes and sections work the same in both editions.
- Apps: Sales for quotations and sales orders, Purchase for purchase orders, and Invoicing or Accounting for invoices.
- Terms used: a note is a line that holds only text, with no quantity or price. A section is a heading line that groups the lines under it, up to the next section. A subsection is a heading inside a section. A generic product is an ordinary product you create once and reuse for one-off items.
How notes and sections behave
Odoo does not allow a product, quantity or price on a note or a section, so these lines never change the total. Everything chargeable still goes on a normal line.
- Sections print in bold on the quotation, and each one shows the total of the lines it contains. This makes them useful for splitting an offer into options or phases.
- Notes print in italics, in the position where you place them.
- On the invoice, notes and sections are copied across with the lines they accompany. A section with nothing left to invoice is left off, together with the notes inside it.
Add notes and sections to a quotation
- Open the Sales app and go to Orders > Quotations. Open a quotation, or click New.
- On the Order Lines tab, click Add a section (Odoo 20: Add Section) below the existing lines. An empty bold line appears. Type the heading, for example "Option A: wall-mounted unit".
- Click Add a product (Odoo 20: Add Line) and enter the lines for that option. Lines added after a section fall under it.
- Click Add a note (Odoo 20: Add Note) and type the text, such as delivery conditions or what the price excludes.
- To add something inside an existing section, click the three-dot icon at the right end of the section row. The menu offers Add a line, Add a subsection and Add a note, and also Move Up, Move Down, Duplicate and Delete for the whole section.
- Drag the handle at the left of any line to reorder it, then save.
The same section menu has Hide Prices, which removes the prices of that section's lines from the printed quotation and the customer portal, and Hide Composition, which hides the lines themselves so the customer sees only the section. Both change what the customer sees, not what is charged: the hidden lines still count in the total.
Purchase orders and invoices
- Purchase orders: open the Purchase app, go to Orders > Purchase Orders, and use Add a section and Add a note on the Products tab. The labels are the same in Odoo 19 and Odoo 20. Every priced purchase line still needs a product in both versions.
- Customer invoices: open Accounting or Invoicing, go to Customers > Invoices, and use Add a section and Add a note on the Invoice Lines tab. An invoice line only needs an account, so Add a line also accepts a description and price with no product.
Priced lines without a product
In Odoo 20, a quotation line no longer needs a product. Click Add Line, type a description in the Description column without picking a product, then fill in the quantity and unit price. Such a line:
- takes the company's default sales tax, set under Default Taxes in the accounting settings, and you can change it on the line;
- follows the default invoicing policy in Sales > Configuration > Settings, under Invoicing, where Ordered quantities means it can be invoiced as soon as the order is confirmed;
- gets its income account when the invoice is created, usually the sales journal's default account, so check that account on the draft invoice before posting.
To require a product on every line again, turn on Mandatory Product in the Sales settings, under Quotations & Orders.
In Odoo 19, every priced sales line needs a product. Instead of creating a product per offer, create a few generic ones, such as "Custom item" and "Custom service", one for each tax and income account combination you need:
- Open the Sales app and go to Products > Products, then click New.
- Name the product, set Product Type, and set Sales Taxes on the General Information tab.
- On the Accounting tab, set the Income Account.
- Leave Reference empty. Odoo puts the reference in square brackets before the product name on each line, so a reference of CUST makes lines read "[CUST] Custom item".
- On each quotation line, pick the generic product, then overwrite the description and the unit price.
Check that it worked
- On the quotation, click Preview. Sections should appear in bold with their own totals, and notes in italics, in the order you set.
- Confirm the order, click Create Invoice, and choose Regular invoice. The draft invoice should show your sections and notes alongside the invoiced lines.
- On Odoo 20, open any line you typed without a product on that draft invoice and confirm its tax and income account before posting.
Common mistakes to avoid
- Putting a price in a note. Notes and sections cannot hold a price, so a figure typed into their text is not added to the total. Use a priced line.
- Expecting hidden options to drop out of the total. Hide Prices and Hide Composition only change the customer's view. If an option is not wanted, delete its lines or the section.
- Expecting productless purchase lines in Odoo 20. The change applies to sales lines only. Purchase order lines still need a product.
Steps verified on Odoo 19 and Odoo 20. Menus and labels can differ on other versions.
Common questions
How do I add a text-only line to an Odoo quotation?
On the quotation's Order Lines tab, click Add a note (Add Note in Odoo 20) and type the text. A note has no quantity or price, prints in italics, and is copied to the invoice.
Can I add a line without a product on an Odoo sales order?
In Odoo 20, yes: click Add Line and type a description and price without choosing a product, and the line takes the company's default sales tax. In Odoo 19 and earlier, every priced sales line needs a product, so use a generic product and overwrite its description and price.
What does Hide Prices on an Odoo section do?
It removes the prices of that section's lines from the printed quotation and the customer portal. The lines still count in the order total.
Why does my product name appear in square brackets on order lines?
Odoo places the product's Reference in square brackets before its name. Clear the Reference on the product's General Information tab and new lines show only the name.
Do Odoo purchase orders and invoices have notes and sections too?
Yes. Purchase orders and customer invoices both offer Add a section and Add a note under their lines in Odoo 19 and Odoo 20.
Talk to the team.
If you are setting this up, or Odoo is not behaving the way this guide describes, book a 30-minute call. We will look at your configuration and tell you what it needs. Calgary studio, in-house team, no offshore handoffs.
Book the call →