SkillAgentSearch skills...

OroAkeneoBundle

Connector between OroCommerce Enterprise and Akeneo PIM Enterprise

Install / Use

/learn @oroinc/OroAkeneoBundle
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Akeneo PIM OroCommerce Connector

New maintainer

We would like to inform you about the recent transfer of repository maintenance responsibility from OroInc to Creativestyle. This transition aims to enhance the development and support of OroInc projects, providing a seamless experience for users and contributors.

Short overview

This extension allows you to connect OroCommerce Enterprise with Akeneo PIM Enterprise and use the latter’s rich capabilities for product information management with your OroCommerce-powered web store. Combine personalized B2B buying experience with compelling product experience to maximize your content marketing ROI and stay ahead of the B2B eCommerce game.

Description

Akeneo is a Product Information Management (PIM) solution that provides a single place to collect, manage, and enrich your product information, create a product catalog, and distribute it to your sales and eCommerce channels. In integration with OroCommerce, Akeneo makes it faster and easier to create and deliver compelling product experiences to your online customers.

With this extension, you will be able to sync the following data from Akeneo to OroCommerce:

  • Attributes and attribute options
  • Attribute families and attribute family groups
  • Configurable products, simple products & all product data from supported attributes
  • Categories and category trees

Compatibility

| Connector | Status | OroCommerce | Akeneo | |-----------|--------|-------------|----------------| | 1.6 | EOL | 1.6 | 2.3, 3.2, 4.0* | | 3.1 | EOL | 3.1 | 2.3, 3.2, 4.0* | | 4.1 | EOL | 4.1 | 2.3, 3.2, 4.0* | | 4.2 | EOL | 4.2 | 3.2, 4.0, 5.0 | | 5.0 | 2023 | 5.0 | 5.0+ | | 5.1 | 2024 | 5.1 | 5.0+ |

** Akeneo supported using older client versions, new features are not available.**

Installation

  1. Add composer package
composer require "oro/commerce-akeneo:5.0.*"
  1. Follow Setup Guide

  2. Configure Message Queue

** Recommended time limit option values is 30 seconds --time-limit=+30seconds

Schema

Make sure you don't have any pending Schema Update changes or entity and migration inconsistencies:

> php bin/console --env=prod doctrine:schema:update --dump-sql

[OK] Nothing to update - your database is already in sync with the current entity metadata.

OroCloud

Application Schema Update

Add temporary files cleanup using Scheduled Tasks

orocloud_options:
  schedule:
    clear_akeneo_temp_files:
      command: 'find /mnt/ocom/app/www/var/data/importexport/akeneo/ -type f -mtime +7 -delete'
      minute: '0'
      hour: '7'
      month: '*'
      monthday: '*/7'
      weekday: '*'

Dataset

Connector supports and tested on the next dataset:

  • Locales: 4
  • Currencies: 2
  • Catalogs:
    • Levels: 4, children: 1000
    • Levels: 4, children: 1000
  • Attribute Groups: 15 per Attribute Family
  • Attributes: 400, 5% localizable, 2% scopable, 1% localizable and scopable, 100% usable in grid
  • Attribute Families: 50, up to 100 Attributes per Attribute Family
  • Products: 50000, including images

Setting up the Integration on the Oro Side

Create a new integration to start synchronizing data from Akeneo to OroCommerce.

  1. In OroCommerce, navigate to "System > Integrations > Manage Integrations" in the main menu and click "Create Integration".
  2. Select "Akeneo" for Type to load additional integration-related fields to finish the configuration.
  3. In the "General" section, specify the name for the integration (e.g., Akeneo) and the following credentials required for successful connection to Akeneo API:
    • Akeneo URL - the address of your Akeneo account.
    • User ClientId - an identifier that authenticates your account. To create the ID, go to "System > Connections" in the Akeneo application.
    • User Secret - a key that is generated in "System > Connections" of the Akeneo application.
    • Akeneo Username - the name that the administrator will use to log into the Akeneo application.
    • Akeneo Password - the password that the admin will use to log into the Akeneo application.
  4. Click "Check Akeneo Connection" once you have filled in all the settings fields. A corresponding message pops up when the connection fails/is successful.
  5. If the connection is established successfully, the following fields get populated with the settings retrieved from Akeneo. In case of connection failure, the fields remain unchanged.
    • Channel - The Akeneo-specific data source. Each channel has a certain set of properties that define which data should be included in the channel. By selecting the desired channel, you request the data (products, currencies, or locales) associated with this specific channel. For example, the list of products or product descriptions in English may differ significantly from channel to channel.

      If some data of the selected channel has been changed after the initial synchronization, click "Refresh Channels" to reset the current configuration and retrieve the newly updated data from Akeneo.

    • Sync Products - The setting that defines which product type you want to synchronize. By default, we sync all products, bu you can choose to sync only the published ones by selecting the corresponding option.

    • Product Unit Attribute Name - Text attribute from Akeneo which contains product unit name.

    • Product Unit Precision Attribute Name - Numeric attribute from Akeneo which contains unit precision.

    • Currency - The currency options retrieved from Akeneo. If some currency is unavailable in OroCommerce, it will not be imported. Select one or several currencies for your products from the list. In case of no currency selected, the corresponding error message pops up that will require you to choose at least one currency.

      If the currency has been updated since the initial synchronization, click "Refresh Channels" to reset the current configuration and retrieve the newly updated data from Akeneo.

    • Locales - The setting that defines how the Akeneo locales on the left will be mapped to the OroCommerce ones on the right. It is possible to set any mapping behavior, such as EN. to EN., or FR. to EN.

      Note: Keep in mind that you cannot map the same locale multiple times or leave the field blank. So if you do not have the appropriate Oro locale to match the Akeneo locale, you can configure or enable it following the localization guide in the Oro documentation.

      If the locales have been updated since the initial synchronization, click "Refresh Channels" to reset the current configuration and retrieve the newly updated data from Akeneo.

    • Root Category - The root content node in the Oro application where you import the categories from Akeneo. You can create a specific parent category in the master catalog that would store all the categories uploaded from Akeneo. Select this category from the dropdown list.

    • Price List - The price list to which you will import the prices from Akeneo. This price list will help distinguish the Akeneo prices from those of other price lists provided that a product has several price options. Select the necessary pricelist from the dropdown list or create a new one directly from the integration page by clicking "+" next to the list.

    • Product Filter - The filter that enables you to embed the necessary code that would sync only the products you desire. As this filter is passed via API request, it must be filled in JSON format. More details on the format and filter options available for the products can be found in the Filters section of the Akeneo PIM documentation.

      Note: Your input is validated on the go. If you get a validation warning, ensure to correct the code or any issues reported.

    • Attribute Filter - The filter that enables you to limit the list of imported attributes. Values must be attribute code, separated with a semi-colon.

      Example: sku;descr;price;custom

      Note: if not defined before to save the integration, all attributes will be imported.

    • Image Attribute Filter - The filter that enables you to limit the list of imported image attributes. Values must be attribute code, separated with a semi-colon.

      Example: image;picture

      Note: The filter extends Attribute Filter, no need to list attribute codes twice.

    • Merge Images From Simple Products To Configurable Product: Copy images from Simple products to their Configurable parent products.

    • Multilevel Products - Enable or disable separate configurable products created from two levels product model (the 1st one a "root product model" and the 2nd one a "sub product model" in Akeneo).

    • Attributes Mapping - Mappings to copy values from Akeneo attributes to system or custom Product Attributes.

      Example 1: name:names; - name (text) attribute from Akeneo imported as Product Attribute Akeneo_name and additionaly copied to names Product Attribute.

      Example 2: description:descriptions; - description (text) attribute from Akeneo imported as Product Attribute Akeneo_description and additionaly copied to descriptions Product Attribute.

      Example 3: meta_titles:metaTitles; - meta_titles (text) attribute from Akeneo imported as Product Attribute `Akeneo_met

Related Skills

View on GitHub
GitHub Stars8
CategoryDevelopment
Updated1mo ago
Forks20

Languages

PHP

Security Score

70/100

Audited on Mar 4, 2026

No findings