PHPackages                             akeneo/icecat-connector - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. akeneo/icecat-connector

ActiveSymfony-bundle

akeneo/icecat-connector
=======================

Icecat connector for Akeneo PIM

v2.1.0(8y ago)104019[6 issues](https://github.com/FriendsOfAkeneo/IcecatConnector/issues)OSL-3.0PHPPHP &gt;=7.1

Since Mar 31Pushed 7y ago13 watchersCompare

[ Source](https://github.com/FriendsOfAkeneo/IcecatConnector)[ Packagist](https://packagist.org/packages/akeneo/icecat-connector)[ RSS](/packages/akeneo-icecat-connector/feed)WikiDiscussions master Synced today

READMEChangelog (6)Dependencies (7)Versions (24)Used By (0)

Icecat Connector extension
==========================

[](#icecat-connector-extension)

The Icecat Connector gives the capability to enrich Akeneo PIM product data with the rich Icecat Catalog. It can be used with both Open Icecat free catalog or Full Icecat paid catalog.

Requirements
------------

[](#requirements)

IcecatConnectorBundleAkeneo PIM Community Edition2.1.\*&gt;= v2.2 - &lt; 3.02.0.\*v2.0, v2.11.2.\*v1.7.\*1.1.\*v1.7.\*1.0.\*v1.6.\*The Akeneo PIM instance must be connected to the internet to be able to reach the Icecat XML web API.

Features
========

[](#features)

This extension allows to enrich an already existing catalog with Icecat catalog data. It does not import any structural content like categories or families. This way you keep control of your catalog structuration and are not tied to Icecat taxonomy.

To enrich your product with Icecat content, you will also need to have a unique attribute containing the product EAN. This attribute will be used to match Icecat products via their web API.

Existing Akeneo PIM attributes must also be mapped to Icecat features with a CSV file containing two main columns: the Akeneo attribute code and the corresponding Icecat feature ID. An import profile is provided by the extension to help in this mapping step.

Once this mapping is done, the products data will be fetched with a mass edit task using Icecat XML web API.

**Important**: This extension does not rely on Icecat taxonomy, and so there is no requirement or limitation on the Akeneo catalog structure. On the other hand, it is not possible to initialize an empty Akeneo PIM with this extension.

Configuration
-------------

[](#configuration)

[![Configuration screen](docs/img/icecat-config-01.png)](docs/img/icecat-config-01.png)

The connector provides a configuration screen to set some important informations:

- Icecat credentials. You can check these credentials in the configuration screen.
- Icecat product EAN: the product attribute containing the Icecat product EAN. This attribute must be unique.
- Description, Short Description, Summary Description, Short Summary Description: these are common data in the Icecat XML payload and they can be mapped to any Akeneo PIM text attribute.
- fallback\_locale: Icecat locale used for non localizable attributes in Akeneo.
- fallback\_channel: The target channel in Akeneo.

Import profiles
---------------

[](#import-profiles)

There are 3 differents imports profiles in this extension:

- `icecat_download_features`: a profile to download all Icecat features and prepare the attributes mapping CSV file.
- `icecat_import_features_mapping`: to upload the final attributes mapping CSV file.
- `icecat_enrich_products`: this profile can be used by a CRON task to enrich product content.

[![Import profiles](docs/img/icecat-import-01.png)](docs/img/icecat-import-01.png)

Installation
============

[](#installation)

Composer
--------

[](#composer)

First, you must require the connector dependencies:

```
composer require akeneo/icecat-connector 2.1.*
```

Registering the bundle
----------------------

[](#registering-the-bundle)

### Import routing file

[](#import-routing-file)

In `app/config/routing.yml`, add the following entry:

```
pim_icecat_connector:
    resource: "@PimIcecatConnectorBundle/Resources/config/routing.yml"
    prefix: /icecat
```

### Register dependencies

[](#register-dependencies)

The Icecat connector uses a new attribute type to store pictures url collection. You must then activate the dependencies bundles:

In `app/AppKernel.php`:

```
    protected function registerProjectBundles()
    {
        return [
            new \Pim\Bundle\ExtendedAttributeTypeBundle\PimExtendedAttributeTypeBundle(),
            new \Pim\Bundle\ExtendedMeasureBundle\PimExtendedMeasureBundle(),
            new \Pim\Bundle\IcecatConnectorBundle\PimIcecatConnectorBundle(),
        ];
    }
```

### Add new Mass Operation:

[](#add-new-mass-operation)

```
bin/console akeneo:batch:create-job "Akeneo Mass Edit Connector" "mass_edit_icecat_enrichment" "mass_edit" "mass_edit_icecat_enrichment"

```

In an Enterpise Edition context, you must also add the corresponding permissions: [https://docs.akeneo.com/2.2/manipulate\_pim\_data/mass\_edition/register\_a\_new\_mass\_edit\_action.html#phase-6-add-user-groups-permissions-to-job-profiles-enterprise-edition](https://docs.akeneo.com/2.2/manipulate_pim_data/mass_edition/register_a_new_mass_edit_action.html#phase-6-add-user-groups-permissions-to-job-profiles-enterprise-edition)

To facilitate this configuration, the bundle provides a `bin/setup.bash` to make this operations in one command line.

### Mapping between Icecat locales and PIM locales

[](#mapping-between-icecat-locales-and-pim-locales)

By default, content in specific language are set into one locale. Here is the existing mapping:

Icecat localePIM LocaleZH\_TWzh\_TW (Chinese - traditional))EN\_SGen\_SG (Singapore English)EN\_INen\_IN (Indian English)DE\_CHde\_CH (Swiss German)INTnull (International standardized version)ENen\_GB (Standard or UK English)USen\_US (US English)NLnl\_NL (Dutch)FRfr\_FR (French)DEde\_DE (German)ITit\_IT (Italian)ESes\_ES (Spanish)DKda\_DK (Danish)RUru\_RU (Russian)PTpt\_PT (Portuguese)BRpt\_BR (Brazilian Portuguese)ZHzh\_CN (Chinese (simplified))SEsv\_SE (Swedish)PLpl\_PL (Polish)CZcs\_CZ (Czech)HUhu\_HU (Hungarian)FIfi\_FI (Finnish)NOnn\_NO (Norwegian)TRtr\_TR (Turkish)BGbg\_BG (Bulgarian)KAka\_GE (Georgian)ROro\_RO (Romanian)SRsr\_RS (Serbian)JAja\_JP (Japanese)UKuk\_UA (Ukrainian)CAca\_ES (Catalan)HRhr\_HR (Croatian)ARar\_SA (Arabic (Saudi Arabia))VIvi\_VN (Vietnamese)HEhe\_IL (Hebrew)KOko\_KR (Korean)LTlt\_LT (Lithuanian)LVlv\_LV (Latvian)IDid\_ID (Indonesian)SKsk\_SK (Slovakian)### Update the DB schema

[](#update-the-db-schema)

One way to this is using the command `bin/console doctrine:schema:update`. You will have to specify an option for this command:

- `dump-sql` will show you the changes without applying them.
- `force` will apply the changes.

(optional) Fixtures examples
----------------------------

[](#optional-fixtures-examples)

This extension provides examples fixtures for attributes and family. They are meant to be used in conjunction with the PimInstallerBundle:icecat\_demo\_dev.

Once your application is installed with the `icecat_demo_dev` data, you can load these attributes and family with the shipped import profiles `attributes_csv_import` and `family_csv_import`.

Build attributes mappings
-------------------------

[](#build-attributes-mappings)

This is a big setup step. The operation consists in mapping Akeneo attributes on Icecat features. This can be splitted in three steps:

- download the full Icecat features CSV file. It provides an empty CSV file ready for the mapping.
- map needed features ID with Akeneo attributes codes in the CSV file. This step can be very long if you have many attributes to map.
- upload the CSV mapping.

You will find more documentation on mapping in the [docs folder](docs/mapping.md).

Enrich products
---------------

[](#enrich-products)

The extension provides an `icecat_enrich_products` job that can be used manually or in a cron task via a dedicated import profile. This import profile will check all products with an Icecat EAN attribute and call the Icecat API to get the data.

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance8

Infrequent updates — may be unmaintained

Popularity22

Limited adoption so far

Community21

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor1

Top contributor holds 56.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~17 days

Recently: every ~30 days

Total

22

Last Release

2973d ago

Major Versions

v0.1-alpha → v1.1.02017-05-16

v1.2.2 → v2.0.02017-11-10

v1.2.3 → v2.0.12017-11-15

1.2.x-dev → v2.0.22017-12-06

PHP version history (2 changes)v0.1-alphaPHP &gt;=5.6.0

v2.0.0PHP &gt;=7.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/53fc15ef07d3658544b57f07d0616c1d63ef4607d95200ce69d17ffa3459f349?d=identicon)[jmleroux](/maintainers/jmleroux)

![](https://www.gravatar.com/avatar/307250bdb6545909b128061d967bd724d7174c4ad775390585ac1927c6110747?d=identicon)[akeneo](/maintainers/akeneo)

---

Top Contributors

[![jmleroux](https://avatars.githubusercontent.com/u/1516770?v=4)](https://github.com/jmleroux "jmleroux (70 commits)")[![mmetayer](https://avatars.githubusercontent.com/u/5301298?v=4)](https://github.com/mmetayer "mmetayer (36 commits)")[![fitn](https://avatars.githubusercontent.com/u/2131005?v=4)](https://github.com/fitn "fitn (14 commits)")[![ClementGautier](https://avatars.githubusercontent.com/u/660091?v=4)](https://github.com/ClementGautier "ClementGautier (2 commits)")[![akeneo-ci](https://avatars.githubusercontent.com/u/3511252?v=4)](https://github.com/akeneo-ci "akeneo-ci (1 commits)")[![igormukhingmailcom](https://avatars.githubusercontent.com/u/6544038?v=4)](https://github.com/igormukhingmailcom "igormukhingmailcom (1 commits)")

###  Code Quality

TestsPHPUnit

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/akeneo-icecat-connector/health.svg)

```
[![Health](https://phpackages.com/badges/akeneo-icecat-connector/health.svg)](https://phpackages.com/packages/akeneo-icecat-connector)
```

###  Alternatives

[neuron-core/neuron-ai

The PHP Agentic Framework.

1.8k245.3k21](/packages/neuron-core-neuron-ai)[tencentcloud/tencentcloud-sdk-php

TencentCloudApi php sdk

3731.2M42](/packages/tencentcloud-tencentcloud-sdk-php)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

255.2k](/packages/aedart-athenaeum)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
