GSoC 2014 - PayGoSol: Pay-as-You-Go solar energy

Target releaseTBD
Source Code
Project StatusPRE-PLANNING
Document statusDRAFT
Document ownerAntonio Carella (Unlicensed)
DesignerJames Dailey
DevelopersAntonio Carella (Unlicensed)

Project Summary


  • Further MifosX's capability to handle current account transactions, specifically for utilities, with a focus on solar energy.
  • Facilitate third-party agents' remote account creation and cash-in processes for creating and crediting client accounts.
  • Create robust account debiting interface, capable of interfacing with various usage tracking and debiting models.
  • Implement SMS notifications to clients with low or past due balances.
  • Implement data analysis and reporting of utility usage.
  • Provide support for mobile banking payments such as M-PESA, Airtel. 

Background, Impact, and User Need

Pay-as-you-go mobile phones have revolutionized access to telecom, the same can be done with solar energy access. Off-grid installations of PVC panels and batteries can be pared with a mobile payment mechanism to allow clients to purchase power "as they use it". This functionality will allow organizations to become involved with 3rd party providers of solar systems. 

 Key areas are Agent money collection (back into MifosX core), energy system interaction for on-off and usage models, interactions with other money transfer systems (back into MifosX core), and use of specific "utility-type" accounts where Customers keep balances for a pre-paid or pay as needed account.

This project enables micro-grids and direct consumer finance for specific products. It seeks to enable a clear Agent model, and is geared toward Solar systems in particular.


  • Client current account
  • Agent account
  • Android app workflow for solar company Agent
  • Mechanism to debit client account

Project Implementation Plan


By June 27th: 

User stories 1 and 2 completed.

By August 11th:

Remaining functionality completed.

Additional Resources

JIRA page: Pay as You Go Solar Module

A summary of similar products on the market:

Antonio's blog:



  1. The following three stakeholders exist:
    1. Solar Company – owns infrastructure (solar cells, usage meters?) and hires agents.
    2. Agent – Works for Solar Company. Tasked with collecting cash payments from Customers and depositing funds in Customer’s utility accounts.
    3. Client – Solar energy consumer. Pays cash to Agent to deposit into utility account. Consumes energy and has account debited accordingly.
  2. Agents are required to establish their account in an office with staff level access to MifosX. Agents will provide all the KYC info and documentation at that time.

User Stories

Please see user stories in Pay as You Go Solar Module.

User interaction and design


Below is a list of questions to be addressed as a result of this requirements document:


Not Doing