In a government setting -
Payments are generally made TO and BY the government. In this document, we will refer to payments made by the government as expenses and payments received by the end party as receipts.
Payments made TO the government, ie. Receipt/Revenue to the government can be of two types
Demand based collection
First, a demand is generated by the government
Ex. Demand for Property Tax, Trade license, Water tax etc
Second, An invoice is issued by the government with these demand details for what is owed to the government either as taxes/charges/levies etc.
Third, Citizen acknowledges and pays the respective amount.
Fourth, a receipt is issued against the paid amount.
Non Demand based Collection
There is also another type where collections are made without any demand being generated.
DIGIT has this demand & Billing service to accommodate payments made to governments.
For payments made BY the governments
Ex - Salaries, Wages, Payments to beneficiaries, Contractors, Ad hoc payments
For any transaction to happen, there is a payer, payee, amount and entity details
Payer and Payee can be individuals or organizations.
Entity details contain other information which are important for a bill to be generated but not mandatory for payment advice
Ex. Invoice ID, Invoice date, Verification details etc
Every transaction will ideally start with an invoice equivalent that is generated by the supplier/contractor/muster/contract/payroll etc against which a payee will generate a bill on the name of the payer.
A Bill can have single or multiple beneficiaries. It should depend on the source of verifiable information.
Ex. If a muster roll has 20 beneficiaries, Bill also can have 20 beneficiaries. It is not needed to create 20 individual bills.
At the same time, A single invoice should not be divided into multiple bills.
Ex. Even though material is supplied in tranches, a single PO can lead to multiple invoices and only after the consumption of entire material as per individual invoice and associated measurement book, Bill for that invoiced amount can be created and paid.
A Payment advice is required to be generated to enable beneficiary payments, module is to be integrated with a payment gateway
Hence a payment advice will contain minimal information that is required for bank/gateway to make the payment.
Limits on number of beneficiaries and amounts etc to be configurable as will needed by the integration.
Expenses are created by the JE and approved by ME, EE/ EO depending on amount and associated approval authority.
This module should have the following components
Header Details
Bill ID
Bill Date
Party Bill ID
Party Bill Date
Bill Type
Salary/Pension Bill
Based on Payroll, leaves, PF, GPF, other allowances
Advance Bill
Unlike other bills which are post work/service completion and measurement, advance bill is raised prior and adjusted later.
Advance bill is horizontal and be applicable on top of all other bill types
Works/Contractor Bill
A contractor bill is created and measured against the measurement books and contract(work order) objects for verification.
When a user selected to pay a contractor bill, user can select against which measurement books of the contract this bill is being raised for, and accordingly bill amount will be calculated.
Muster/Labour Bill -
A labour bill is created from muster roll and usually have multiple beneficiaries within the same bill.
When a user selects to pay a wages bill, user can select which muster rolls to process as part of this bill, and accordingly bill amount and array of beneficiaries will be processed.
Supplier/Vendor Bill
A vendor bill is similar to contractor bill where as here instead of measurement book and work order, an invoice and material receipt register or purchase order are used for verification.
A vendor bill should ideally be against each individual invoice as submitted by the supplier.
Right now, there is no material receipt register or purchase order against which invoices are verified. Hence invoice in V1, cannot be as verifiable as we are verifying wages bill against muster rolls.
Contingency/Expense Bill
Ad Hoc expenses
Supervision Bill
This type of Bill is calculated as a percentage on top of other types of approved bills.
Others (need more usecases)
Debit Details
{Account Code, Account head, Debit Amount}
Treasury Payments - {Major, Sub Major, Minor, Sub Minor, Detail, Object head , Debit Amount}
ULB Payments - {Fund, Functionary, Budget head, Scheme, Sub Scheme, Debit Amount}
This should be configurable at the tenant level to choose what type of accounting system is followed.
Debit details should ideally be captured at the time of project creation. This helps in budget checks being done.
Each Project will be associated with a set of account codes and percentage amounts of the entire project, from where debit will happen.
Similarly, respective amounts (lumpsum/percentage) should be chosen from these account codes for each bill that is created.
Service should not allow to debit more than the initial quoted amount under respective heads against the sum of all the bills created for the project.
Deductions
Amount that is deducted from gross value of the bill as these are already included in the work line items
Deductions are classified into many types
Internal transfer
Ex. SOR line items already include cess 1%. Hence it is deducted here and transferred to labour welfare account head
SOR line items also include royalty on material. That needs to be deducted from here and transferred to tahsildar
Advance recoveries
Amount paid earlier for mobilization advancement or material procurement etc are deducted while creating new bill
Retention Money
Money is withheld for payments and paid at later date after defect liability period.
Deductions are always done against a beneficiary.
If a bill contains multiple beneficiaries, it needs to be specified against which beneficiary the deductions are made.
Credit Details
A bill can have multiple beneficiaries. But the nature of payments or beneficiary types should be same for all beneficiaries in one bill.
Wage seekers bill should contain only beneficiaries for wages
Materials bill should contain only vendors and be verified against their invoices
Once the bill of any type is created, this will go for approval and have wfstatus.
Every bill will also have beneficiary payment status.
In the absence of intergrations with Banks/IFMS, this status can be updated manually to mark beneficiary payments.
In the presence of integration, systems should show the status of payment.
Once a bill is approved, a payment advice needs to be created and send to integrated system. This system will send back success/failure status along with reasons.
Incase of payment failure, Works should allow modifying the bill, marking the changes as mentioned in the error codes and resubmit.
This will create a new payment advice, linking reference to earlier bill.
Actions to resolve : Works Specifications
Budget Checks
Input to expenditure service is when a project is created and an estimate is to be approved.
Expenditure will query the program service to get the status on fund availability.
Budget Blocking
In case funds are available, expenditure service can also ask program service to block respective funds (from estimation) for this project.
Budget hence is blocked and won’t be available for next projects to consume.
Release Blocked Budget
Expenditure module should also have provision to release the pre-blocked budget. So this can be used for other projects. Or the existing project for which the budget has been blocked is deferred.
Expense Planning
Expenditure service will also have a planning module which will give timelines of expenses and respective amounts to funding agencies.
Blocking module also feeds into the planning module to block funds in a timely manner.
Billing management
Bills are created under contracts (projects)
A contract is issued by Payer to Payee.
Contract can be materials, labor, services, supervision etc
A payee inturn issues invoices against the contract on supply of material/services.
After successful verification of supplies and invoices, payer add bills into the finance system
A voucher is created in accounting system for auditing purpose
A payment advice is sent to bank for making financial transactions
Voucher and bill statues are updated once the payments are made.
Validations
A contract can have multiple invoices raised by the payee before the contract is deemed closed.
An invoice can be a material invoice, labor invoice (Muster roll), invoice for supervision charges.
PS: Not every time an invoice is required to generate a bill.
Ex. Salary Bill, Advance bill, contingency bill etc doesn't need any invoices.
An invoice can have multiple line items.
Incase of a restaurant bill - Restaurant captures additional GST amount on net amount. All line items are paid immediately by the service seeker.They pay the taxes collected from all invoices to respective government bodies at set intervals.
Incase of a salary bill - All line items are not immediately paid to the service provider (Employee). Instead the employer deducts TDS and only pays part amount to the employee. Employer remits this amount to government body. Even the employee remits his part if the tax at regular intervals.
An invoice can also have multiple beneficiaries and headwise breakfups for each beneficiary.
An invoice when entered into the system creates a Bill. A bill entity internally will have multiple line items each by payer, beneficiary, amount and head combination.
So a muster roll with 1 payer, 3 payees, each payee having 500 rs payable and 50 rs deduction on ESI can be on 1 bill with 6 line items.
This bill when processed will create voucher in accounting system
A payment voucher however can be a combination of multiple payers and payees by line items. From above example
There can be minimum of 2 payment advices one for all payables of 450 rs to each individual
Other for all ESI deductions directed to ESI department.
This will help payments go faster to respective departments.
Once the payments are made, respective bill line items will be updated with statuses. Once all bill line items are updated, overall bill will be updated with status.
Inbox
Contract Selection and Bill type Selection
Contractor Bill Creation
Wage Bill Creation
Vendor Bill Creation
Supervision bill creation
Field
Data Type
Required (Y/N)
Comments
Bill Details
1
Bill Date
Date
Y
Todays Date
2
Party Bill Date
Date
N
Date on which Invoice is given by third party
3
Party Bill Number
Alphanumeric
N
Reference number on Invoice given by third party
4
Bill Type
Dropdown
Y
Salary, Pension, Works, Advance, Others etc
Financial Details (For ULB Payments)
5
Fund
Dropdown
Y
Capital Fund, Municipal Fund, Grant Fund
6
Function
Dropdown
Y
202107 - Roads and Building Maintenance
202406 - Street Lighting Maintenance
202500 - Storm Water Drains
7
Department
Dropdown
Y
Road and highways
Streetlights
Storm water drains
8
Scheme
Dropdown
N
Scheme is tied to a fund
Muncipal Fund, funds schemes such as Housing, employment, Capital fund, funds scheme like buildings & highways
9
Sub Scheme
Dropdown
N
Sub Scheme is tied to scheme.
10
Fund Source
Dropdown
N
Loans, Own sources, Grants, etc
Financial Details (For State Department Payments)
11
Chart of Accounts
Dropdown
Y
Length varies from state to state. Punjab has 16 digits. Odisha has 27 Digit Codes.
Odisha has following format
Demand Number(2)-Major(4) –
SubMajor(2) – MinorHead(3)-
Sub(4)-Detail(5)-Object(3) –
PlanStatus(2) – ChargedVoted(1) – SectorCode(1)
Example - 11(Demand Number) –
2225 (Major Head) – 02 (Sub
Major Head) - 277 (Minor Head) –
2367 (Sub Head) – 40004 (Detail
Head) – 544 (Object Head) – 21
(Plan Status) – 1 (Charged Voted) – 1 (Sector Code)
Will be represented as
112225022772367400045442111.
Beneficiary Details (Array)
12
Beneficiary ID
Searchable dropdown
Y
Registration ID of the beneficiary in the system
13
Beneficiary Name
Y
Name of the beneficiary
14
Beneficiary Type
Contractor, Employee, Tahsildar, Wage seeker, Asha Worker, Student etc
15
Phone Number
Phone Number
16
Aadhar Number
Aadhar Number
17
Account Number
Y
Account Number
Bank Account Name
Y
Name on bank account
18
Account Type
Savings, Current, Loan etcRequired in IFMS while processing payments
19
IFSC
Y
IFSC
20
Amount
Numeric
Y
Debit Details
21
Account Code
Y
2723000 ,2101001
22
Account Head
Roads and Bridges-Roads & Bridges
Salaries, Wages and Bonus-Basic Pay
23
Debit Amount
Y
Deduction Details
24
Account Code
N
3502017,
25
Account Head
Recoveries payable-LCCS, Creditors-Contractors
26
Deduction Amount
N
Net Payables
27
Account Code
Y
3501002
28
Payable Amount
Y
Debit Amount should be equal to sum of deduction detail plus credit amount.
DDO Details
29
DDO Code
N
30
DDO Login ID
N
DDO Login id is mandatory if multiple DDO exists for the same DDO code.
Summary Details
Y
31
Gross Amount
Y
32
Net Amount
33
Number of beneficiaries
Y
34
PreviousBillReferenceNumber
N
Needed if re-submitting previously objected to the bill.
35
Payment Date
Y
36
Payment Mode
Y
#
Error Code
Description
Action
Comments
1
EX0005
Could not find the XML in the Zip File
Technical
2
EX0006
Digital Signature File Missing in the Zip File
Technical
3
EX0007
Digital Certificate found to be Revoked
Technical
4
EX0008
Digital Certificate found to be Expired
Technical
5
EX0009
Certificate Serial Mismatch
Technical
6
EX0010
Signature Verification Failed
Technical
7
EX0030
Invalid Zip File
Technical
8
EX0033
Invalid File Naming Convention
Technical
9
EX0034
Public key not available for Signature verification
Technical
10
EX0903
XSD Validation Failure
Technical
11
FV0004
Duplicate File / Message
Technical
12
FV0005
Number of Transaction mentioned in the Header mismatch with the actual transaction
Technical
13
FV0006
Amount mentioned in the net amount mismatch with the actual transaction amount
How is this possible?
14
FV0007
ePayments Subscription not done for the Initiating Party
What is ePayments Subscription?
15
FV0008
Mismatch in Department Code or Service Code
Technical / Mapping
16
FV0058
Invalid File Name
Technical
17
FV0059
File Creation Date is greater than CBD
Technical
18
PV0007
Debtor Account Closed
Modify and Resubmit the Bill
19
PV0008
Debtor Account Freezed
Modify and Resubmit the Bill
20
PV0009
Debtor Account In-Operative
Modify and Resubmit the Bill
21
PV0010
Debtor Account Dormant
Modify and Resubmit the Bill
22
PV0014
Invalid Debtor IFSC
Modify and Resubmit the Bill
23
PV0070
Debtor IFSC and Creditor IFSC should not be same
Modify and Resubmit the Bill
24
PV0072
Invalid Payment Information ID Format
25
PV0073
Duplicate Payment Information Id
26
TV0002
Invalid Currency
27
TV0003
Invalid Creditor IFSC
Modify and Resubmit the Bill
28
TV0004
Duplicate End to End ID
29
TV0121
Creditor Account Closed
Modify and Resubmit the Bill
30
TV0122
Creditor Account Freezed
Modify and Resubmit the Bill
31
TV0123
Creditor Account In-operative
Modify and Resubmit the Bill
32
TV0124
Creditor Account Dormant
Modify and Resubmit the Bill
33
TV0130
Creditor Account Invalid
Modify and Resubmit the Bill
34
TV0133
Creditor Account Type Invalid
Modify and Resubmit the Bill
35
TV0161
Invalid IIN
What is IIN?
36
TV0162
Invalid Aadhaar format
Not required
37
TV0163
Invalid User Number
Not required
38
TR0001
Previous financial year bill not allowed
Modify and Resubmit the Bill
39
TR0002
Wrong bill head of account
Modify and Resubmit the Bill
40
TR0003
Duplicate bill number
Bill Number is generated Automatically by the system. It should ensure that this doesnt happen. if so, create another bill with new bill number
41
TR0004
Wrong object breakup head of account
Modify and Resubmit the Bill
42
TR0005
Wrong by transfer head of account
Modify and Resubmit the Bill
43
TR0006
Bill objected
Why?
44
TR0007
Payment failed
Why?
45
TR9999
Internal system error
Technical
46
0
Processed successfully
Requirement Specification
Mockup
Works Home Screen
Users having access to billing management can come to the billing inbox by clicking on billing management on the home screen.
Billing Management Inbox
Billing management inbox will have links to create new bill, search for existing bill and filter bills using
Bill ID
Contract ID
Bill Status
Bill created from date
Bill created to date
Initially inbox will be empty as no bills are created.
When bills are created and assigned to other users for approval, inbox table is filled as shown.
Table columns are
Bill ID
Bill date
Bill Type
Contract ID
Contractor Name
Status
Total Amount
SLA
Search Contracts to Create Bills
Users click on create Bill in the billing management inbox and search for existing contracts to create Bills
Search parameters to create Bills
Contract Name
Contract ID
Organization
Contract Type
Contract Created from Date
Contract Created to Date
Search results in the table to show
Contract ID
Estimate ID(s)
Contractor
Contract Type
Status
Contract Amount
Billed Amount
Actions
Validations
Show only contracts whose project closure is not done
Show contracts for which billed amount is equal to contract amount. But do not give option to create a new bill in Actions
Create a New Bill in actions will only be present for contracts whose bill amount is less than contract amount.
Clicking on Contract ID in first tab should show contact view screen exactly as it would open from contracts flow on home screen.
Primary CTA here will be same as what Actions menu shows on the previous screen.
Create Bill (If Billed Amount < Contract Amount)
None (Billed Amount = Contract Amount but project not closed)
Choosing Bill Type
Clicking on create bill should ask the user to select a particular bill type, next screen will be displayed accordingly.
Expenditure service may have many bill types like Salary/Pension Bill, Contractor Bill, Wage Bill, Vendor Bill, Supervision Bill, Advance Bill etc
Works Product will only show
Advance Bill
Contractor Bill
Vendor Bill
In specific implementations such as Mukta, this can extend to
Contractor Bill
Vendor Bill
Wage Bill
Supervision Bill
Validations
Mapping of Contract Type to Bill Type
WO.Work_Items
Contractor Bill
WO.Labour_and_Material
Vendor Bill
Wage Bill
Supervision Bill
PO
Vendor Bill
Mixed (ex. Mukta// Custom implementation)
Wage Bill (But has validations of contractor Bill)
Vendor Bill (But choose to pay to contractor or vendor depending on internal validations)
Supervision Bill
To create any type of bill under a contract, current billed amount shouldn’t have crossed the contract amount.
Contractor Bill
Header details will capture
Bill Date - Default to todays, but allow to change to previous date
Agency/ Firm Bill Number
Agency/Firm Bill Date - Date on which the agency has generated bill in their system. This should be before Bill Date
Contractor Bill is completely based on measurement book
If a contract is formed by combining multiple estimates it will have 1 Mbook for each estimate.
All the readings from multiple Mbooks under this contract, that are recorded and approved, but not yet paid will show in measurement details
User can select upto what date of the mbook reading payments can be made.
It is not mandatory to pay for entire approved readings.
Upon selection of days of readings, final calculation of gross amount payables is calculated and displayed.
In the second Tab, account details to be selected
Deductions
Deductions will be predefined master
Selecting Deduction Name in searchable dropdown will autopopulate Account head description and Amount
Amount is either percentage of Bill or Lumpsum
User can add comments
Deductions cannot be more than gross bill amount.
Deduction Name
Account Code and head
350200207
350200207 - CGST - Revenue
350200102
350200102 -Incometax receoveries - Revenue
Retention Money
Retention money is the amount retained within the source as part of every bill.
Retention money account heads will be defined in master.
Amount should be entered from UI
Retention money cannot be more than current bill amount - deductions
Advance Adjustment
Total Advance Paid - Sum of all the advances paid to this contractor under this contract.
Total Advance pending - Advance given - Advance Paid
Current Bill Deductions - Deductions that will be written off against balance amount.
Current Bill deductions cannot be more than gross Bill Amount - Deductions - Retention money
Net Payables
Net payables is the account code from which payment has to be made.
If we are capturing this at time of project creation, make this a default view only screen.
Otherwise, if user is entering it first time while bill creation, make this an inputtable field from UI with selectable dropdowns.
Bill will have the following statuses
Created
Checked
Approved
Rejected
Re-submitted
Cancelled
Completion Checklist
Only for final bills
Along with bill certain checklist and attachments need to be added to it can trigger project closure.
Wage Bill
Header information is same for all types of Bills
Unlike a contractor Bill, Wage bill is verified against Muster rolls.
All Muster rolls that are created and approved under that contract are shown here for user to select which muster rolls can become part of this bill.
User can do multi select and final amount is shown as gross amount of the bill
Deductions on each beneficiary
Similar to Contractor Deductions, each individual also can attract deductions.
User can choose to add deductions by each individual by clicking on edit icon.
A popup shows asking for deduction details.
User can also select to apply same deduction calculationf for all wage seekers from all musters that are selected.
Gross amount is calculated accordingly
Hence deductions in Account details(next tab) is view only field, a sum of all deductions by each deduction head.
Similar columns should be present for Retention money and Advance Adjustment where details against each individual will be captured in a popup and choosent to be applied to all individuals if needed.
Hence, Retention money and advance adjustment are also view only fields in next screen.
Functionality of net payables is same as contractor bill.
Vendor Bill
A vendor bill should be verified against Purchase order that is given to the supplier.
A purchase order can contain n*m (line items *quantity) and each invoice can be a subset of these items only.
Since in V1, we do not have complete Purchase Order detailed out.
A vendor bill is simply an invoice submitted from the vendor for payments.
It will have
Vendor ID (Ideally comes from contract details if it is PO. Incase of Mixed, or Material and Labour contract this should be captured from UI at the time of Bill creation)
Bill Amount
File Attachment
Deductions, Retention Money, Advance Adjustment and net payables are same as contractor Bill
Advance Bill
Advance Bill is just an amount that is given to the vendor/contractor/individual to commence the work.
Advance bill can be given at any time of the contract.
Advance bill will not have to be verified against any other document
Advance amount should be
< contract value - Billed Amount - Advance Adjustment
There should be provision to adjust Advance Amount in each bill
Supervision Bill
A supervision bill is a special type of bill that will be processed as percentage on top of existing bills.
User can select bills under that contract and select percentage to be given as commission. This will be created as new bill in the system
Deductions, Retention money, Advance adjustment and net payables act same as contractor bill.