Pimcore DataImport Bundle module imports DataObjects from CSV, XLSX, or ZIP files with flexible mapping, media handling, templates, and background jobs.
- Import any Pimcore DataObject class without needing to hardcode fields.
- Support CSV, XLSX, and ZIP files, including media folders.
- Map spreadsheet columns to Pimcore fields through a guided wizard.
- Import localized fields using language-specific column names.
- Link existing objects, assets, images, and multiple relations.
- Import object bricks, field collections, and classification data.
- Create Pimcore classes directly from spreadsheet column headings.
- Reuse, edit, duplicate, or deactivate saved import templates.
- Create or update objects based on a selected identifier field.
- Run imports in the background with live progress tracking and error logs.
- Download failed rows, correct the data, and re-import them.
- Create product variants and parent-child object structures.
- Description
- Reviews
- FAQ
- Customers ()
- Specifications
- Cloud Hosting
- Changelog
Pimcore DataImport Bundle module imports any Pimcore DataObject class from a spreadsheet. The class is selected during import, and its own definition controls the available fields.
Import data from CSV, XLSX, or ZIP files into Pimcore. CSV files support common delimiters, while XLSX reads the first sheet. ZIP files can include a sheet and a media folder for image or asset imports.
The bundle supports text, numbers, booleans, dates, selects, multi-value fields, quantities, relations, assets, images, and galleries. It also handles localized fields, object bricks, field collections, and classification store data.
Build a new Pimcore class from spreadsheet headings when needed. The wizard proposes field types from the file values, while each proposed field can be reviewed and edited before the class is created.
Use mapping templates to save column-to-field bindings for repeated imports. Templates can be reused, edited, duplicated, created before a file is available, or deactivated without losing their saved configuration.
For larger data loads, imports run as background jobs with live progress and per-step counts. Also the failed rows are listed on the import job and can be downloaded, corrected, and imported again into Pimcore.
Apart from this, if you want to connect Pimcore with your Magento 2 store, then you can check Pimcore Connector for Magento 2.

Key Features for Pimcore Data Import Module
Flexible File Import
Import data from CSV, XLSX, or ZIP files, with ZIP support for media stored inside the archive.
DataObject Class Selection
Choose the Pimcore DataObject class at import time instead of working with hardcoded classes or fields.
Smart Field Mapping
Match spreadsheet columns to Pimcore fields through a mapping wizard with suggested bindings.
Localized Data Import
Import one language per run using supported language suffixes or bracketed column names.
Media and Asset Import
Use URLs, existing Pimcore asset paths, or files inside an uploaded ZIP for images and assets.
Complex Pimcore Fields
Import object bricks, field collections, classification store values, quantities, and localized sub-fields.
Class Creation From Headings
Create a Pimcore class from uploaded spreadsheet headings and configure each proposed field before saving.
Reusable Import Templates
Save mappings and reuse them for future files, with tools to edit, duplicate, fork, activate, or deactivate templates.
Create or Update Objects
Use a selected identifier field to decide if a row creates a new object or updates an existing one.
Background Import Jobs
Run large imports in the background, view live progress, stop jobs cooperatively, and review row-level errors.
Why Do We Need a Pimcore Data Import Solution?
Manual data entry becomes difficult when a Pimcore project has many DataObjects, relations, media files, or localized values. Repeating the same work can take time and lead to inconsistent records.
A basic spreadsheet import may also fall short when each Pimcore class has different fields. Hardcoded mappings cannot easily handle changing classes, field definitions, complex field types, or different import structures.
This bundle reads the selected class definition at import time. It lets teams map columns, reuse templates, import related data, and handle media without building a separate import flow for each class.
Failed rows stay tied to the job and can be downloaded for correction, which gives teams a practical way to handle large data loads. For teams managing catalogs, content records, product data, media, or other Pimcore DataObjects, this approach reduces repetitive spreadsheet work.
It also provides a consistent and streamlined process for handling imports. Additionally, you can also check Pimcore Connector for Shopify if required to connect your Shopify store with Pimcore.
Use Cases for Pimcore Data Import Module
-
Product Catalog Import
Load product records, quantities, images, categories, brands, and other product fields from structured spreadsheet data.
-
Content Data Migration
Move large sets of content into Pimcore DataObjects while mapping columns to the selected class definition.
-
Media-Rich Imports
Import images and assets from URLs, Pimcore paths, or media folders included in a ZIP archive.
-
Multilingual Data Updates
Run separate imports for different languages using localized column naming conventions.
-
Repeated Data Updates
Save a mapping template and reuse it when similar files are received on a regular basis.
-
Bulk Object Creation
Create many new DataObjects from a spreadsheet using an identifier field to control create-or-update behavior.
Import Files and Pimcore DataObject Fields
Import CSV, XLSX, or ZIP files into any selected Pimcore DataObject class. The bundle supports flexible field types, localized and complex fields, object relations, images, assets, quantities, and media files.
- Support CSV delimiters: comma, semicolon, tab, and pipe
- Detect UTF-8 BOM and read the first XLSX sheet
- Import media from ZIP files with or without a media folder
- Import text, numbers, booleans, dates, selects, and multi-values
- Read ISO and day-first dates with supported time values
- Import quantities with mapped units and row-level unit overrides
- Import localized fields using suffix or bracketed language columns
- Support object bricks, field collections, and classification store values
- Import localized sub-fields inside bricks and field collections
- Link existing objects using identifiers and avoid duplicate links
- Import images from URLs, asset paths, or uploaded ZIP files
- De-duplicate downloaded media by content

Build Pimcore Classes From Spreadsheet Headings
A fresh Pimcore project can start with a class built from the uploaded file. The wizard reads the headings and proposes field types from the values in the file.
Each proposed field remains editable before the class is created. This gives teams control over the field name, type, and required settings.
- Create a class from uploaded spreadsheet headings
- Propose text, long text, number, checkbox, and date fields
- Propose select, image, image gallery, and asset fields
- Create relations when a column matches an existing class
- Mark columns as required
- Select one identifier column for create-or-update operations
- Keep richer field structures available through Pimcore's class editor

Save and Reuse Mapping Templates
Saved mappings reduce repeated setup for recurring spreadsheet imports. Each template keeps its mapping information and can be offered again when a similar file is uploaded.
Templates can be managed without uploading a file. Their stored columns can be edited so the mapping can grow with future spreadsheet formats.
- Save mappings and reuse them on later imports
- Show saved mappings based on how many columns they cover
- Create templates with a name and target class before file upload
- Edit template names, classes, folders, bindings, and identifiers
- Add columns that future files will carry
- Keep mapped columns protected from removal
- Duplicate templates from the template list
- Fork an existing template with “Save as new template”
- Deactivate templates without deleting their saved bindings
- Restore deactivated templates without rebuilding them
- Show the saved target folder, including when that folder was deleted
- Block jobs when a mandatory field is still unmapped

Run and Monitor Import Jobs
Imports run as background jobs with live progress and step counts. A job can be stopped cooperatively while it is running.
Each job keeps its own row-level errors. If a worker cannot complete the job, the job records the reason instead of leaving the import hanging.
- Run imports in the background
- View live job progress and per-step counts
- Stop running jobs cooperatively
- Review failed rows directly on the import job
- Download failed rows for correction and re-import
- Validate the target class before a job starts
- Report worker failures such as class compilation or memory errors
- Prevent a finished job from running again after message redelivery

Support
For any query or issue, please create a support ticket here http://webkul.uvdesk.com/
You may also check our quality Magento 2 Extensions.
Specifications
Frequently Asked Questions
Specification
Detailed technical features and requirements to help you understand the module’s capabilities and ensure smooth integration with your system.
Cloud Hosting
Detailed technical features and requirements to help you understand the module’s capabilities and ensure smooth integration with your system.
Move to Cloud Today
We’re partnered with top-tier, trusted providers!
Default Configuration Details of Server
RAM 1 Core
Processor 30 GB
Hard Disk
Database
Want to know more how exactly we are going to power up your eCommerce Website with Cloud to fasten up your store
* Server Configuration may vary as per application requirements.
Change Logs
- - Feature Add (+)
- - Feature remove (-)
- - Bug Fixed (!)
- - Modification (*)
- + Import any DataObject class from CSV, XLSX, or a ZIP.
- + Map Pimcore fields to uploaded file fields.
- + Import scalar, localized, relation, asset and image, and quantity-value fields, with a unit picker and a per-row unit column.
- + Import object bricks, classification store keys, and field collections through column-name conventions, including their localized sub-fields.
- + Create variants from a master-identifier column, and nest rows under a parent for tree-structured classes.
- + Create a DataObject class from the uploaded file's headings, with the field type proposed from the values, a required flag per column, and a relation proposed when a heading names an existing class.
- + Choose the target folder while importing, or create one without leaving the wizard.
- + Choose one value separator per import — the character that splits several values inside a cell — so every other character stays part of the value.
- + Recognise a bracketed locale heading such as
Name (en), and read a datetime written to the minute. - + Save a mapping as a template, and reuse it on the next upload — every template is offered, closest first, with the number of columns it covers.
- + List and edit templates on their own page — name, class, folder, columns, bindings, and identifier — without uploading a file.
- + Duplicate a template from the list, or fork one mid-edit with Save as new template. Names are unique.
- + Run imports in the background with live progress, per-step counts, and a cooperative stop.
- + Read row failures on the job itself and download the failed rows to fix and re-import.
- + Learn the file conventions from an in-Studio guide with a walkthrough and downloadable sample files.
- + Work in English, German, Spanish, or French — every screen and message is translated.
- + Restrict importing with the
wk_data_importpermission, per area and per folder.