Supplier catalog connectors¶
The supplier catalog connectors import the product catalog, the purchase prices, and the stock levels of a wholesaler into Odoo, and keep them up to date automatically. They are plug-ins of the Supplier Product Management (SPM) module: every connector feeds the same supplier stock, vendor lines, and order warnings described on that page.
Connector |
Module |
Source |
|---|---|---|
Hurtel |
|
Two XML feeds (IdoSell IOF format): a full feed with the master data, and a light feed with the stock levels |
Partner Telekom |
|
One XML feed, downloaded from a URL or read from a local file |
DRO |
|
One combined XML feed (master data, prices, and stock), fetched from an FTP/FTPS server or read from a local file |
Thomax |
|
Two CSV feeds: a master/price feed and a stock feed |
Vision Software |
|
The SOAP web service of the supplier’s Vision Software (Octopus) ERP |
Note
Install the connectors from the Apps dashboard. They require the Purchase, Inventory, and eCommerce apps.
Each connector adds its own menu under . Purchase users can consult the data; only users with the Purchase: Administrator access right can configure the connectors and launch synchronizations.
A feed or an API access is granted by the supplier. Ask the supplier for the address of the feed and the credentials before configuring a connector.
How a synchronization works¶
All connectors work in the same way, in up to three stages:
Stage 1 – staging. The feed is downloaded and copied, as is, into staging tables (). Nothing is changed on the products at this point. A staging product is Present, Vanished (it disappeared from the feed), or in Error.
Stage 2 – products. The staging products are turned into Odoo products:
a staging product that was imported before is matched with its product through the supplier’s identifier, and the product is updated;
otherwise, if the feed contains a valid GTIN barcode that already exists on a product imported by another connector, that product is reused: the connector only adds its own vendor line and supplier stock to it, without changing its name, price, or category. The same article sold by several wholesalers is therefore a single product with several vendors;
otherwise, a new storable product is created, available for sales and purchases.
Stage 3 – images. The pictures referenced by the feed are downloaded in the background, by small batches, into the main image and the extra images of the product.
The following data is maintained on the products by stage 2:
the Internal Reference, the Barcode or the Manufacturer Part Number, the weight (when provided), the eCommerce description, the Sales Price, and the Cost;
the eCommerce category, according to the category mapping;
the brand and the other attributes provided by the feed, as attributes that do not create variants;
the vendor line of the supplier (Purchase tab), with the supplier’s product code and the Supplier Lead Time (days) of the connector;
the supplier stock at the Default Supplier Location of the connector.
Important
Only the fields listed above are overwritten at each synchronization. Any other field of the product, including its name after the creation, its product category, and its sales description, can be modified manually without being reverted. A price of zero coming from the feed never overwrites an existing price.
Products that vanish from the feed are not archived automatically: their supplier stock is removed at the next full synchronization, and the product itself is left to the user. They can be archived in bulk with the Full Upgrade Wizard.
Configure a connector¶
Go to , and click New. Several settings records can exist for one connector, e.g., one per company.
Base settings¶
Supplier: the contact of the wholesaler. It is used on the vendor lines.
Default Supplier Location: the supplier location that receives the supplier stock. It is required: without it, no supplier stock is recorded.
Company.
Category Review User: the user who gets an activity each time the synchronization discovers a new category in the feed. Leave empty to disable these activities.
Sync Lock Timeout (hours): a running synchronization locks the connector, so that two runs never overlap. After this delay, a lock left behind by an interrupted run is released automatically.
Pricing¶
The Pricing tab defines how the sales price is derived from the supplier’s price:
Cost Currency: the currency of the prices of the feed;
List Currency: the currency of the sales prices, usually the company currency. The supplier’s price is converted with the exchange rate of the day of the synchronization;
Pricing Tiers: the markup rules, by price band. Each tier has an Up To limit (exclusive, in list currency), a Markup Type (Fixed amount or Percent), and a Markup Value (e.g.,
45for +45%). The tiers are evaluated in ascending order of their limit, and the first tier whose limit is higher than the converted price applies. Use0as limit on exactly one tier to mark the open-ended top band. No tier is delivered with the modules;Price Rounding Strategy: No rounding, or Ceil to next X90, which rounds the marked-up price up to the next amount ending in 90 (e.g., 1,181 → 1,190; 1,191 → 1,290);
Require Pricing Tier: when enabled, a product whose price matches no tier is reported as an error instead of being sold at its cost;
Supplier Lead Time (days): written on the vendor line of every product of the connector. Changing it here updates all the vendor lines at the next synchronization;
Készlettel rendelkező termékek létrehozása (create products that are in stock only): when enabled, new products are only created for articles that the supplier has in stock. The stock of the existing products is always updated, including when it drops to zero.
The Cost of the product is the converted supplier price, without markup or rounding.
Example
With the tiers up to 5,000: fixed 1,500, up to 50,000: 35%, and 0 (open-ended): 20%, and the Ceil to next X90 rounding, a product bought for the equivalent of 12,000 gets a sales price of 12,000 × 1.35 = 16,200 → 16,290.
- menu
- Purchase ‣ SPM ‣ Hurtel ‣ Settings ‣ (a settings record) ‣ Pricing tab
- shows
- The Pricing tab of a connector with the currencies (EUR → HUF), the rounding strategy "Ceil to next X90", the procurement options, and three pricing tiers.
- highlight
- The "Pricing Tiers" list (red frame).
- data
- Tiers: up to 5,000 fixed 1,500; up to 50,000 percent 35; 0 percent 20.
- module
- spm_hurtel_api
- notes
- English UI, light theme, 1440px width.
Source and schedule¶
The source of the data, and the frequency of the automatic synchronization, are set in the tab(s) specific to each connector (see Connector specifics). In all connectors:
a source is a URL, a file on the server, or an API address, with its credentials. For the feeds downloaded over HTTP, the Authentication tab supports No Auth, HTTP Basic, URL Query Parameter, and Custom HTTP Header, plus optional Extra Headers (JSON);
the automatic synchronization is disabled by default. Tick the Cron Active checkbox of the feed, and set the interval (and, where available, the hour and minute of the day). The Open Cron Record button opens the corresponding scheduled action;
the download of the images has its own switch in the Image Download tab: Image Download Cron Active, with the Image Download Batch Size (number of products per run, every 15 minutes). The Pending Images and Failed Images counters show the progress. An image is tried up to five times.
Run a synchronization manually¶
The header of the settings form contains the manual actions:
Sync Now (or Sync Full Now / Sync Light Now for Hurtel, Sync Master / Sync Stock for Thomax): queues a complete run, which starts within about a minute in the background;
Sync to Products: runs stage 2 only, on the data already in staging, e.g., after correcting the pricing tiers or the category mapping;
Stock Only (Hurtel): refreshes the supplier stock only;
Full Upgrade Wizard: see below;
Force Unlock: releases the lock of a synchronization that was interrupted. It is reserved for users with the Administration: Settings access right; use it only when no synchronization is actually running.
While a run is in progress, the Sync in Progress toggle is on, and the form shows which feed is being processed and until when the lock is held.
Import log¶
Every run, manual or scheduled, creates an entry in , with its feed, its trigger (Cron or Manual), its status, its duration, and detailed counters: staging products created, updated, skipped because unchanged, and failed; products created, updated, and failed in stage 2; supplier stock lines created, updated, and archived; etc. The errors of individual products are listed in the lines of the log.
- menu
- Purchase ‣ SPM ‣ Hurtel ‣ Import Log ‣ (a finished full run)
- shows
- An import log form of a full synchronization with its status, start and end time, duration, and the counters of stage 1 and stage 2.
- highlight
- The status and the stage 2 counters (red frames).
- data
- A successful full run with a few thousand products, 12 created, 340 updated, 2 failed.
- module
- spm_hurtel_api
- notes
- English UI, light theme, 1440px width.
Category mapping¶
The categories of the feed are listed in . The first time a category is met, an eCommerce category with the same name (and, for hierarchical feeds, the same parents) is created automatically, and the products of the category are published in it.
To place the products of a feed category in an eCommerce category of your own instead, open the feed category and select it in Manual Mapping. The Webshop Category field shows the category actually in use, and the Mapping Status whether it is a Manual override, Auto-created, or missing (No webshop category). The new mapping is applied to the products at the next stage 2. The eCommerce categories added manually to a product are left untouched.
Use the Awaiting Review, Auto-mapped, Manual Override, and No Webshop Category filters to work through the new categories. If a Category Review User is set on the connector, this user gets an activity for every new category.
Note
The Vision Software connector maps the supplier’s product groups through the VS API Name field of the eCommerce categories and of the attribute values, and assigns the Product Category and the Brand Attribute selected in its settings.
Full Upgrade Wizard¶
A normal synchronization protects what was changed manually, and skips the articles that did not change in the feed. The Full Upgrade Wizard (Hurtel, Partner Telekom, DRO, and Vision Software) forces the refresh of selected components on the existing products, e.g., after a change of the pricing tiers, or to reset the names to those of the supplier.
Click Full Upgrade Wizard on the settings form, and tick the components to refresh:
Identity: Name, Description, Default Code (SKU), Barcode (EAN);
Classification: Webshop Categories, and, for Hurtel, Brand Attribute and Other Attributes (Parameters);
Commerce: List Price, Standard Price (Cost);
Stock: Supplier Quants (Stock), Supplier Info;
Media: Images;
Lifecycle: Create New Products, Archive Vanished Products.
The Full Refresh, Stock + Price, and Names + Descriptions buttons tick a predefined set, and Reset clears the selection. Then, choose the Scope: all the products of the connector, only the articles changed in the feed since the Changed Since date, or, for Hurtel, a Specific Brand only. Click Run Upgrade: the upgrade runs in the background, and its import log opens to follow the progress.
Warning
Refreshing the Name, the Description, or the prices overwrites the manual corrections made on the products of the chosen scope. Archive Vanished Products archives every product that is no longer in the feed.
- menu
- Purchase ‣ SPM ‣ Hurtel ‣ Settings ‣ (a settings record) ‣ Full Upgrade Wizard
- shows
- The Full Upgrade Wizard with the four preset buttons, the six groups of component checkboxes ("Stock + Price" preset ticked), the Scope radio buttons and the Run Upgrade button.
- highlight
- The preset buttons and the "Scope" field (red frames).
- module
- spm_hurtel_api
- notes
- English UI, light theme, crop to the dialog.
Barcodes¶
A code of the feed is only written in the Barcode field of the product, and only used to recognize a product already imported from another wholesaler, when it is a valid GTIN. Any other code is stored as Manufacturer Part Number. See Supplier stock and data.
Connector specifics¶
Hurtel¶
Full Feed tab: the source of the full XML feed, synchronized weekly by default. The full run updates the master data, the prices, and the stock, and flags the vanished articles.
Light Feed tab: the source of the light feed, synchronized daily by default. The light run only refreshes the supplier stock of the existing products; new articles wait for the next full run.
Warehouse Stock ID: which stock of the feed is imported:
0for the aggregated total,1(default) for the supplier’s main warehouse,2and above for secondary warehouses.Default Language and Translation Languages: the language of the feed used for the name and the description of the products, and the additional languages for which the translations are imported. The languages must be installed in the database and present in the feed.
Auto-run Stage 2 after Stage 1: untick it to stop after the staging, review the new categories and attributes, and then click Sync to Products (Full) manually.
Partner Telekom¶
Feed tab: Source Type (URL or Local File), Source Path, and the schedule, daily by default.
DRO¶
Feed tab: Source Type FTP (default) or Local File, the Source Path of the file, and the FTP Connection: FTP Host, FTP Port, FTP User, FTP Password, and Use FTPS (TLS), enabled by default.
The feed does not detail the stock per warehouse: all the supplier stock goes to the Default Supplier Location.
Thomax¶
Feeds tab: the Master / Price Feed (Master Source Path, Master Encoding, UTF-8 by default; daily by default) and the Stock Feed (Stock Source Path, Stock Encoding,
cp1250by default; every two hours by default), with a common CSV Delimiter (;). Each feed has its own Sync Master / Sync Stock button and schedule.Verify SSL Certificate: keep it enabled, unless the supplier’s server presents an incomplete certificate chain that makes the download fail, and you accept the reduced security.
The technical attributes of the master feed are imported as product attributes.
This connector has no Full Upgrade Wizard.
Vision Software¶
Authentication tab: the API URL of the supplier’s web service, and the API Key (authcode).
Sync & Endpoints tab: the schedule (every 12 hours by default), and one switch per service of the API. Only the product list (Enable Cikklista (GetCikkekAuth)) and stage 2 (Enable Stage 2 (staging -> products)) are enabled by default; the product groups, barcodes, price list, price changes, stock, stock changes, invoices, attribute values, images, and sales prices per payment class can be enabled one by one. The supplier limits the number of calls per day of each service; the limit is indicated in the tooltip of each switch, and the time of the last call is displayed in Last Call Per Endpoint.
Vision Partner ID (PID) or Vision Partner Code: your customer identifier at the supplier, required by the price services.
The product list is requested incrementally: only the articles changed since the last successful call, minus a safety margin of GetCikkek Changed-Since Margin (days).
The raw answers of the optional services can be consulted under (prices, stock, barcodes, images, invoices, product groups, and attribute values). Some of these menus and field labels are displayed in Hungarian, the language of the supplier’s API.
The serial number management of the supplier’s articles is taken over as the tracking of the product (no tracking, by lots, or by unique serial number).
See also