To integrate HP’s catalog into Odoo, connect Odoo to HP’s HermesWS business-to-business API over a secure mutual-TLS connection and run scheduled imports.

Those imports pull products, specifications, images, rich media, datasheets and cross-sells, rebuild the storefront filters from HP’s own taxonomy, and publish or unpublish items automatically based on price and lifecycle dates.

This replaces the manual work of maintaining a catalog of more than 12,000 items that changes constantly.

Key takeaways

  • HP’s catalog runs to more than 12,000 items and changes continuously, which makes manual maintenance impossible to keep updated.
  • Odoo connects to HP’s HermesWS B2B API using a mutual-TLS (certificate-authenticated) client, configured per company.
  • Scheduled jobs import products, images, videos, datasheets, cross-sells, and HP’s filter taxonomy.
  • Products publish only once they have a price, and unpublish automatically on lifecycle dates or a zero price.
  • An interrupted import resumes from a saved checkpoint instead of restarting the whole catalog.
  • Every run is logged, so failures are caught by the catalog team rather than by a customer.

This article explains how to integrate that catalog into Odoo so it stays accurate on its own. It is based on a real integration built for an HP reseller running Odoo eCommerce, and the same approach applies to any manufacturer that exposes a B2B product API.

HP Catalog Integration with Odoo: The problem vs. the solution

Maintaining HP’s catalog by handWith the Odoo + HermesWS integration
Specs, copy, images, videos and datasheets entered or attached manuallyImported automatically on a schedule
Cross-sell and compatibility links not maintainedCompanion products imported as cross-sells
Storefront filters built by handFilters rebuilt from HP’s own product taxonomy
Products reach the shop before they have a priceNothing publishes without a price
Retired products stay live after HP drops themAuto-unpublished on lifecycle date or zero price
A failed run is invisible until a customer finds itEvery run is logged and failures are surfaced
An interrupted run restarts the whole catalogA checkpoint resumes it where it stopped

How do you integrate HP’s catalog into Odoo?

Connect Odoo to HP’s HermesWS B2B API over a secure mutual-TLS connection and run scheduled imports, so the catalog syncs automatically instead of being entered by hand.

In the reseller’s build, Odoo authenticates to HermesWS with a mutual-TLS client, meaning both sides present certificates so the connection is trusted and secure.

Certificate paths, the base URL and timeouts are configured per company, and a built-in connection test reports the true result of the handshake, so the team confirms the link is live before any import runs.

From there, scheduled jobs pull the catalog and its content into Odoo on a timer.

Can Odoo connect to a manufacturer’s product API automatically?

Yes. Odoo can be extended to call a manufacturer’s B2B API on a schedule and import products, content and lifecycle data with no manual work.

A scheduled catalog import pulls catalog items and their full product content: specifications, overview and marketing copy, the product hierarchy, and lifecycle dates.

Because it runs on a timer, the catalog in Odoo tracks the manufacturer’s catalog continuously instead of drifting out of date between manual updates.

This is the difference between a one-time product import, which is a snapshot, and a real integration, which is a living connection.

What product data gets imported from HP into Odoo?

Everything behind the storefront: core product data, media, documents and product relationships, each handled by its own scheduled job.

  • Core product data: specifications, overview copy, product hierarchy and lifecycle dates.
  • Images and rich media: product images, banners, videos and highlight content.
  • Partner documents: datasheets and manuals attached to each product.
  • Companion products: cross-sell and compatibility relationships between items.

Splitting these into separate jobs matters at scale. A catalog of 12,000 products with full media and documents is a large amount of data, and running each content type on its own schedule keeps the import resilient rather than one enormous job that fails as a whole.

How do you build Odoo storefront filters from HP’s taxonomy?

The integration takes HP’s filter facets and rebuilds them as Odoo storefront facets, so the shop’s filters are HP’s real taxonomy rather than a hand-built copy.

It applies per-product facet values and key specification back-fills, so the filter sidebar reflects HP’s actual product classification. This solves a quiet but real problem: hand-maintained filters slowly diverge from the catalog, and customers cannot find products that are genuinely in stock.

Driving the filters from the manufacturer’s taxonomy keeps browsing accurate as the catalog changes.

How do you stop unpriced or discontinued products from showing in the shop?

Publishing is driven by price and lifecycle dates. Nothing publishes without a price, and anything live at a zero price or past its lifecycle is unpublished automatically.

This closes the two most damaging catalog errors directly. A customer can never land on a product with no price, and the shop never keeps selling something HP has retired, because publish and unpublish follow the data itself rather than someone remembering to act.

What happens if a catalog import fails partway through?

It resumes. Every job saves a checkpoint, so an interrupted run continues where it stopped instead of re-importing all 12,000 items.

Connection pooling and retry are sized for a multi-threaded import, and writes are batched for throughput, so the integration moves a large catalog quickly and recovers cleanly from interruptions.

For a catalog this size, a run that cannot resume either wastes hours repeating work or leaves the shop half-updated, and both are exactly the failures the integration removes.

How does the team know an import actually worked?

Every run writes import logs and issue records showing what HP returned, what was written into Odoo, and what failed, so problems are visible immediately.

The catalog team sees the true state of each import on a screen, rather than discovering a problem when a customer reports it.

The storefront presentation follows the same principle: product tabs, review content and shop templates are driven from the imported data, so the way products appear updates automatically with the catalog.

What an HP reseller gains from integrating the catalog into Odoo

  • A catalog that stays current on its own, across specifications, media, documents and cross-sells.
  • Storefront filters that match HP’s taxonomy, so customers can actually find products.
  • No unpriced or discontinued products live, because publishing follows lifecycle dates and price.
  • Imports that recover from failure and resume where they stopped, even across 12,000 items.
  • Full visibility into every run, so failures are caught by the team, not by customers.
  • A storefront that presents itself, with tabs, media and templates driven from the imported data.

Do you resell from HP or another manufacturer’s catalog on Odoo? Book a walkthrough and we will map how your catalog, media and storefront can stay current automatically.

More questions about HP Catalog Integration with Odoo

Is HP Catalog Integration with Odoo available out-of-the-box?

No. It is a custom integration built onto Odoo for HP’s HermesWS API. Standard Odoo can import products from spreadsheets, but it does not connect to a manufacturer’s B2B API, pull rich media and documents, or drive publishing from lifecycle dates on its own.

Can the same approach integrate catalogs from manufacturers other than HP?

Yes. The same pattern, a secure API client plus scheduled content jobs and lifecycle-based publishing, works for any manufacturer or supplier that exposes a business-to-business product API.

How often does the HP catalog update in Odoo?

On a configurable schedule, with separate jobs for core product data, images and rich media, documents, and cross-sells, so each content type can run at its own cadence.