Objective: Provide employees with the capability to search bills using filters.
Workflow Details
On the employee home screen, the Bill Genie module card contains the links related to Bill Genie screens.
Search Bill Screen
Parameters required to search a bill
Service Category → It is a mandatory parameter
Bill No → Every bill in the system has a unique Bill No.
Consumer ID/Property ID → It is a dynamic ID which is dependent on the selection of Service Category.
If the selected service category is either Water or Sewerage then Consumer ID is used
In all the other services Property ID is used
4. Mobile No.
Search Results
Search Results are shown in a Tabular format with the columns as displayed above.
Any Bill can have these 3 statuses and a unique action corresponding to that status
EXPIRED → Bill Genie User can generate a new bill if the existing bill is expired
Cancelled → Bill Genie User can generate a new bill if the existing bill is cancelled
PAID → Bill Genie users can download the receipt as a pdf if the bill is paid
When the user clicks on a bill number cell that bill is downloaded as a pdf
Technical Implementation Details
The search bill page’s technical implementation is available here:
Implementation details of Search Input parameters and error validation and handling details are available here:
Implementation details of the results table is available here:
Hooks/Utils Used
To Download a bill → A util function named downloadBill is used which is defined in this file
This util function is inside Digit Utils hence it can be called anywhere throughout the application like this Digit.Utils.downloadBill(consumerCode, businessService, "consolidatedreceipt")
To Search a bill → A hook named useBillSearch is used to search bills which is defined in this file
To fetch the data for the service category dropdown → A hook named useCommonMDMS is used to fetch this data. This hook is called with the following parameters: