Search by

atlas-services / sylius-akeneo-plugin

atlas-services

Lightweight Sylius ↔ Akeneo PIM connector (REST Connection, NDJSON dump, incremental sync).

Package info

github.com/atlas-services/sylius-akeneo-plugin

Type:sylius-plugin

pkg:composer/atlas-services/sylius-akeneo-plugin

Statistics

Installs: 11

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v0.1.5 2026-08-09 16:14 UTC

This package is auto-updated.

Last update: 2026-09-09 16:20:56 UTC


README

Import catalog data from Akeneo PIM into a Sylius store.

This plugin stays intentionally small: connection, dump, sync, and a basic product import. Project-specific mapping (attributes, prices, variants) belongs in your application — catalogs differ too much for one generic mapper to cover every case.

What it does

  • OAuth connection to Akeneo (REST API)
  • Full or incremental catalog fetch (NDJSON under var/akeneo/)
  • Import of simple products, categories, localized name/description, and asset images
  • Fixture suite akeneo for an empty shop ready for PIM data
  • Console commands for bootstrap, fetch, and import

What it does not do (yet)

  • Product models / configurable products
  • Automatic Akeneo price → Sylius channel pricing
  • Admin UI or attribute mapping screens

Requirements

  • PHP 8.2+
  • Sylius 2.2+

Installation

composer require atlas-services/sylius-akeneo-plugin
php vendor/bin/apply-recipe-akeneo

apply-recipe-akeneo registers the bundle in config/bundles.php and appends the AKENEO_* defaults to .env.
(It will no longer be needed once a Flex recipe is published.)

With Docker:

docker compose exec php composer require atlas-services/sylius-akeneo-plugin
docker compose exec php php vendor/bin/apply-recipe-akeneo

Put credentials in .env.local:

AKENEO_PIM_URL=https://your-pim.cloud.akeneo.com
AKENEO_CLIENT_ID=
AKENEO_CLIENT_SECRET=
AKENEO_USERNAME=
AKENEO_PASSWORD=

# Optional. Leave empty to use the only Sylius channel and its locales.
AKENEO_SYLIUS_CHANNEL=
AKENEO_LOCALES=

Usage

New shop (empty catalog, then admin user):

bin/console atlas:akeneo:init
bin/console sylius:admin-user:create
bin/console atlas:akeneo:import-catalog --fetch

With Docker Compose:

docker compose exec php bin/console atlas:akeneo:init
docker compose exec php bin/console sylius:admin-user:create
docker compose exec php bin/console atlas:akeneo:import-catalog --fetch

Existing shop: install the plugin, set AKENEO_*, then run the import. Do not use atlas:akeneo:init --drop on a database you care about.

Useful options:

bin/console atlas:akeneo:init --drop
bin/console atlas:akeneo:fetch-catalog
bin/console atlas:akeneo:import-catalog --fetch
bin/console atlas:akeneo:import-catalog --incremental --no-images
bin/console atlas:akeneo:import-catalog --images-only --replace-images

The akeneo fixture suite creates locales (fr_FR, en_US), EUR, a category menu taxon, and a channel (WEB or AKENEO_SYLIUS_CHANNEL). No products.

License

MIT. See LICENSE.

Developed by Atlas Services.