📊 State of Magento 2025

The Home for Magento 2 Excellence

Quality-tested Magento 2 modules. Explore. Evaluate. Elevate. #magento2

613 Modules
401 Ready
211 Need Help
🏆 Leaderboard
Stale v1.1.9

Logistic

ph2m/logistic

Manages product and stock imports via console commands. Allows creation of custom import/export classes for other data types with configurable file paths and patterns.

12,722
Downloads
Below average
9
GitHub Stars
Below average
2y ago
Last Release
3
Open Issues
Build Issues
0/3 checks passed

Build Tests

Composer Install
DI Compile
Templates

Code Quality

CS Coding Standard
PHPStan

Tested on Magento 2.4.8-p3

Recent Test History

Each release is tested against the latest Magento version at that time.

v1.1.9 on Magento 2.4.8-p3
Dec 28, 2025

Looking for Contributors

Composer installation fails. Your contribution could help the entire Magento community!

Contribute

Share This Module's Status

Logistic Magento compatibility status badge

README

Loaded from GitHub

PH2M_Logistic

Manage your imports / exports.

Requirements

Magento >= 2.1.0

Installation

composer config repositories.firegento_extendedimport2 vcs https://github.com/firegento/FireGento_ExtendedImport2
composer require ph2m/logistic
bin/magento module:enable FireGento_FastSimpleImport FireGento_ExtendedImport PH2M_Logistic
bin/magento setup:upgrade

Console commands

You can launch the imports by typing the following commands:

# Products import
bin/magento logistic:import:products

# Stocks import
bin/magento logistic:import:stocks

Launch tests

vendor/phpunit/phpunit/phpunit -c dev/tests/unit/phpunit.xml.dist vendor/ph2m/logistic

To do list

  • [ ] Complete unit tests
  • [ ] Add WS connection type

Add another import

The following steps are for a new import class but they are the same for an export one. Just use export class/folders instead.

  • Create a class which extends the PH2M\Logistic\Model\Import\AbstractImport class
  • In this class, add a code variable
  • Add in your system.xml these configurations (replace <code> by your code variable value):
    • <code>_enable: a select with a Magento\Config\Model\Config\Source\Yesno source model
    • <code>_path: a text field
    • <code>_file_pattern: a text field
    • <code>_archive_path: a text field
  • If necessary, override the columnsToIgnore variable to ignore some columns
  • If necessary, override the columnsToRename variable to rename some header columns to real product attributes codes:
    /**
     * @var array
     */
    protected $columnsToRename = [
        'columnFromFile' => 'newColumnName'
    ]; 
    
  • If necessary, override the columnsFixedValue variable to add some fixed values (attribute set if it's not defined in your CSV file for example)

Add a custom object import

If you want to import a custom object (stores from a store locator for example), override the _launchImporter method in your import class. This method should return an array which has a success and a message (in case of error) value.

Add another export

  • Create a class which extends the PH2M\Logistic\Model\Export\AbstractExport\ class
  • In this class, add a code variable
  • If you don't want to create a file for each exported object, set the createAFileForEachObject variable to false
  • Override _getFileName function to set the export file name
  • Override _initObjectsToExport function to return the objects to export
  • Add in your system.xml these configurations (replace <code> by your code variable value):
    • <code>_enable: a select with a Magento\Config\Model\Config\Source\Yesno source model
    • <code>_path: a text field
  • XML files are not supported at the moment, if you want to export as XML you have to override the _exportObjects function and send an empty header to _createAndSendFile

Local import

Local import must be placed in /var directory. You can next setup your import and archive paths like in the distant imports.

Licence

GNU General Public License, version 3 (GPLv3)

Troubleshooting

This file does not contain any data.

I have seen this issue because I was trying to import a product attribute which had a code in camel case, ie MyAttribute. Replace it by my_attribute. It can also happen if your data has a bad format, ie you're trying to import an array as value.

Special thanks

Special thanks to Firegento and all contributors to the FastSimpleImport extension!

This content is fetched directly from the module's GitHub repository. We are not the authors of this content and take no responsibility for its accuracy, completeness, or any consequences arising from its use.