How to Import Supplier Price Lists into Odoo

How to Import Supplier Price Lists into Odoo

You can import supplier price lists into Odoo using the standard Import tool under Purchase → Products → Vendor Pricelists, uploading a CSV or Excel file that maps columns such as Vendor, Product, Price, Currency, and Min. Qty directly into Odoo’s database. Once the field mapping is saved, you can repeat the process in seconds or schedule an automation so your cost data stays current without manual copy-pasting.

What is a supplier price list in Odoo?

In Odoo, a supplier price list is the bridge between a vendor and the exact cost you pay for a product. It lives inside the product template under the Purchase tab, and each line specifies the vendor, unit price, minimum quantity, currency, and validity period. These lines power purchase orders, margin forecasts, and reordering rules. If a supplier offers tiered pricing—€10 per unit for one hundred pieces, €8 for five hundred—Odoo stores each tier as a separate line and selects the right one when you generate a request for quotation.

Because Odoo treats these lines as master data, an incorrect price here cascades into every downstream document: the request for quotation, the purchase order, the stock valuation, and ultimately the cost of goods sold on your profit-and-loss statement. Keeping this data clean is therefore not an administrative luxury; it is a financial control.

Why do supplier prices change so often?

Raw material volatility, freight surcharges, exchange-rate swings, and seasonal capacity all force suppliers to issue new tariffs monthly or even weekly. Seasonal commodities such as agricultural inputs or energy-dependent plastics can shift within days. Long sea freight routes from Asia to European ports also mean that the price agreed today may differ from the invoice received three months later due to bunker adjustment factors.

For an SME based in Spain but sourcing from Asia, the UK, or Latin America, a currency shift of two percent can erase a product margin before the goods arrive. SMEs without automated price updates often discover these changes only when a purchase order is already issued, forcing awkward renegotiations or margin write-downs. Updating those figures by hand is not only slow; it invites typos that distort stock valuations and tax reporting.

How do I prepare my file before importing?

The safest approach is to export your existing vendor pricelists first. Go to Purchase → Products → Vendor Pricelists, select a few records, and click Export. Use the export template as your golden reference: it already contains the exact column names and data formats Odoo expects.

Required columns for a clean import

  • Vendor – the exact display name or database ID of the supplier contact.
  • Product – internal reference, barcode, or product name; internal reference is most reliable.
  • Price – numeric value without currency symbols or thousand separators.
  • Min. Qty – the minimum order quantity required to unlock this price.
  • Currency – ISO code such as EUR, USD, or GBP; mandatory if you run multi-currency.
  • Unit of Measure – optional but critical if you purchase in pallets and stock in units.
  • Validity dates – start and end dates if your supplier runs promotional windows.

Formatting rules that prevent errors

  • Match decimal separators to your Odoo language setting—commas for Spanish, dots for English.
  • Remove merged cells, blank header rows, and footnotes; every row must be self-contained.
  • Ensure vendor names match your Contacts database exactly, or Odoo will spawn duplicate partners.
  • Save the file as CSV UTF-8 to avoid accent and symbol corruption in Spanish or multilingual catalogues.

Can I import supplier price lists in bulk?

Yes. Navigate to Purchase → Products → Vendor Pricelists, click Import, upload your file, and map your spreadsheet columns to Odoo fields. Before committing, run the Test button: Odoo will validate the file and flag duplicates, missing products, or currency mismatches without writing anything to the database. After a successful test, switch from Don't import to Create or Update and confirm. For high-volume catalogues, consider splitting the file into chunks of one or two thousand rows to avoid timeout errors.

If you are also streamlining warehouse operations, our guide on how to automate packing lists from confirmed orders shows how to connect procurement to fulfilment.

How do I handle multiple suppliers and currencies?

Odoo’s multi-currency engine supports distinct price lines for each supplier. A product can hold a EUR line for your Spanish manufacturer and a USD line for your U.S. vendor. When multi-currency is enabled under settings, Odoo converts foreign prices at the daily exchange rate on purchase orders and invoices. This is especially useful for businesses in Málaga trading across the EU, UK, and Latin America, because a single database can serve subsidiaries and partners operating in different monetary zones without maintaining separate spreadsheets.

Is there a way to automate recurring imports?

Uploading a file every Monday morning does not scale. You can automate the pipeline in three proven ways:

  1. Scheduled SFTP import. Your supplier drops a CSV on a secure server; an Odoo scheduled action fetches, parses, and imports it at set intervals.
  2. Email-to-Odoo gateway. The supplier emails the price list to a dedicated address; an automation extracts the attachment and writes the records via Odoo’s API.
  3. AI-powered document parsing. Suppliers often send unstructured files—PDF catalogues, Excel sheets with merged headers, or HTML tables. An AI agent can extract the tabular data, normalise currencies, validate minimum quantities, and post clean rows to Odoo without human typing.

At AizuaLabs, we build AI agents that work natively in both English and Spanish. That is a genuine advantage when your procurement team speaks Spanish but your overseas suppliers send English price lists, or when you are expanding from Spain into Latin America and need the same automation to interpret regional tax terminology. Our agents start from €29/month (+ VAT) for website customer service, €49 for task agents, €99 for agents connected to your Odoo or ERP systems, and €149 when paired with WhatsApp integration. The WhatsApp channel is also available as a €49 add-on to any other agent tier.

In regulated sectors such as tax, accounting, or legal compliance, AI assists your team but does not replace professional judgment; always review automated price updates before they hit locked accounting periods.

You can also read our companion piece that covers the same workflow in more detail on importing supplier price lists into Odoo.

How do I verify the import worked?

After the import finishes, open three or four sample products and inspect the Purchase tab. Confirm that the vendor, price, currency, minimum quantity, and unit of measure match the supplier file. Then create a test request for quotation for one of those vendors; the unit cost should populate automatically. If you see a zero or an unexpected figure, trace back to the original file. The usual suspects are decimal-separator mismatches, duplicate vendor names, or a missing currency that defaulted to your company currency.

What if my supplier uses a different unit of measure?

Odoo handles conversions if you have configured units of measure and set conversion ratios. For example, if you buy cable by the thousand-metre drum but stock it by the metre, the supplier price list should state the drum price, and the purchase order line will convert using the ratio defined in the Units of Measure category. Without that ratio, the import itself may succeed but downstream operations—stock valuations and landed costs—will be wrong.

How do I keep historical pricing data?

Odoo does not version supplier pricelists automatically. When you import a new price, the old line is usually overwritten or archived depending on your import settings. If you need an audit trail for margin analysis or supplier negotiations, you can export the pricelist before each update, or implement an automation that logs every change to an external table or Google Sheet.

This historical view is invaluable during supplier reviews. If you can show a vendor that resin costs have climbed twelve percent in six months while a competing supplier held prices steady, you hold data-backed leverage. An AI agent can compile these reports automatically and present them in Spanish for your local team and in English for your international stakeholders, eliminating translation delays. AI agents can also monitor the Vendor Pricelist model and alert your purchasing manager whenever a cost shifts by more than a defined threshold, giving you early warning before margins collapse.

What are the most common import errors?

  • “No matching record found” for vendor: The supplier name in your spreadsheet does not match the display name in Odoo Contacts. Fix by using the vendor’s database ID or External ID.
  • Duplicate pricelist lines: You imported the same product-vendor combination without an ID column, so Odoo created a new line instead of updating the old one. Always include the Odoo ID or External ID when updating existing records.
  • Currency disabled: The file references USD, but multi-currency is turned off in settings, causing the import to fail silently or default to EUR.
  • Date format mismatch: Validity dates were written as DD/MM/YYYY while Odoo expects YYYY-MM-DD depending on locale.

Frequently asked questions

Can I import supplier prices directly from a PDF catalogue into Odoo?

Not with native Odoo tools. Odoo expects structured CSV or Excel files. However, an AI automation pipeline can extract tables from PDF catalogues, clean the headers, standardise decimals and currencies, and feed a structured file into Odoo via the standard import endpoint or API.

Will importing a new price list overwrite my old supplier prices?

Only if you explicitly map the import to an existing record ID. Without an ID column, Odoo creates new vendor pricelist lines, which can lead to duplicates. To force updates, export your current pricelists to obtain their Odoo IDs, merge those IDs into your supplier file, and re-import with the ID column mapped to the database key.

Does Odoo automatically update exchange rates for multi-currency price lists?

Odoo can fetch daily exchange rates from a web service if you enable Automatic Currency Rates under the currency settings. The supplier pricelist stores the original foreign price; conversion to your company currency happens dynamically on purchase orders and invoices. In regulated accounting contexts, AI assistants can monitor rate fluctuations, but they do not replace the judgement of a qualified accountant or tax advisor.

For SMEs in Málaga and across Europe, AI-driven customer service is becoming as important as back-office automation. If you are exploring how to serve clients in both English and Spanish, see our guide on hiring an AI chatbot provider in Málaga to compare bilingual options.

Stop updating supplier prices by hand.
Free 30-60 min AI audit: we tell you what to automate first and the ROI. Book a free audit →

Shall we talk? A real person replies within 24-48h

For businesses, freelancers and individuals. The initial 30-60 minute audit is free, with no commitment.

Would you like to receive updates on AI, automation, websites and SEO?
Optional · unsubscribe in one click anytime

We use your details to answer your enquiry. We only send you updates if you say yes, and you can unsubscribe in one click anytime. Privacy policy

Prefer another way?Message us on WhatsAppBook the audit