Custom CSV Report Templates
(Currently only available to customers as Alpha testing.)
Event Espresso Custom Reports lets you create saved report definitions and use them to generate registration CSV exports from the Event Espresso Registrations admin screen.
In the current release, the add-on supports custom CSV report templates.
Requirements
- WordPress 4.5+
- PHP 7.4+
- Event Espresso core 5.1.0 installed and active
The add-on registers these capabilities:
ee_manage_csv_reportsee_manage_others_csv_reports
By default:
administratorgets both capabilitiesee_events_administratorgetsee_manage_csv_reports
If users cannot access or edit reports, check their role/capabilities first.
Where to Find It
In WP Admin, open the Custom Reports screen from the Event Espresso admin menu:

Menu slug: espresso_custom_reports
Label: Custom Reports

On the Custom Reports page you can:
- View all reports
- Create/edit reports
- Move reports to trash
- Restore or permanently delete trashed reports
Quick Start
- Go to
Custom Reports. - Click
Add New Custom Report. - Enter a report name and description.
- Choose report columns and order them in the report builder UI.
- Set status to
Active. - Save the report.
- Go to the Event Espresso
Registrationslist table. - Select your report from the custom report selector.
- Click
Generate Registrations CSV Report.

Report Lifecycle
Report Types
Default Registrations Report(`SYSTEM`): built-in fallback report. It is intentionally not editable in the list table.Registration CSV: user-defined custom registration export.
Report Statuses
active: available in the Registrations page selector for CSV generation.draft: saved but not shown in the generation selector.inactive: saved but not shown in the generation selector.trashed: visible only in Trash view.deleted: permanently removed state used internally
Important: only active reports are shown in the Registrations screen dropdown.
Generating CSVs from the Registrations Screen

When this add-on is active, the Registrations list table gets a custom report toolbar that includes:
- a report selector (
custom_csv_report) Generate Registrations CSV Reportbutton- optional
Custom Reports Adminshortcut link
What happens on generation:
- The selected report UUID is passed as
custom_csv_report. - The standard registrations CSV batch process runs.
- If the selected report is a custom
Registration CSVreport, column filtering/reordering is applied. - If the selected report is the system default report, the add-on does not override the default CSV behavior.
Managing Reports
List Table Views
All: non-trashed, non-deleted reports.Trashed: reports with `trashed` status.
Row Actions
Non-system reports:
EditTrash(from All view)Restoreand `Permanently Delete` (from Trashed view)
System report:
- no edit/trash/delete actions
- no bulk checkbox
Bulk Actions
All view:
Trash Custom Reports
Trashed view:
Restore from TrashPermanently Delete
How Column Configuration Works
Each column definition stores these values:
columnName: original display namecustomName: optional override header in exported CSVdbField: backing field namemodelName: related model name used for joins/lookupscustomResolver: optional callable resolver for advanced valuesorder: column position
Behavior notes:
- You can rename the column labels from the default to a custom name
customNameto match your needs. - Column order in the report definition controls CSV column order.
- If
customNameis blank, the export falls back tocolumnName. - The exporter attempts to use existing registration CSV values first, then resolves fallback values from model field metadata when possible.
Storage and Data
Reports are stored in WordPress options under:
- option key:
eea_custom_reports - Each report stores UUID, metadata, status, type, columns, and created/modified audit info.
Known Limitations (Current Release)
- Currently, only the
Registration CSVcustom report feature is available. - It is not possible to run the reports from the Custom Reports menu because the reports need to be executed in context of the Event Espresso Registration list tables/filters.
- The built-in system report is locked on purpose to keep it safe from changes.
- You'll see only
activereports in the Registrations CSV selector for your convenience.
Troubleshooting
My report does not appear in the Registrations dropdown
Check all of the following:
- Report status is
active - Report is not in Trash
- You are on the Event Espresso Registrations list table screen
I cannot edit or delete a report
Possible causes:
- It is the system default report (non-editable by design)
- Your role lacks
ee_manage_csv_reports
CSV output did not change after selecting a report
Possible causes:
- You selected the system default report
- Your custom report has no usable column definitions
- An internal validation/runtime error occurred while building custom columns
- If
WP_DEBUGis enabled, internal custom report errors may throw runtime exceptions to aid debugging.
Advanced: GraphQL Support
This add-on also registers GraphQL types/mutations for programmatic report management (for authenticated users with the required capability), including:
- Query connection:
espressoCustomReports - Mutations:
createCustomReport,updateCustomReport,deleteCustomReport,restoreCustomReport.
These GraphQL capabilities are intended for advanced integrations and admin tooling, not required for normal day-to-day usage.