PHPackages                             balance/akeneo-import-export-acl - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. balance/akeneo-import-export-acl

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

balance/akeneo-import-export-acl
================================

Import / Export ACL Bundle

2281PHP

Since Apr 26Pushed 10y ago4 watchersCompare

[ Source](https://github.com/balanceinternet/akeneo-import-export-acl)[ Packagist](https://packagist.org/packages/balance/akeneo-import-export-acl)[ RSS](/packages/balance-akeneo-import-export-acl/feed)WikiDiscussions master Synced 4w ago

READMEChangelogDependenciesVersions (1)Used By (0)

### Import / Export ACL Bundle

[](#import--export-acl-bundle)

#### Background

[](#background)

Akeneo have quite flexible settings to configure access level (ACL) to various entities like categories, attributes groups, locales. Frontend is covered fully with this functionality, however, import/export functionality doesn't take into account ACL configuration

As a result any user is able to export/import any data even without having access to it.

Also, a user's access to a product is based on the user's access to the categories the product is assigned to (eg. Category ACL configuration). It means that you can view/edit products only if you have access to a specific category.

However, products not assigned to any category are accessible for every user. We are thinking that a product shouldn't be without category, as then there is not way to define the owner of the product.

#### Solution

[](#solution)

We have implemented ACL support for Import product connector (v1) We have added two settings (widely) to a product import profile

1. Allow import of products which are not associated with any category (the setting described above)
2. Allow import partial data

- skip import of attributes where user does not have access
- skip attributes which do not exist
- skip import locale where user does not have access
- skip import products where user does not have access to category (checking both sides, current category in PIM and category in import file)

Appropriate notifications have been added, like:

- user does not have rights to edit the product
- user does not have rights to edit attributes (list)
- category must be filled

The implemented functionality cover missing ACL part for product import

#### Roadmap

[](#roadmap)

- implement the same approach for export and quick export
- implement ACL support for other import/export connectors like associations

#### Usage for Enterprise and Community versions

[](#usage-for-enterprise-and-community-versions)

##### Enterprise

[](#enterprise)

- All functionality above is usable for Enterprise edition

##### Community

[](#community)

- Community version doesn't have ACL, so the whole permissinons settings/functionality has no use
- Setting "Allow import products which not accosiated with any category" - will be definately used for the Community edition
- Setting "Allow import partial data" (skip attributes, which don't exist) - will be definately used for the Community edition as it gives possibility to use import files with unknown columns(attributes) for Akeneo, currently the user should cut off all columns which doesn't exist in Akeneo, otherwise the import will fall

#### Installation

[](#installation)

Step 1. Use as dependency in composer

```
composer require balance/akeneo-import-export-acl

```

Step 2. Add 3 lines into `/app/AppKernel.php`, into function registerBundles

`$bundles[] = new Balance\Bundle\ConnectorBundle\BalanceConnectorBundle();`

`$bundles[] = new Balance\Bundle\CatalogBundle\BalanceCatalogBundle();`

`$bundles[] = new Balance\Bundle\SecurityBundle\BalanceSecurityBundle();`

Step 3. Clear cache, execute the command: `php console cache:clear --env=prod`

Step 4. Fix folder rights, if so: `chmod 777 app/cache -R`

Step 5. Enjoy!

#### Test Cases

[](#test-cases)

4 Test cases have been documented with Test import data.

- [Test Case 1](tests/Test1.md)
- [Test Case 2](tests/Test2.md)
- [Test Case 3](tests/Test3.md)
- [Test Case 4](tests/Test4.md)

###  Health Score

22

—

LowBetter than 21% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/216815?v=4)[balance](/maintainers/balance)[@balance](https://github.com/balance)

---

Top Contributors

[![maximbaibakov](https://avatars.githubusercontent.com/u/876516?v=4)](https://github.com/maximbaibakov "maximbaibakov (3 commits)")

### Embed Badge

![Health badge](/badges/balance-akeneo-import-export-acl/health.svg)

```
[![Health](https://phpackages.com/badges/balance-akeneo-import-export-acl/health.svg)](https://phpackages.com/packages/balance-akeneo-import-export-acl)
```

###  Alternatives

[axelarge/array-tools

Array tools for PHP 5.3

136.4k1](/packages/axelarge-array-tools)

PHPackages © 2026

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