Aller directement à la fin des métadonnées
Aller au début des métadonnées


We need to tackle the reporting problem and our previous approaches are not gaining any traction within the community. Custom Search has gotten some amount of traction and is probably a good approach to follow. Given that, here are are our goals with CiviReport:

  • Follow the same interface as custom search, so a report can be transformed into a custom search
  • Phase 1 will include approx 15-20 packaged reports: 3-4 core reports, 4-6 contribution / pledge / soft credit reports, 2 reports each on memberships, events and mailings
  • The specification will follow a predefined template and format (defined below). This will also serve as the documentation
  • The implementation should support the creation and automated delivery of "scheduled reports" via cron-job. It should also support creation of menu items / links which supply a fixed set of filter values (which may or not be the same as the default filter values. See section below for details.

Specification format (this will be an atlassian template after we've specified a few)

see Contribution Detail Report for an example. We'll do a few and try to cover all cases and then make a confluence template

Admin workflow to create a report instance

This workflow allows admins to start with a report template, configure it by selecting from the available filters, optional columns and grouping / totaling options, give it a title, and make it appear in the user Reports menu.


  • Select a report template
  • Define settings for this report instance from the settings made available by the report template:
    • Assign a "title" for this report instance
    • Select filter(s) and default values for filters as appropriate
    • Select from optional columns
    • Set grouping and totaling options
    • Enter list of recipient email addresses (if report is to be scheduled for automated delivery via email)
    • Select or create header and footer template (stored in DB) and assign to report instance
    • Run the report and see if it meets the user requirements
    • Modify report settings as needed
  • When ready, save the Report (like a saved search)
  • The report is added to Reports menu for users to "run"
    Feedback from a consultant who uses a competing system's report designer

    I would recommend the following sequence of steps for creating a new report:
    1. select format
    2. select criteria and date range
    3. go straight to report
    4. allow columns to be added directly from the report output page, and for them to be rearranged by drag & drop.
    5. maybe even allow grouping, and columns to be totalled to be specified from the report output page, or just total all numeric columns (there are usually only a few).

Look and Feel Configurability

Output is TPL based (as currently done)

  • header and footer are set from DB (HTML + image(s) + css)
  • for other changes, admin or integrator can modify main report TPL to add any other changes / css / html

End-User Workflow

Reports saved by admins are listed in the Reports menu.

  • User selects a report
  • User modifies filter values as needed (if the report provides filters)
  • User runs the report and gets an HTML preview
  • Report can then be saved as a PDF , CSV file or XML file


  • Reports can be permissioned on an individual level similar to events.

Automated Report Delivery / URL Parameters

When invoking a report instance, all available filter values can also be specified via URL parameters. This is useful for the "scheduled report delivery" use case, and also allows admins to create links to report instances with pre-populated filters.

For email delivery - a flag requesting that the report be written to a file and emailed to one or more recipients is included in the URL along with the requested output format (HTML, PDF, CSV, XML). The list of recipients can be retrieved from a report instance setting - and additional email addresses can be passed via URL.

Reports Planned for 2.3

Core CiviCRM

Contributions, Pledges and Soft Credits




  • Aucun
  1. Apr 01, 2009

    D D dit :

    I can contribute some reports for CiviCase, like case counts by type, average durations, "complex" case percentage, etc...

    I'd also suggest some type of Time Spent report be included in the core package. The simplest version would just be the sum of the duration field on activities. There was some discussion about more complex time tracking here:

  2. Apr 04, 2009

    Peter Davis dit :

    This looks like a great step forward and will make civicrm of much more interest to organisations that are used to the fundraising reporting potential of commercial products they are used to.

  3. May 27, 2009

    JoeMurray dit :

    I'm hoping that "title" or elsewhere in header/footer there will by default appear the filtering settings for the run of the report, eg via tokens. These defaults should be able to be removed to save space if desired.

Creative Commons License
Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution-Share Alike 3.0 United States Licence.