What You’ll Learn
- Setting up the Pro Reports extension and Child Reports plugin
- Creating recurring and one-time reports
- Customizing report templates with tokens
- Managing client information and branding
Extension Add-on - This add-on provides standalone functionality within MainWP Dashboard. No third-party plugins required.
The MainWP Pro Reports Extension combines the free MainWP Child Reports plugin with a customizable reporting engine. The Child Reports plugin tracks changes on your child sites, while the Pro Reports Extension on your Dashboard gathers that information and converts it to PDF reports.
Key features:
- Generate professional reports in seconds
- Pre-made templates to get you started
- Automatic PDF attachment to emails
- Include or exclude specific content
- Customizable template system
- Custom branding options

Setting up the Pro Reports Extension
Installation
1
Install MainWP Child Reports
Install the MainWP Child Reports plugin on all child sites. This free plugin records logging events that appear in your reports. Records are kept for 100 days.
2
Install Pro Reports Extension
Install the MainWP Pro Reports Extension on your Dashboard.
3
Sync your sites
Sync your sites so the Dashboard can detect which sites have the Child Reports plugin installed.
MainWP Child Reports Plugin
The MainWP Child Reports plugin records changes on your child sites and communicates them to the Pro Reports Extension. Built on the Stream Plugin, it requires PHP 7.0 or higher.Viewing Recorded Data
Go to WP Admin > Settings > MainWP Child > MainWP Child Reports on your child site to see recorded activity.
Child Reports Settings

| Setting | Description |
|---|---|
| Hide from reports | Excludes the MainWP Child Reports plugin from reports |
| Keep Records Indefinitely | Retains all records (not recommended for performance) |
| Keep Records for | Maximum days to retain activity records (default: 100) |
| Akismet Tracking | Track comment spam attempts blocked by Akismet (not recommended) |
| Comment Flood Tracking | Track duplicate comments blocked by WordPress (not recommended) |
| WP-Cron Tracking | Track cron event activity (not recommended) |
| Reset Database | Delete all activity reports from the database |
Client Information
Pro Reports uses tokens to personalize reports without creating separate versions for each client. Tokens are placeholders like[client.email] and [client.name] that get replaced with actual values when reports generate. You can define client information in two ways:
| Method | Description | Best For |
|---|---|---|
| Client Feature | Define information once, assign multiple sites to a client | Managing many sites per client |
| Per-Site Settings | Set information individually on each site’s Edit page | Maximum flexibility |
When the same token is defined in both locations, the per-site value takes priority.
Setting Per-Site Client Information
1
Navigate to site settings
Go to MainWP Dashboard > Sites > Manage Sites and click Edit on the desired site.
2
Configure tokens
Locate the Pro Reports Tokens section and enter values for tokens you plan to use.

3
Save settings
Click Save Settings.
Token Configuration
Token Configuration
Report Types
Pro Reports offers two report formats. Recurring reports run on a schedule you define. One-time reports cover a specific date range you select manually.| Aspect | Recurring | One-Time |
|---|---|---|
| Schedule | Daily, Weekly, or Monthly | None (manual send) |
| Date Range | Automatic based on schedule | Custom start and end dates |
| Action | Schedule Report | Send Now |
| Use Case | Ongoing client updates | Project completion, audits |
Create a Recurring Report
1
Open Create Report
Go to MainWP Dashboard > Extensions > Pro Reports > Create Report.
2
Configure report settings

| Setting | Description |
|---|---|
| Report title | Name for identifying this report |
| Report type | Select Recurring |
| Schedule | Daily, Weekly, or Monthly |
| Send report on | Day of week or month (for Weekly/Monthly schedules) |
| Report PDF file name | Optional custom filename for the PDF attachment |
| Report Template | Select from available templates |
3
Customize content and design

| Tab | Options |
|---|---|
| Custom Content | Customize heading, introduction, and closing message using tokens |
| Report Data | Choose sections to include. Default “Hide if empty” omits sections with no activity |
| Custom Branding | Upload logo and header image, customize colors |
4
Configure email settings
| Field | Description |
|---|---|
| Send email from | Your email address and name |
| Send email to | Client email and name (supports tokens like [client.email]) |
| Reply-to | Optional reply address |
| Email subject | Subject line (supports tokens) |
| Email message | Email body (supports tokens) |
| Email template | Select template style |
| BCC email address | Optional blind copy recipient |
| Additional attachments | Optional extra files |
5
Select sites and schedule
Select sites in the right-hand metabox. Preview as HTML or download the PDF for review. Click Save Draft to save without scheduling, or Schedule Report when ready.

Create a One-Time Report
1
Open Create Report
Go to MainWP Dashboard > Extensions > Pro Reports > Create Report.
2
Configure report settings

| Setting | Description |
|---|---|
| Report title | Name for identifying this report |
| Report type | Select One-time |
| Report date range | Starting and ending dates |
| Report PDF file name | Optional custom filename |
| Report Template | Select from available templates |
3
Customize content and design

| Tab | Options |
|---|---|
| Custom Content | Customize heading, introduction, and closing message using tokens |
| Report Data | Choose sections to include. Default “Hide if empty” omits sections with no activity |
| Custom Branding | Upload logo and header image, customize colors |
4
Configure email settings
| Field | Description |
|---|---|
| Send email from | Your email address and name |
| Send email to | Client email and name (supports tokens) |
| Reply-to | Optional reply address |
| Email subject | Subject line (supports tokens) |
| Email message | Email body (supports tokens) |
| Email template | Select template style |
| BCC email address | Optional blind copy recipient |
| Additional attachments | Optional extra files |
5
Select sites and send
Select sites in the right-hand metabox. Preview as HTML or download the PDF for review. Click Save Draft to save without sending, or Send Now when ready.

Pro Reports Dashboard

Status Indicators
| Row Color | Meaning | Available Action |
|---|---|---|
| Red | Plugin not activated | Activate |
| Yellow | Update available | Update |
| Normal | Plugin active and current | Hide/Unhide |
Dashboard Columns
| Column | Description |
|---|---|
| Version | MainWP Child Reports plugin version |
| Last Report | When the last report was sent |
| Reports DB Size | Database space used by reports |
Translate Titles and Headings
Pro Reports 4.1.1 introduced the Custom Titles feature for translating and customizing all titles, subtitles, and table headings. Find this option in the Report Content & Design Customization section.
Create Custom Report Templates
Pro Reports uses PHP templates that you can customize with HTML. The process involves copying a built-in template and modifying it to suit your needs.
Creating a Custom Template
1
Download the extension
Download the MainWP Pro Reports Extension from your MainWP Account.
2
Extract and locate templates
Extract the plugin files and find the default templates in
/mainwp-pro-reports-extension/templates/reports/.3
Copy and customize
Copy a PHP file, rename it, and edit with your preferred code editor.
4
Upload the template
Upload your customized PHP file to
/wp-content/uploads/mainwp/report-templates/ on your Dashboard site.5
Select the template
Your template appears in the Report template dropdown.

Token Types
Pro Reports uses four token types that you can add directly to PHP templates or through the visual editor.| Type | Description | Example |
|---|---|---|
| Client Tokens | Display data from Individual Child site settings | [client.email], [client.name] |
| Section Tokens | Loop through database records within a date range | [section.plugins.installed]...[/section.plugins.installed] |
| Data Tokens | Display specific values inside section tokens | [plugin.name], [plugin.installed.date] |
| Counter Tokens | Display counts outside section tokens | [plugin.installed.count] |
Client Tokens
Client tokens display data set in the Individual Child site Edit tab. Set values for tokens you plan to use in reports.
[client.email] in the Send email to field to send reports to multiple clients automatically.


How Tokens Work Together
The following example demonstrates all three token types working together in a template:.count.
Section tokens loop through database records within the report date range. They require opening and closing tags.
Data tokens display specific values and must appear between section token tags.


Delete Reports

1
Navigate to reports
Go to MainWP > Extensions > Pro Reports > Reports.
2
Delete the report
Click the Actions Menu on the report you want to delete, select Delete, and confirm.
Duplicate Reports

1
Navigate to reports
Go to MainWP > Extensions > Pro Reports > Reports.
2
Duplicate the report
Click the Actions Menu, select Duplicate, enter a new title, configure Send To and Send From fields, and click Save Draft.
PDF Storage
PDFs generated by Pro Reports are saved on the Dashboard site in/wp-content/uploads/mainwp_pro_reports/.
Pro Reports REST API
All MainWP REST API calls, including documentation and examples, are available on Postman. See MainWP REST API for details on enabling the API and managing keys.Related Resources
- Create Custom Report Templates - Build custom templates
- Available Pro Reports Tokens - Token reference
- Agency Add-ons - Browse agency add-ons