PHPackages                             bymayo/akeneo - 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. bymayo/akeneo

ActiveCraft-plugin

bymayo/akeneo
=============

Akeneo is a Craft CMS plugin that syncs products and data from Akeneo PIM (https://akeneo.com) into Craft CMS.

1.0.4(2mo ago)020proprietaryPHPPHP &gt;=8.2CI passing

Since Feb 16Pushed 2mo agoCompare

[ Source](https://github.com/bymayo/craft-akeneo)[ Packagist](https://packagist.org/packages/bymayo/akeneo)[ RSS](/packages/bymayo-akeneo/feed)WikiDiscussions craft-5 Synced 1mo ago

READMEChangelog (5)Dependencies (3)Versions (7)Used By (0)

[![](https://github.com/bymayo/craft-akeneo/raw/craft-5/resources/icon.png)](https://github.com/bymayo/craft-akeneo/blob/craft-5/resources/icon.png)

Akeneo for Craft CMS 5
======================

[](#akeneo-for-craft-cms-5)

Akeneo is a Craft CMS plugin that syncs products and data from [Akeneo PIM](https://www.akeneo.com/) into Craft CMS.

[![](https://raw.githubusercontent.com/bymayo/craft-akeneo/craft-5/resources/screenshot.png)](https://raw.githubusercontent.com/bymayo/craft-akeneo/craft-5/resources/screenshot.png)

Features
--------

[](#features)

- **Source Management** - Create multiple sources to sync different Akeneo product sets into different Craft sections or Commerce product types
- **Field Mapping** - Map Akeneo attributes to Craft fields with support for plain text, numbers, dropdowns, dates, table fields, matrix fields and asset fields
- **Asset Syncing** - Download and sync Akeneo asset collections into Craft asset fields, respecting each field's volume configuration
- **Multi-Asset Support** - Asset fields that allow multiple assets can be mapped to multiple Akeneo asset collections
- **Entries &amp; Categories** - Map Akeneo attributes to Entries and Categories fields with automatic creation of missing entries and categories
- **Commerce Variants &amp; Prices** - Sync variant title, SKU and price to the default variant on Commerce product types
- **Static Values** - Set static values on mapped fields instead of pulling from Akeneo
- **Product Filters** - Filter which Akeneo products are imported using attribute-based search filters (equals, contains, in, between, empty, etc.)
- **Per-Source Locale** - Choose which Akeneo locale to pull attribute values from per source (e.g. `en_GB`, `en_US`)
- **Multi-Site Support** - Import entries into a specific Craft site per source
- **Orphaned Entry Handling** - Automatically disable or delete Craft entries that no longer exist in Akeneo after a sync
- **Custom Queue** - Optionally run sync jobs on a dedicated queue with configurable priority and TTR
- **Permissions** - Control access to sources, dashboard widgets and cache clearing with granular user permissions
- **Dashboard Widget** - Trigger syncs directly from the dashboard with options for all data, data only, or images only
- **Console Commands** - Run syncs from the terminal or cron jobs
- **Connection Test** - Verify your Akeneo API connection from the settings page

NOTE: This plugin only imports products and data from Akeneo. It does not export data to Akeneo.

Install
-------

[](#install)

- Install with Composer via `composer require bymayo/akeneo` from your project directory
- Enable / Install the plugin in the Craft Control Panel under `Settings > Plugins`
- Configure the API settings under `Settings > Plugins > Akeneo`

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

[](#requirements)

- Craft CMS 5.x
- PHP 8.2
- MySQL (No PostgreSQL support)

Setup
-----

[](#setup)

### 1. Configure API Settings

[](#1-configure-api-settings)

Navigate to `Settings > Plugins > Akeneo` and enter your Akeneo PIM API credentials:

SettingDescriptionAPI URLThe base URL of your Akeneo PIM instanceClient IDThe Akeneo API client IDSecret KeyThe Akeneo API secret keyUsernameThe Akeneo API usernamePasswordThe Akeneo API passwordAll credential fields support environment variables.

A connection status indicator at the top of the settings page will confirm if your credentials are valid.

### 2. Create a Source

[](#2-create-a-source)

Navigate to the Akeneo section in the CP sidebar and click `New Source`:

1. Give the source a **Name**
2. Select the **Type** (Craft Section or Commerce Product Type)
3. Set the **Orphaned Entry Action** (Do Nothing, Disable, or Delete)
4. Choose an **Entry Identifier** field for matching existing entries during sync (e.g. SKU)
5. Select the **Akeneo Locale** to pull attribute values from
6. Optionally select a **Site** to import entries into
7. Optionally add **Product Filters** to limit which products are synced

### 3. Map Fields

[](#3-map-fields)

After saving the source, navigate to the **Field Mapping** tab. Map each Craft field to an Akeneo attribute, a static value, or leave unmapped.

Supported field types:

- Plain Text
- Number
- Email
- URL
- Dropdown
- Radio Buttons
- Lightswitch
- Color
- Date
- Money
- Table
- Matrix (with nested field mapping)
- Assets (single and multi-select)
- Entries (auto-creates missing entries)
- Categories (auto-creates missing categories)

#### Commerce Variant Fields

[](#commerce-variant-fields)

When the source type is a Commerce product type, the following special fields can be mapped to sync the default variant:

- Variant Title
- SKU
- Price

### 4. Run a Sync

[](#4-run-a-sync)

Syncs can be triggered from:

- **Source list** - Sync All, Sync Data, or Sync Images buttons per source
- **Dashboard widget** - Add the Akeneo Product Sync widget
- **Console commands** - See below

Console Commands
----------------

[](#console-commands)

Each source has a **Console Commands** tab with copy-paste ready commands (Replacing source=1 with your source ID):

```
php craft akeneo/sync/all --source=1
php craft akeneo/sync/data-only --source=1
php craft akeneo/sync/images-only --source=1

```

Permissions
-----------

[](#permissions)

The plugin registers three permissions under `Settings > Users > Permissions`:

PermissionDescriptionManage SourcesAccess and manage Akeneo sources in the control panelView WidgetsView and add Akeneo sync widgets on the dashboardClear CacheClear Akeneo attribute and locale cachesCustom Queue
------------

[](#custom-queue)

By default, sync jobs run on the default Craft queue. Enable **Custom Queue** in the Queue settings tab to run them on a dedicated `akeneo` queue channel instead.

When enabled, run the worker as a separate process:

```
php craft akeneo-queue/listen

```

This prevents long-running syncs from blocking other Craft queue jobs.

To manage and monitor the custom queue from the control panel, we recommend installing the [Custom Queue Manager](https://plugins.craftcms.com/custom-queue-manager) and [Queue Monitor](https://plugins.craftcms.com/queue-monitor) plugins.

Config File
-----------

[](#config-file)

You can override plugin settings by creating a `config/akeneo.php` file in your Craft project:

```
