Expenditure / Billing
Background/Context
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
Approach
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.
Expenditure module
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.
Link to Figma
Inbox | |
Contract Selection and Bill type Selection | |
Contractor Bill Creation | |
Wage Bill Creation | |
Vendor Bill Creation | |
Supervision bill creation |
Bill Attributes
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 |
Functional Requirements
Requirement Specification | Mockup |
Works Home Screen | |
| |
Billing Management Inbox | |
| |
Search Contracts to Create Bills | |
Validations
| |
| |
Choosing Bill Type | |
Validations Mapping of Contract Type to Bill Type
| |
Contractor Bill | |
| |
Deduction Name Account Code and head 350200207 350200207 - CGST - Revenue 350200102 350200102 -Incometax receoveries - Revenue
| |
Completion Checklist | |
Only for final bills
| |
Wage Bill | |
| |
Vendor Bill | |
| |
Advance Bill | |
| |
Supervision Bill | |
|
Bill Objection reasons
Actions to resolve : Works Specifications
# | 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 |
Expenditure service domain modeling
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.
Last updated