OdooWiki OCA HUB

Import supplier pricelists

product_supplierinfo_import folder_open OCA/product-attribute open_in_new
Product License: AGPL-3

This module allows importing vendor price lists from Excel files, matching products using any product template char field.

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

Import vendor price lists from Excel (.xlsx) files into Odoo supplier pricelists, matching products by a chosen field and optionally creating missing products.

This module adds a wizard to import vendor pricelists from Excel files. You upload an .xlsx file, and the system automatically detects the correct import template based on the column headers. The wizard lets you set the supplier, validity start date, delivery delay, and whether to create new products when a match isn't found.

You can define import templates under Purchase > Configuration > Vendor pricelists import templates. Each template specifies the sheet number, header row offset, the header used to search for products, and a mapping between Excel column headers and supplier pricelist fields. You also choose which product field (e.g., barcode) is used to match products, and whether to only update existing supplier pricelists or also create new ones.

After import, the wizard shows the created or updated supplier pricelist records. Each record gets an import status (New or Updated / Unchanged), and you can optionally display unchanged records grouped by status. If a product is created during import, it is marked as created from supplier import, set as purchasable but not sellable, and a message is logged on the product.

The module extends product.supplierinfo with an import status field and adds a computed product_code field on product.template that shows the supplier product code from the main supplier. It also adds a flag on products created via the import wizard.

Depends on

purchase

Required by other modules

Menus it adds

Vendor pricelists import templatesImport vendor pricelists
Models and fields (5)
  • product.template · extends an existing modelproduct_code, created_from_supplierinfo_import
  • product.supplierinfo · extends an existing modelimport_status
  • product.supplierinfo.import · new modeldelay, date_start (Validity), supplier_id (Supplier), template_id, supplierinfo_file, create_new_products, supplierinfo_filename
  • product.supplierinfo.import.template · new modelname, supplier_id, sheet_number, header_offset, template_line_ids (Headers mapping), search_header_name, only_update_existing, show_not_updated_rates, import_criteria_field_id
  • product.supplierinfo.import.template.line · new modelfield_id, header_name, template_id

Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 1 confirmed, 8 with no information of 9 versions.

Sources · Odoo 18.0

Confirmed on 2026-11-03 in branch 18.0 of OCA/product-attribute.

terminal Installation and usage

OCA documentation · Odoo 18.0

Vendor pricelists sheet files could come in a variety of column formats. We can configure templates to match them to know what data we need to store in our pricelist.

To do so:

  • Go to Purchase > Configuration > Vendor pricelist import templates.
  • Edit or create a new one.
  • Create a template name.
  • Assign a default supplier. (Set a default supplier that will be associated with this template)
  • In the Header Offset, determine the line where the headers are located. (Specify the line number where the column headers are found in your sheet file)
  • In the Sheet Number, we will be able to specify the page number to select it.
  • In the Search Header Name, set the name of the column you want to filter by. (Indicate the column name used for filtering the data)
  • In the Search Field, set the data you want to filter by. (Specify the field used for filtering)
  • Set a headers mapping with the rest header names and which fields we should update. (Map the remaining header names to the corresponding fields that should be updated in the system)
  • A header mapping could have no related field, but is important to have it if we want to detect the sheet data when we are importing.
  • The order isn't important. (The order of the header mappings does not affect the import process)
  • If Only Update Existing is checked, only existing pricelists will be updated; no new ones will be created.
  • If Show Not Updated Rates is enabled, the unupdated rates will be shown grouped at the end of the import.
  • If a column in the sheet is empty, set a field with a space (" ") inside to ensure a match.

To use this module, you need to:

  • Go to Purchase > Configuration > Import vendor pricelists.
  • Upload your vendor pricelists sheet file.
  • Set the vendor partner, the date from which the pricelists are valid and the lead days.
  • Click on import and view.

If a template for that file is configured, it will match the headers with the column values and create or update the vendor pricelists accordingly.

No verified information in OCA: Installation.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.