# A single catalogue built from several suppliers

> A distributor of customisable promotional items worked with several European suppliers, each with its own catalogue format, its own photos, and its own stock logic.

- Source canonique : [https://allaux.fr/en/realisations/catalogue-multifournisseurs-b2b](https://allaux.fr/en/realisations/catalogue-multifournisseurs-b2b)
- Langue : EN
- Dernière mise à jour : 2026-09-30

## The context

The store sold customisable promotional items to business customers. The actual catalogue didn't come from one place: several European suppliers in the sector each provided their own references, with different exchange formats, category naming that didn't line up from one supplier to another, and varying update frequencies. Managing that by hand, supplier by supplier, would have taken a full-time person just to keep the catalogue current.

The goal was a single catalogue, consistent for the end customer, without the multiplicity of sources showing on the storefront.

## What I did

1. **Reviewed the supplier sources** — Analysed the APIs and feeds available from each supplier, including their quirks: separate authentication, different pagination, availability fields that weren't always reliable.
2. **Built a normalisation layer** — Developed a PrestaShop module that translates each supplier's format into a shared data model before it's imported into the catalogue.
3. **Mapped the categories** — Set up a mapping table between each supplier's own categories and the single category tree shown to customers.
4. **Deduplicated near-identical references** — Detected identical or near-identical products offered by several suppliers, to avoid showing the same item twice under two separate listings.
5. **Scheduled synchronisation** — Set up scheduled tasks that pull stock and prices at regular intervals, logging any discrepancies detected.

## What required the most care

- **Stock reliability** — Some suppliers report availability that doesn't always reflect reality at the point of order: the module flags the discrepancies instead of hiding them.
- **Consistency of product pages** — Descriptions and technical specifications arrive in inconsistent formats, with units and labels that needed harmonising.
- **Resilience to supplier outages** — A supplier that's temporarily unavailable shouldn't block synchronisation for the others or break the existing catalogue.

## Outcome

> The catalogue updates itself without manual intervention supplier by supplier, keeping a consistent presentation for the customer despite the variety of sources.

## FAQ

### How many suppliers can be integrated this way?

The principle stays the same regardless of the number of suppliers: each one passes through its own normalisation layer before feeding the shared catalogue. Complexity grows mainly with format diversity, not with the count.

### What happens if a supplier changes its exchange format?

Only the normalisation layer specific to that supplier needs to be adapted. The rest of the catalogue and the other sources aren't affected.

### How are duplicates between suppliers handled?

A matching process based on references and key specifications detects identical or near-identical products, with manual arbitration possible for ambiguous cases.

### Can the catalogue evolve after going into production?

Yes, adding another supplier or removing an existing source doesn't call the underlying architecture into question.
