Project description
The overarching objective of this project is to adjust openIMIS to manage the voucher program within the Republic of Moldova. The primary aim is to reduce unreported employment by implementing a voucher system. In this project's context, a "voucher" represents a form of compensation for labor carried out by agricultural workers.
Terms of reference
The goal is to have a digital voucher system that is web-based and integrated with relevant government system and payment facilities.
Employers will be the prime user of the system and the system should ease their workload as much as possible through the usage of existing systems and information, alas the link to e.g., MPass . Day labourers and labour inspectors should be able to access some of the information from the system in close to real-time. This will be dealt with below.
The employer can either assign a specific voucher to a specific day labourer on a specific day or purchase generic vouchers valid for one month. This former will be done by entering the day labourer's national ID into the system and assigning a voucher for that specific day. This can be pre-filled in advance (e.g., by simple file-merger of workers ID numbers and the relevant dates) or entered directly into the system but must be done at the beginning of the working day (or a pre-defined time of day) to reduce the instances of fraud. The voucher numbers will be systems generated and unique. Employers can retroactively assign vouchers to individuals that they have failed to assign in the first place. However, they cannot retroactively revoke vouchers assigned to an individual.
To minimize the administrative burden on employers to comply with the demands under the law it has been the working hypothesis that after the employer had logged into the system (using MPass) only two pieces of information was needed for the system to operate: The workers identification number, and the date. Everything else should be built in functionalities in the system (including link with MPay).
The funds from the employers’ purchase of vouchers will be placed in an escrow account and transferred to the social insurance budget and the state budget in the day labourer’s account when a voucher is assigned to the individual.
The day labourer must be able to see that a voucher has been assigned to them for that day and labour inspectors will be able to check in the field whether a worker present have been awarded a voucher for that specific day by their employer.
High level goals & requirements
Web application with user friendly interactive interface. System design and modules are going to be compatible with those, currently existing in openIMIS system and extended by modules which will handle the demanded Voucher scheme
Appropriate databases to keep the data of Employers, Workers and Vouchers.
Integration with MPass to handle employers authorization and authentication
QR codes system (generated for Workers and Labour Inspectors)
Integration with MConnet system to send the labour assignment to the Worker - to be clarified which system should receive the information about assigned voucher
Voucher generating, purchasing and assignment including the integration with MPay
Funds transfer process (which is going to be handled externally with proper MPay integration) - managing the process on the escrow account is not the part of the project scope
Project scope
openIMIS setup for Moldova
Data structure for Voucher Business Flow
Authorization and authentication
Employer Authorization using MPass
Data integration
Worker registration
QR Code
QR Code generation
Mobile App development
Secure login from QR Code
Introduction the possibility to read/scan QR Code
MNotify Adaptor for the notifications
Voucher
Voucher generation request
Online payments for voucher via MPay
Payment via bank transfer (Maximum One-Week Deadline)
MPay integration for Escrow Account
Voucher generation after successful payment
Voucher assignment
Voucher send into MCabinet system
Use cases
Employer authorization and authentication
Employer regisitration - using MPass integration
Employers are required to select on behalf of which specific economic unit they intend to carry out their activities within the system. (This selection process can be facilitated and managed at the MPass level.)
Employer shouldn’t have any other option to log into the system than MPass (no username/password)
Employer data in openIMIS has to be verified with MPass data every time, they log into the system
Roles between openIMIS and MPass are consistent
Unsucessful login via MPass (Can it be handled only on the MPass side?)
Mandatory Employer data in OpenIMIS
Tax number
Name
Location
System should generate unique system number for each Employer
Worker registriation
Employer creates Worker account
Worker mandatory fields
National ID
Name
Last name
System should generate unique system number for each Worker
No option to create an account if National ID is already assign to another account - validation
Personal information of worker should be updateable (except of National ID)
QR code is generated once new Worker is created
User stories
Employer authorization and authentication
As an Employer I want to register in openIMIS using my MPass account
As an Employer with multiple assignments to different economic units on MPass, I want the capability to select which economic unit I represent when performing actions within the system. This will enable me to accurately conduct activities on behalf of the specific economic unit I am assigned to.
As an system administrator I want Employer data in openIMIS to be conistent with MPass data to be sure that data are always up to dated
As a User attempting to log in via MPass, I want to be redirected to openIMIS with clear information, In the event of an unsuccessful login attempt through MPass (to be confirmed?)
Worker registriation
As a Employer I want to be able to create an account for a Worker, to properly assign the voucher later on
As an Employer I can’t have the possibility to create a Worker account once his National ID number was already used to create another account in the system
As a system administrator I want the QR code to be generated for each Worker, once his/her account is created. The QR code will be used later on for Worker verification