GSoC Concluding Blog (Refunds and Partial Payments for CiviCRM)

Thank you for blogging on! Check out the blog policy for more tips on how to better engage with the community.
2015-08-27 07:42
Written by
Gast (nicht überprüft) - member of the CiviCRM community - view blog guidelines

GSoC Concluding Blog (Refunds and Partial Payments for CiviCRM)

I am Tahir Ramzan, pursuing Masters in Computer Science at Virtual University of Pakistan. I was working on refunds, partial refunds and partial payments development for CiviCRM in this Google summer of code. Parvez Saleh was mentoring this project.

The purpose of these modules; refunds, partial refunds and partial payments are to provide CiviCRM community a user friendly and efficient solution to make refunds and offer partial payments to their users.

I had experienced with OOP, PHP and CMSs (WordPress, Joomla and Drupal) but it was several other new things to learn and understand first to get my hands working with the CiviCRM to achieve my milestones and goals. I took more time to get myself comfortable with CiviCRM development environment but it was great learning and networking experience for me to interact with experts and working with open source and existing software codebase which was very complex to understand for me but it had very comprehensive and detailed documentation as well as very active and supporting forum, IRC and CiviCRM Stackexchange community. Here are the details, what was my project about:


Refunds and Partial Refunds:

Often, we need to tackle situation where one needs to make partial or full refunds. After this project users will be able to make refunds with friendly user interface and proper database records.



  • How to represent an administrative fee for refund? Who will pay this, buyer or seller?
  • How to link the refund with the original contribution?
  • Which method to use for processing refunds?  Check, payment processor or both.


Partial Payments:

Partial payments on the other hand need to be done when someone pays a part of payment contribution in installments. This will be very useful for CiviCRM users for multi-purpose tasks. By developing this project, not only the users of CiviCRM but also the end users will be benefited and CiviCRM contributions will witness a significant increase.



  • How to represent an administrative fee for the partial payment? Who will pay this, buyer or seller?
  • Pre-defined amount installments and buyer defined installments/ variable amounts
  • Handling taxes, penalties, markup and administration fees



Here is the live version website with unstable and alpha functionality of my work:

Website Link:

Username: admin

Password: admin

Till now, project is under development, GSoC is concluded but I am still working and it is expected to release stable version by end of this year. Kindly follow this Forum Thread for development updates and let me know about your precious feedback.


I would like to thanks Sir Parvez Saleh, Madam Eileen McNaughton, Sir Joe Murray, Sir Xavier Dutoit and Madam Emily Frazier for their continuous support, time and guidance.

1.jpg210.12 KB
2.jpg216.75 KB
3.jpg225.97 KB
4.jpg207.89 KB
Filed under