Introducing CiviREBUX: Native Report Building Extension for CiviCRM

2016-08-16 02:20
Written by

***************************************************************** INTRODUCTION ****************************************************************************

My name is Pranay and I study Computer Science at Indian Institute of Technology (IIT) Kharagpur. I am a student developer working for CiviCRM as a part of the Google Summer of Code 2016 program.  


This blog marks the end of my Google Summer of Code 2016 journey. I would like to start off by first thanking Google for organizing a yet another successful edition of the Google Summer of Code and changing the face of Free and Open Source Software (FOSS) in an unprecedented way. Next on the list is CiviCRM for being such a warm hosting organization and choosing me among the thousand great applications this year. I would also like to thank Brian Shaughnessy and Jaap Jansma — the best mentors I could have possibly worked with, for always being there when I needed them and helping me throughout the journey. Last but not the least, I would thank Utkarsh Sharma — my friend from Indian Institute of Technology (IIT) Bombay, who worked with CiviCRM during GSoC 2015 and recommended me to apply to CiviCRM this year.

After almost 4 months of development and testing, I am proud to introduce the product which I worked on during GSoC 2016 — CiviREBUX. It is a native module extension for drafting CiviCRM-style reports via a drag-n-drop interface. It combines powerful visualization and transformation techniques which gives users full capabilities of modern browsers and the freedom to design the right elements for their reports. CiviREBUX also supports saving and loading of report templates for later use. By native I mean, it works equally well on all the three CiviCRM-supported CMSs — WordPress, Drupal and Joomla.

Civi(CRM) RE(port) BU(ildingX(tension) — pretty cool for a name isn’t it?

CiviREBUX integrates seamlessly within your CiviCRM dashboard and goes live seconds after installing the extension. CiviREBUX is a mix of the most popular desktop-based spreadsheet software and fast browser applications — essentially, a spreadsheet software running on your browser.


Coming to the new functionalities that CiviREBUX has to offer to the CiviCRM users. Let me just briefly talk about all of them below —

  • Drag-n-Drop Interface

Users can add/remove attributes (rows and columns in your report) into/out of the scope by simply dragging them into/out of the rows (left) and column (top) space in the UI

  • Cool Visualizations

Users can select how they want their data in the report to be visualized — tabular (default), bar charts, row and column heatmaps et cetera, powered using comprehensive D3.js and C3.js JavaScript libraries.

  • Export Options

Exporting the report template into CSV and TSV formats (available for download) is also support by CiviREBUX

  • Comprehensive Statistics

Users can choose which statistics do they wish to be displayed — unique count, sum, average, trimmed mean, minimum, maximum etc. along with dynamic aggregators viz. Monthly, Daily and Yearly, which will come in handy when they are dealing with reports spanning over time.

  • Filter and Search Records

Filtering and searching to locate specific records to be included in the report.

  • Saving and Loading Report Templates

Users can now save a report template to be loaded later. CiviREBUX also has added support for overwriting an already saved report template.

  • Adding Reports to Navigation Menu

For those users who are in a hurry, you can now add the most frequently used report template directly into the CiviCRM Navigation Menu under Reports >> CiviREBUX.

  • Viewing Saved Reports

Users can also load a report template by simply clicking the row corresponding to that template from the tabular list of previously saved report templates. Users can sort the templates by the Last Modified, ID and other fields as well.

Interested to try out CiviREBUX already?

Here is the link to the CiviCRM extensions page containing info about CiviREBUX and its native releases.  

Here is the link to a video which shows how CiviREBUX can be the one reporting module CiviCRM users might be looking for since a long time.

Just like the last time, I welcome everyone to please comment below if you like the work and want to know more about it. Also, please feel free to connect with me on Facebook or shoot me an email at




Pranay, this looks great. 

Which entities does it cover?

Does it cover custom fields also?



So, for now CiviREBUX just covers Contribution and Membership data. But it can easily be extended to cover other entities as well. I did not do it myself because of the lack of time. And yes, it does cover custom fields as well. 

Looks terrific, and your installation instructions seems to imply that it works with 4.6 but the extension itself says 4.7.  I tried with 4.6 but although it installs OK it doesn't seem to be working correctly.   So, is it 4.7 only?

My bad. So yes, I developed and tested it for 4.7 only, which is reflected in the info.xml. I haven't tested it with other versions. I guess I should just update the installation instructions.

Meanwhile, can you please open up an issue on GitHub elaborating on what isn't working correctly?

I have mentoring Pranay for the lost couple of months and I do think Pranay has done a really good job at his Google Summer of Code project. It was a pleasure to work with him!

Demo looks great. Nice work Pranay and also Brian and Jaap.

Demo video looks great. Report builders like this really let people get what they need and so this is an important step forward for CiviCRM, thanks! While yours looks very user-friendly, worth a shout out for Civivisualize which takes a bit more coding but is also awesome.