Report Manager: Frequently asked questions and common issues
Creating a report
Using the Query Editor (recommended)
- Navigate to Extras > Report Manager > Reports > New
- Enter a title and category (required fields)
- Select output attributes — these will appear as columns in the result
- Define conditions — select an attribute, operator, and value
- Click "Check" to test the report (shows a maximum of 25 results)
- Save
Add further conditions using the + button. Conditions can be linked with AND or OR.
Using the SQL Editor
The SQL Editor is available for more complex queries. Important:
- The first column must always be the object ID:
SELECT obj_main.isys_obj__id AS '__id__' ... - After switching to the SQL Editor, the Query Editor is no longer available for this report
Recommendation: Before switching to the SQL Editor, duplicate the report. This way the original remains editable in the Query Editor.
Query Editor vs. SQL Editor
| Aspect | Query Editor | SQL Editor |
|---|---|---|
| Usability | Graphical, beginner-friendly | SQL knowledge required |
| Scope | Basic queries | Full SQL |
| Switchable? | Yes, to SQL Editor | No, no return to Query Editor |
Nested conditions (AND/OR)
In the Report Manager, conditions are grouped using grey blocks:
- Each grey block corresponds to a bracket
- Conditions within a block are evaluated together
- Example:
(A AND B) OR C— A and B are in one block, C stands outside
Permissions
The Report Manager has its own permission model, independent of CMDB permissions. Important to know:
- Users who can execute a report will see all resulting objects — including those they do not have access to in the CMDB
- CMDB object-level permissions are not applied in the Report Manager
- Access is controlled via report categories: Under Administration > Permissions > Report Manager, you can define which users or groups have access to specific report categories
Available Report Manager permissions:
| Permission | Description |
|---|---|
| Reports | General access to the Report Manager |
| Reports in categories | Access to reports in specific categories |
| Categories | Manage report categories |
| Export reports | Export reports as CSV/PDF/XML |
| Import reports | Import reports |
| Self-created reports | Access to own reports |
| Online Repository | Access to the online report repository |
Recommendation: Move sensitive reports to dedicated categories and restrict access via category permissions.
Export formats
Reports can be exported in the following formats:
- CSV — for spreadsheets (Excel, LibreOffice)
- PDF — for print output
- XML — for data exchange
- TXT — plain text output
Common issues
Report is empty despite existing data
Possible causes:
- Scope not assigned: For ISMS/Suite reports, assets must be assigned to the scope (Asset Management > Scopes)
- Incorrect attribute: The condition filters on the wrong attribute or a non-existent value
- Empty relations: The option "Show objects with empty relations" is disabled and objects without the queried relationship are hidden
Sorting by certain columns not possible
Some attributes (e.g. CMDB status, calculated fields) do not support sorting in the database query.
Workaround: Export the report as CSV and sort in Excel/LibreOffice. Alternatively, manually add an ORDER BY clause to the SQL.
SQL error when executing a report
Symptom: You have an error in your SQL syntax...
Cause: Changes to custom categories or deleted dialog values after the report was created.
Solution: Under Administration > System Tools > Cache / Database, run Update reports. This should also be done after every i-doit update.
Report for duplicate serial numbers
This is not possible via the Query Editor. Use an SQL report:
SELECT obj.isys_obj__title AS 'Object title',
model.isys_catg_model_list__serial AS 'Serial number'
FROM isys_obj obj
INNER JOIN isys_catg_model_list model
ON obj.isys_obj__id = model.isys_catg_model_list__isys_obj__id
WHERE model.isys_catg_model_list__serial IN (
SELECT isys_catg_model_list__serial
FROM isys_catg_model_list
WHERE isys_catg_model_list__serial IS NOT NULL
AND isys_catg_model_list__serial != ''
GROUP BY isys_catg_model_list__serial
HAVING COUNT(*) > 1
)
ORDER BY model.isys_catg_model_list__serial;
Automation
Exporting reports via cronjob
# Daily export at 07:00 (Monday-Friday), report ID 111
0 7 * * 1-5 /usr/bin/php /var/www/html/console.php report-export \
-u admin -p admin \
--reportId 111 \
--exportPath /home/reports/
Sending report results via email
Report-based notifications can be set up under Administration > Add-ons > Notifications:
- Create a new notification of type "Report-based notification"
- Select the desired report as the domain
- Define recipients (persons, groups, or contacts with a specific role)
- Configure the threshold — the minimum number of results required to trigger the notification
- Set the interval (daily, weekly, monthly)
Important: Notifications are only sent when the following CLI command is executed regularly via cronjob:
sudo -u www-data php /var/www/html/console.php notifications-send \
--user admin --password admin --tenantId 1
Without this cronjob, no emails will be sent.
Escalation levels
By creating multiple notifications with different thresholds and recipient groups, escalation levels can be implemented:
- 90 days in advance: Information to management
- 60 days in advance: Information to team leads
- 30 days in advance: Information to the responsible administrator
Object groups from reports
Report results can be used as object groups:
- Static: Assign objects from the report result to an object group once
- Dynamic: Report-based object group that updates automatically each time it is executed
Detailed documentation: Report Manager | Notifications
Comments
0 comments
Please sign in to leave a comment.