Skip to content

Guide

Connect Odoo

Odoo keeps each product's internal reference, barcode, cost and sales price. Connected to Pricebeeper with an API key, it keeps your unit costs and your own prices current, and with the Odoo website shop it can add products with their page addresses too. This guide shows how to create the key and connect it, with a screenshot of each step in Pricebeeper.

At a glance

  • An Odoo API key for a user who can read products.
  • Cost becomes the unit cost; sales price becomes your own price.
  • Products are matched by internal reference, then barcode.
  • With the Odoo website shop, new products can come in with their page addresses.
  • Works with Odoo's external API, on the plans and hosting that include it.

Plans: Every plan. Costs and your own prices matter most with repricing, on Growth and higher plans.

7 min read · updated 29 October 2026

Before you start

Pricebeeper reads Odoo through its external API. On Odoo Online the external API is part of the Custom plan; on Odoo.sh and your own servers it is available as standard. Recent Odoo versions offer the newer JSON-2 API and earlier ones the older JSON-RPC API: Pricebeeper uses whichever your database offers.

You need an Odoo user that can read products, a Pricebeeper account with a confirmed email address, and the owner or admin role in that account. Without the website shop, bring your products into Pricebeeper first, from your shop's product feed or a store import, with the same internal references or barcodes.

The Connect a store, feed or ERP dialog with the ERP and inventory choices: ABRA Flexi, Odoo, Business Central, Pohoda, Money and others
Choose Odoo under ERP and inventory.

Step 1: Create an API key in Odoo

  1. Sign in as the user Pricebeeper should use

    Ideally a user created for Pricebeeper with rights to read products and nothing more. The key acts with exactly this user's rights.

  2. Open Account Security

    Open the user menu under your avatar, choose Preferences (or My Profile), and open the Account Security tab.

  3. Create the key

    Choose New API Key, confirm your password, name the key Pricebeeper and, if Odoo asks, choose a long duration. Copy the key straight away: Odoo shows it only once.

  4. Note the database name

    On Odoo Online the database name is usually your subdomain (mycompany for mycompany.odoo.com). On Odoo.sh it matches the branch; on your own server, the database selector lists it.

Step 2: Connect it in Pricebeeper

  1. Open Connections

    In Pricebeeper, go to Settings, Connections, choose Add connection and pick Odoo.

  2. Fill in the access details

    Fill in the Odoo address (such as https://mycompany.odoo.com), the Database, the User (the login email) and the API key. Add the Website address only if you use the Odoo website shop and want new products added with their page addresses.

  3. Choose what each sync does

    Add new products works only with the website address. Update unit costs uses the product's cost; Use its prices as your own prices uses its sales price, in the product's currency.

  4. Connect and test

    Choose Connect and test. Pricebeeper signs in, reads the first products and shows them with their codes, barcodes, costs and prices, so you can check them before the full sync runs in the background.

The Connect Odoo form with the Odoo address, database, user, API key and optional website address
Your Odoo address, database, user and API key.
The Odoo connection result showing Connected and the first products with internal references, barcodes, costs and sales prices
The first products as Pricebeeper read them from Odoo.

What a sync changes

Each sync reads every product Odoo lists and finds the matching product in your catalog: first by product code (SKU), then by barcode (EAN or GTIN). A code or barcode that several of your products share matches none of them, so a duplicate never gets the wrong cost.

  • Unit cost replaces the cost Pricebeeper had, when Update unit costs is on. Repricing keeps every suggestion above the margin floor it sets.
  • Your own price becomes the price competitors are compared with, when Use its prices as your own prices is on.
  • Codes and barcodes fill in where a product had none, which helps Pricebeeper find the exact product at other sellers.
  • Products that match nothing are counted and listed on the connection, so you can see what is missing from your catalog.

Pricebeeper reads product variants that can be sold, in pages of five hundred. Variants without an internal reference and without a barcode can't be matched and are skipped. Each variant keeps the cost Odoo holds for it.

A sync never deletes, renames or moves anything, and it reads only: Pricebeeper writes nothing back to your system. Approved prices reach your store only through a store you connect for repricing.

Step 3: Check the results

The connection shows when it last synced and what it did: products read, added, updated and not matched. New products from the website shop are waiting under Products, filtered as not monitored; the getting started guide shows how to attach them to a region.

A synced Odoo connection with products read, added and updated, and the next sync time
After a sync: what it read, added and updated.
Editing the Odoo connection: the API key field says the stored key is kept unless a new one is typed
Editing keeps the stored key unless you paste a new one.
The Connections page with an Odoo connection next to a shop feed
Odoo next to your other connections.

Costs and your own prices from Odoo feed repricing, which keeps every suggestion above your margin floor.

When a sync fails

What a failed Odoo sync says, and what to do
MessageWhat to do
The login, key or token was refusedCheck the user's login email and paste the key again; a revoked or expired key is refused. On Odoo Online, check that your plan includes the external API.
Nothing was found at that addressCheck the database name: on Odoo Online it is usually your subdomain.
The key works but isn't allowed to read productsGive the user the right to read products, for example as a Sales or Inventory user.
The source asked us to slow downNothing: the next scheduled sync tries again. If it keeps happening, choose a weekly sync.
The source had an error on its sideNothing at first: the next sync tries again. If it fails for days, check the system's status page.

After ten failed scheduled syncs in a row a connection pauses itself, so it stops trying with details that no longer work. Fix the setting with Edit, then switch it back on.

Questions people ask

Does it work with Odoo 19 and later?

Yes. Pricebeeper uses the JSON-2 API that Odoo 19 introduced, and the older JSON-RPC API on earlier versions, so the connection keeps working when you upgrade.

Which Odoo plan do I need?

On Odoo Online, the external API is part of the Custom plan. Odoo.sh and self-hosted Odoo include it.

How are my keys and passwords stored?

Encrypted, and never shown again, not even to you: the connection shows only a short hint. Only the account owner and team admins can add or change connections, and they are sent only to the address you entered.

Does Pricebeeper change anything in my system?

No. Connections only read. Give the access the least rights that let it read products and prices, and Pricebeeper can never change your data.

Does a connection use my plan's slots?

No. Slots are used only when you attach a product to a region to monitor it. Connections keep your catalog's codes, costs and prices current on every plan.

Related features

  1. 01RepricingRules turn competitor prices into suggested prices within your limits; you approve, and your store is updated.
  2. 02Catalog importLoad your whole catalog from Shopify, WooCommerce, a Merchant Center feed, CSV or URLs, then choose what to monitor.
  3. 03Barcode and exact product matchingMatch each product to its Google Shopping product and Amazon ASIN by barcode, then track the sellers of that item.

Last reviewed

See your competitors' prices this week.

The Free plan tracks 50 products with no card and no time limit. Growth comes with a 14-day trial, also without a card.