sidecar / craft-formie-import
CSV import tool for Formie submissions in Craft CMS 5
Package info
github.com/alexandreSideCar/craft-formie-import
Type:craft-plugin
pkg:composer/sidecar/craft-formie-import
1.0.4
2026-03-13 15:35 UTC
Requires
- php: ^8.2
- craftcms/cms: ^5.3.0
- verbb/formie: ^3.0
README
CSV import tool for Formie submissions in Craft CMS 5.
Features
- CSV import — Import submissions from CSV files into any Formie form
- Auto field mapping — Automatic column-to-field matching by label or handle, with accent-normalized fuzzy matching
- Multi-form support — Import to a single form or multiple forms from one CSV file
- Duplicate detection — Skip duplicates based on configurable unique field combinations
- Spam filtering — Optionally skip rows marked as spam in the CSV
- Dry run mode — Test your import before committing to the database
- Console commands — List forms, generate mappings, and import via CLI
- Translations — English and French included
Requirements
- Craft CMS 5.3+
- PHP 8.2+
- Formie 3.0+
Installation
composer require sidecar/craft-formie-import php craft plugin/install craft-formie-import
Usage
Web Interface
- Go to Formie Import in the Craft CP sidebar
- Select a target form (or "All forms" for multi-form import)
- Upload your CSV file and click Analyze CSV
- Review the auto-generated column mapping and adjust if needed
- Configure options: duplicate detection fields, spam filtering
- Click Dry Run (test) to preview results, or Import to proceed
Console Commands
# List all forms and their fields php craft formie/list-forms # Generate a mapping file for a form php craft formie/generate-mapping path/to/file.csv --form=myFormHandle # Import a CSV file php craft formie/import-csv path/to/file.csv --form=myFormHandle # Import with options php craft formie/import-csv path/to/file.csv \ --form=myFormHandle \ --uniqueFields=email,phone \ --skipSpam \ --dryRun
CSV Format
The plugin expects a CSV exported from Formie. Meta columns (ID, Form ID, Form Name, User ID, IP Address, Is Incomplete?, Is Spam?, etc.) are recognized automatically and excluded from field mapping.
Data columns are matched to form fields by label or handle. Sub-fields use colon notation (e.g., Name: First Name).
License
MIT
Credits
Developed by Side-Car.