Data entry ------------------------------ -Should only be accessible to logged in admin users -All required info must be filled up -If "others" was selected on some fields, the field where you specificy it should be required -If all required info is not filled up, should show an error message -Beginning balance information, should be saved sa transactions table -Date of last payment should be on or before the current date -If the installment payment is empty, it should have value of 0 View ledger card -------- -Should be accessible only to logged in admin users -Show the default template of the ledger card Retrieve a ledger card ------ -Should only be accessible only to logged in admin users -If account number exist, then we display the ledger card with transactions as well as the "new water bill" button. Personal information of the account number should be added as well. -Transactions should be paginated. At least, 10 per page -If not, then we display the default template of the ledger card and an error that the account number does not exist -Full name should be displayed as follows, [Lastname], [Firstname] [Middlename] -Balance should be updated based on the latest transaction balance -Transactions should be sorted based on the latest billing date New Water bill -------- -Should only be accessible only to logged in admin users -Cannot add a new water bill without a valid account number -The water bill window, should show the current meter balance if any. If not, then don't show the meter balance -Automatically determine the next billing covered based on the previous billing date -Allow users to override the next billing date -Meter reading input is required -Current meter reading should be greater than the previous meter reading -If meter reading inputted is invalid, the meter reading input box should appear red. If valid, display green -Upon input of a valid meter reading the consumption, amount,total is automatically calculated but not saved to the database. (Should be saved only when save button is clicked) -If the previous balance is not paid, then we calculate the surcharge of the previous transaction and total balance. -If data is successfully saved, we refresh the page with the account number showing the updated transaction. -If error when saving, we display an error message and the modal will stay and information will not be saved.