OdooWiki OCA HUB

Import supplier pricelists

product_supplierinfo_import_by_barcode 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 16.0

Import vendor price lists from Excel (.xlsx) files into Odoo, matching products by a chosen field such as barcode, and create or update supplier prices automatically.

This module adds a wizard to import supplier price lists from Excel files instead of typing them by hand. You upload an .xlsx file, choose the supplier, a validity date and a delivery delay, and Odoo reads the sheet and creates or updates the vendor prices on the products.

Products are matched using a field you configure on the import template (by default the barcode). If a product is not found, you can let Odoo create it automatically; such products are marked as created from the import, are not purchasable or sellable, and a note is added to their history.

  • Configure import templates under Purchase > Configuration: choose the sheet number, the header row, the column that identifies the product, and map each spreadsheet column to a supplier price field.
  • Run the import from the same menu; the file is checked against the templates and an error is shown if no template matches or the sheet number is out of range.
  • Existing prices for the same supplier and product are closed the day before the new validity date, so the new price replaces the old one.
  • A template option can restrict the import to updating existing prices only, and another option can show the prices that were not updated.
  • After the import, the created or updated supplier prices are displayed, grouped by their import status (new or updated, unchanged).

The module touches product.supplierinfo, product.template and adds the import wizard and template models.

Depends on

purchase

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 16.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 16.0

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

terminal Installation and usage

OCA documentation · Odoo 16.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.