Products and pricelists
Manage product catalog data, variants, sales pricing, and purchasing information in a shared structure for Sales, Purchase, and Inventory.
The Products & Pricelists module is the data foundation for goods and services in Odoo. It is where you define products, variants, units of measure, categories, vendor information, and pricing rules before sales, purchasing, or inventory workflows use them.
A well-structured product setup gives sales, purchasing, and inventory teams a single trusted source of product data, reduces re-entry, lowers item-code mistakes, and keeps pricing, stock, and reporting consistent.
Core capabilities
Key points
• Manage product templates and product variants based on attributes such as color, size, or material.
• Organize product categories in a hierarchy for easier search, reporting, and extended properties.
• Store sales price, cost, unit of measure, internal reference, barcode, and descriptions for each product.
• Manage multiple vendors for the same product, including purchase price, minimum quantity, and delivery lead time.
• Set up pricelists and pricing rules by product, variant, category, quantity, or customer region.
• Print barcode-ready product labels for sales, warehouse handling, and item identification.
User groups and permissions
Basic access model
| Group | Permissions | Typical use |
|---|---|---|
| Internal User | View products and pricelists | Look up product information during related workflows |
| Sales / Purchase / Inventory User | Create and edit products, manage vendor information | Run daily sales, purchasing, and warehouse operations |
| Administrator | Full control over attributes, categories, pricelists, and master data | Design product structure and pricing policies |
Field and menu reference
| Fields | Trường dữ liệu | Description |
|---|---|---|
| Products | Sản phẩm | Shared list of product templates used by business apps. |
| Product Variants | Biến thể sản phẩm | List of concrete item versions generated from attributes. |
| Pricelists | Bảng giá | Price catalogs applied by customer, country, or custom rule. |
| Product Category | Danh mục sản phẩm | Tree-based classification structure for products. |
| Attributes & Variants | Thuộc tính và Biến thể | Area for defining attributes such as color, size, and variant creation mode. |
| Internal Reference | Mã nội bộ | Internal SKU or quick lookup code. |
| Barcode | Mã vạch | EAN or UPC code used for scanning and warehouse integration. |
| Sales Price | Giá bán | Default selling price for the product. |
| Cost | Giá vốn | Standard cost used as a base for purchasing and analysis. |
| Vendor | Nhà cung cấp | Supplier record with its own purchasing conditions. |
Daily product management
Users usually begin in Products → Products to create or update a product template. The core product fields should be standardized early so sales, purchasing, and stock workflows behave consistently.
Steps
1. Go to Products → Products and click New.
2. Fill Product Name, Product Type, Unit, Sales Price, Cost, and Product Category.
3. Add Internal Reference and Barcode if the business uses SKU codes or barcode scanning.
4. Enable the Sales and Purchase flags according to the real business scope of the product.
5. Add Sales Description and Purchase Description if each workflow needs different wording.
6. Save the product and review the related tabs before using it in live transactions.
Product categories
Key points
• Product categories should be designed as a parent-child tree to simplify navigation and reporting.
• Categories can use Product Properties to add industry-specific or group-specific information.
• Because category names are displayed with their full path, a clear structure helps users understand product context faster.
Attributes and variants
Odoo separates the Product Template from the Product Variant. The template is the shared master record, while each variant is a concrete combination generated from chosen attributes.
Key points
• Use variants only when versions differ in stock, item code, pricing, or operations.
• If two items are fundamentally different products, create separate products instead of forcing them into one template.
Variant creation modes
| Mode | Meaning | Best use case |
|---|---|---|
| Always | Create every variant immediately when saved | Use when every combination can be stocked or sold |
| Never | Do not create a separate variant | Use for options that do not affect stock, such as gift wrap or engraving |
| Dynamically | Create only when first used on a transaction | Use when the number of combinations is large but many may never be used |
Vendor information
Steps
1. Open the product and go to the Purchase tab.
2. In the Vendors table, click Add a line.
3. Choose the Vendor and fill purchase price, Min. Qty, Delivery Lead Time, and validity dates if needed.
4. Repeat for other vendors if the product can be sourced from multiple suppliers.
5. Review the vendor lines so the order of preference matches real purchasing practice.
Important vendor fields
| Field | Meaning | Benefit |
|---|---|---|
| Vendor Product Name / Code | Supplier-specific item name or code | Speeds up reconciliation on RFQs and POs |
| Min. Qty | Minimum quantity for the pricing rule | Reflects real purchasing constraints |
| Delivery Lead Time | Expected delivery days | Supports receipt-date planning and supply timing |
| Start Date / End Date | Validity period | Useful for seasonal or time-boxed purchase agreements |
Pricelists and pricing rules
Pricelists let you apply different price policies by customer group, region, or quantity. They sit on top of the product’s default sales price.
Steps
1. Enable Pricelists in Sales settings if the feature is not already active.
2. Go to Products → Pricelists and create a new pricelist.
3. Fill the name, currency, company, and Country Groups if it should auto-apply by geography.
4. In Pricelist Rules, add rules by product, variant, category, or all products.
5. Choose a pricing method such as Fixed Price, Discount, or Formula.
6. Assign the pricelist to the customer in the contact record so it is applied automatically on sales orders.
Pricing methods
| Method | How it works | Best use case |
|---|---|---|
| Fixed Price | Set a specific sales price | Stable price for a customer segment or campaign |
| Discount | Apply a percentage discount from a base price | Volume pricing or segment-specific markdowns |
| Formula | Compute price from a base with extra factors or adjustments | More flexible pricing than flat prices or discounts |
Product label printing
Key points
• Users can select one or more products from the list and use Print Labels or Action → Print Labels.
• The label wizard lets you choose layout, quantity, and print order.
• The result is typically a PDF suitable for warehouse labels or retail identification.
Search, filters, and archiving
Key points
• Use filters such as Favorites, Can be Sold, Can be Purchased, Archived, or Services to narrow product lists quickly.
• Group by Product Type, Category, or Vendor to review data from an operational perspective.
• Archive products instead of deleting them so transaction history and reporting remain intact.
Practical operating tips
Key points
• Fill Internal Reference for all products to speed up search and support integrations.
• Make sure every Barcode is unique across the entire system before go-live.
• Design the category tree before importing large product volumes so you do not need to reorganize master data later.
• More specific pricelist rules override broader ones, so verify scope and priority when testing pricing.
• Always define Delivery Lead Time and Min. Qty on vendor lines if purchasing constraints matter operationally.