Give the work out. Know to the rupee what is owed.
Allot measured items to a contractor at his own agreed rate, bill him against the quantity that was actually measured, and take security deposit, TDS and his advance out on their own lines. Nothing on the bill is a figure somebody retyped from somewhere else.
Money going out to a contractor runs the same waterfall as money coming in from a client — gross work first, then every deduction on a line of its own, then the net. The screen above is the client side; the contractor side is the same bill read from the other end.
Nine screens between handing out the work and paying for it.
A contractor's file is one chain — his profile, the work he was given, every bill raised against it, and every rupee released. Each screen reads the one before it, so a quantity nobody measured cannot be billed and a bill nobody certified cannot be paid.
Three arguments that happen on every site
"That item is mine"
Two firms both claim the same 100 cum of RCC, because the allotment lives in a WhatsApp message and a register nobody reconciles.
"Where did my money go?"
The contractor sees one number on the cheque and cannot tell what was held, what was recovered and what was tax.
"You billed that last month"
Nobody is sure how much of the work order has already been billed, so the same quantity goes through twice and is caught at the end.
One directory of firms for the whole company — not one list per project.
A contractor is created once, in the master list, and belongs to no project until you hire him into one. The same firm working on Phase 1 and Phase 2 is one record with one PAN and one bank account, and correcting the account number corrects it everywhere it will be used.
The details are checked while you type, because a wrong PAN on a payment certificate is a problem you find out about months later, from your auditor.
- A code is suggested from the category — a labour contractor comes up as LAB-2026-001 — so your vendor list is numbered instead of being a pile of names.
- PAN, GSTIN and IFSC are validated. A PAN must read ABCDE1234F, a GSTIN must be a real 15-character number, and typing an IFSC fills in the bank name and the branch for you.
- Specialisation comes from your own work categories. Tick the trades this firm does — RCC Work, Brick Work, Plaster Work — and those are the only Measurement Book items he can be given later.
- A firm in use cannot be deleted. If he is hired anywhere, delete is refused and you are offered Suspend or Blacklist instead — so history is never quietly removed.
- Export what is on screen. Filter by category, specialisation or status, then take the same filtered list out as Excel or a PDF for the office.
What one firm's record holds
Only the firm name is compulsory. Everything else is there because a bill, an agreement or a payment voucher will need it, and you would rather type it once.
| Group | What is kept |
|---|---|
| Identity | Firm name, code, category, department, status |
| Contact | Mobile, email, address, and two named contact persons with their own numbers |
| Statutory | PAN and GSTIN, both format-checked |
| Bank | Account number, IFSC, bank name and branch — filled from the IFSC |
| Trade | Specialisation, picked from the project's own work categories |
Before you give him more work, see what he already holds
More Info opens the transparency view: every project this firm is hired on, every work order under each of them, and every item inside those work orders with its quantity, rate and amount.
So the question "how much have we already given Sharma Constructions across all three sites?" has an answer on one screen, before the next package is handed over — instead of after.
Hiring the same firm into a project twice does nothing — you get back the record that is already there, with his PAN, bank and specialisation already filled in.
Give him measured work at his rate — and the app will not let the same item go out twice.
A work order is not typed. It is imported from the Measurement Book, so the quantities the contractor is being held to are the quantities you estimated, and the only thing you change is the rate you agreed with him.
The import screen tells you the truth about every item
Open Import from Measurement Book and every item of the project is listed with what has already gone out. Eligible rows arrive ticked, at their Measurement Book rate.
| Measurement Book item | Total | Allotted | Remaining | Rate | Status |
|---|---|---|---|---|---|
| RCC M25 in columnsConcrete Work · cum | 100 | 0 | 100 | 5,000 | available |
| RCC M25 in footingsConcrete Work · cum | 100 | 60 | 40 | 5,000 | part allotted |
| Brick work in superstructureBrick Work · cum | 96 | 96 | 0 | 6,884 | fully allotted |
Tick the second row and the import gives this contractor 40 cum, not 100 — the balance, not the measured total. The third row cannot be ticked at all, and the screen says why rather than failing silently when you try.
- Specialisation is a gate. With "RCC Work" ticked on his profile, plaster and brick items are blocked for that firm. With nothing ticked, every un-allotted item is offered.
- Work that was never measured can still be added. Type a row by hand — "Shuttering removal, 200 sqm at ₹40" — for site clearance and the odd jobs that never reach the estimate.
- Imported twice by mistake? Remove Duplicate Imports keeps the first copy of each item, deletes the repeats and re-totals the order.
Then freeze it — because a bill needs something to measure against
Correct the rates in the grid, click Save Details, then Submit & Freeze. From that moment the work order is read-only and every bill of that contractor is measured against this exact scope.
Freezing is refused if the order has no items, or if a slab-rate or lump-sum order's milestones do not add up to 100%. You are not allowed to bill against a scope that does not close.
A work order arrives half filled in
The number, today's date, and the three deductions your contracts normally carry are already there, so a new order takes one minute and not one meeting.
All four are yours to change before you freeze. After that they are the terms every bill under this order will use.
How he gets billed is decided when the order is made, not during the argument.
Not every contractor is paid the same way. A labour contractor is billed on measured quantity; a slab-rate contractor is paid a rate per square metre of slab as each floor finishes; a lump-sum package is paid against agreed stages. Set the work type on the work order and the bill screen follows it on its own.
Item-wise work
The normal case. Items come from the Measurement Book with quantity, unit and rate, and each bill measures how much of each item was done in that period.
Billed on a cycle — weekly, every 15 days, monthly, or a custom number of days that you type.
Slab rate
No SOR clause and no Measurement Book import. Each line is a stage with its slab area and its rate — the way a shuttering or a labour package for a structure is actually contracted.
Billed against milestones you define yourself, which must total 100%.
Lump sum
One agreed amount for the whole package. The item row is a description and an amount — no quantity to argue about, because there is not one.
Billed against milestones as well, so a lump-sum job is still released in instalments against work that actually finished.
The cycle fills in the bill period for you
Pick 15 Days on the work order and the first bill's period runs from the work order date for fifteen days. Every bill after that carries on from where the previous one stopped — no gap, no overlap, and nobody working out dates on the back of the file.
Milestones cannot be billed twice
On a slab-rate or lump-sum order the bill does not show a measurement table at all. It shows your milestones as a list to tick.
| Milestone | Share | This bill |
|---|---|---|
| Foundation complete | 30% | billed earlier |
| Ground floor slab | 30% | billing now |
| First floor slab | 25% | not yet |
| Finishing and handover | 15% | not yet |
| Milestones must total | 100% |
A milestone already billed comes back ticked and locked, so it cannot be picked up again in a later bill. The abstract prints stage by stage — work stage, slab area, slab rate, the percentage billed before, the percentage in this bill and the total to date.
The bill measures against the frozen work order. It cannot drift.
A running-account bill is cumulative: this bill is everything done to date, minus everything billed before. The app keeps that arithmetic itself, so bill 4 does not depend on somebody remembering what bill 3 said.
Import what was done this period — not what is left
The measurement sheet shows, for every item in the work order, the ordered quantity, what has already been billed, and the pending balance. The quantity you are billing starts at the full pending figure, and you cut it down to what the site actually did.
| Item | WO qty | Already billed | Pending | Billing now |
|---|---|---|---|---|
| Brick work in superstructure | 120 | 0 | 120 | 30 |
| RCC M25 in columns | 40 | 15 | 25 | 10 |
| Unbilled quantity simply rolls into the next bill | — | |||
You cannot type more than the pending figure. That single rule is what stops the same 30 cum being billed in April and again in May and being caught in the final reconciliation, when the money is already gone.
- Or bill what the site reported. Import from DPR takes a date range and totals the quantities the site filed in its daily progress reports for that contractor — so the bill is the site's own record, not a fresh claim.
- Several work orders, one bill. Tick more than one item-wise order and they are certified as a single bill. Slab-rate and lump-sum orders are always billed on their own.
- Finalize & Lock freezes the figures the next bill will treat as "already billed". Reopen to Edit exists for a mistake found in time — but it is refused once a payment has been recorded against that bill.
Three sections, because a bill is not only work done
Real bills carry recoveries and additions. Each has its own section, and the gross is worked out from all three — not adjusted afterwards with a pen.
The abstract behind it prints every item with its previous quantity, this bill's quantity and the total to date — the sheet the contractor checks line by line before he signs.
Brickwork for one villa, first bill.
The work order is 120 cum of brickwork at ₹5,000 — ₹6,00,000, frozen, with the standard 5% security deposit, 5% performance guarantee and 2% TDS. The site finished 30 cum this month.
Press Payment Certificate and that is the sheet he takes away — with your company heading, the paper size and orientation you set, and space for the signatures. The ₹15,000 of deposit and guarantee is held, not lost: it comes back to him on completion and after the defect liability period, and the app keeps it as a running held figure rather than as a note in a diary.
Every deduction on its own line, and every one of them cumulative.
The percentages are set on the work order and then applied by the app, bill after bill. They are worked on the cumulative gross, so the amount held at any point is the correct total across every bill raised so far — not the sum of five separate roundings.
That matters at the end, when the security deposit has to be released. You need one figure you can defend, not a reconciliation exercise.
- Security deposit / retention — held from every bill, released on completion.
- Performance guarantee — held separately from the deposit, because it is returned at a different time.
- TDS under 194C — deducted and shown, so the challan and the return match the bill.
- Your own deductions. Add any line your contract carries — cess, royalty, liquidated damages — with its own name and its own percentage on the work order, and it appears on every bill under that order.
- And the release. When the deposit or the guarantee is given back, it goes on the bill as its own line and is added to the net — capped at what is actually held, so you can never release more than you took.
Advance recovery sits in this waterfall too, but it does not work like a percentage deduction at all — that is the next section, and it is the one most often got wrong.
Bill 3 of a running account
Cumulative work of ₹6,00,000 to date, of which ₹4,00,000 was certified in bills 1 and 2. This is the whole waterfall on one screen, in the order a bill is actually built.
The last two lines are what makes it a running account. Every figure above them is the position to date; the payment is only the difference.
Held is not the same as unbilled
The ledger says so in words, because this is where most contractor disputes start. The gap between gross billed and net certified is withheld or recovered — deposit and guarantee coming back later, TDS gone to the government, advance being repaid. Work not yet billed is a separate figure again: work order value minus gross billed.
The recovery is a slice of the advance — not a slice of the bill.
This is the one number almost every spreadsheet gets wrong, and it is worth reading carefully, because getting it wrong squeezes a contractor in the month he can least afford it.
₹1,000 advance, recovered at 50% per bill
Fifty per cent of the advance is ₹500. That same ₹500 comes off each bill until the advance is repaid — whatever that bill happens to be worth.
| Bill | Bill value | Recovered | Still outstanding |
|---|---|---|---|
| Bill 1 | ₹ 5,000 | ₹ 500 | ₹ 500 |
| Bill 2 | ₹ 800 | ₹ 500 | ₹ 0 |
| Advance repaid in full | ₹ 1,000 | ₹ 0 | |
A big bill and a small bill both give back ₹500. The plan you agreed with him is the plan that runs, month after month.
50% of the bill instead
Half of a ₹5,000 bill is ₹2,500 — more than the whole advance. Capped at what is outstanding, the entire ₹1,000 disappears out of the very first bill.
On a ₹50,000 mobilisation advance that is the difference between ₹5,000 a bill and the contractor's entire first certificate going back to you — which is exactly when he stops paying his labour and the work slows down.
And on the final bill, whatever is still outstanding is cleared in full, whatever the recovery percentage says — so an advance can never be left half-recovered after the contractor has finished and gone.
Set it on any basis you use
A percentage of the work order value, a percentage of a bank guarantee, a percentage of an invoice, or a plain fixed amount. The amount works itself out as you type — 10% of a ₹5,00,000 order shows ₹50,000 straight away.
Start it where the contract starts it
Recovery normally begins at bill 2, so the contractor's first certificate is untouched — but the starting bill is yours to set. Mobilisation, material and equipment advances can each run on their own terms at the same time.
Give it out in parts
Record each transfer as it is actually made, with the date, the mode and the UTR. A disbursement that would take the total past the sanctioned amount is refused — so the advance register can never quietly exceed what was approved.
Certified, paid, still due — bill by bill and firm by firm.
Record the transfer on the day it leaves your account, with the mode and the reference number, and tie it to the bill it settles. A payment can also be left on account when it is not against any one bill — it still counts against his balance, so it never goes missing.
The ledger then answers the question an owner actually asks: not "what have we spent", but "which bill is still sitting unpaid, and how much of it".
- Every bill carries its own state — paid, part-paid or unpaid — beside its date, its gross, each deduction and its net. One glance down the column tells you what is outstanding and since when.
- Paying more than the balance is questioned, not blocked. You are warned and allowed to go ahead, because sometimes that is deliberate — but you will never do it without noticing.
- A paid bill cannot be reopened. Once money is recorded against a bill, its figures are settled — correct it before you pay, not after.
- Hand him the proof. A payment voucher for a single transfer, and a full statement as PDF or Excel — every work order, every bill, everything held and everything released.
The bill-wise statement
This is the sheet you send at month end. Each row is what that bill added and deducted, so the totals at the bottom are the account.
| Bill | Date | Gross | SD | TDS | Net | Paid | State |
|---|---|---|---|---|---|---|---|
| 1 | 15 Apr | 1,50,000 | 7,500 | 3,000 | 1,32,000 | 1,32,000 | paid |
| 2 | 15 May | 1,00,000 | 5,000 | 2,000 | 83,000 | 50,000 | part-paid |
| 3 | 15 Jun | 1,20,000 | 6,000 | 2,400 | 1,06,600 | 0 | unpaid |
| Total | 3,21,600 | 1,82,000 | |||||
Across the whole project, in one line each
Every contractor on the job with what he was allotted, what he has billed, what has been certified, what has been paid and what is left — so the payment meeting takes ten minutes and runs off one screen instead of five files.
Work that has not passed its check does not reach the bill.
A quality checklist that is filled in after the payment has gone out is not a quality system — it is paperwork. So the check sits between the work and the money.
When you import items into a contractor's bill, an item whose quality inspection is still pending is left out and reported — "2 skipped, QC approval pending" — instead of being billed quietly. The same rule applies whether you are importing from the work order or from the site's daily progress reports.
- The checklist is the one attached to that work activity, with its hold points — the critical checkpoints that stop the activity until somebody clears them.
- The site engineer ticks it on his phone at the pour, with photos, so passing the check is not an office formality done a week later.
- Nothing is deleted or hidden. The item is still there, still measured, still pending — it just does not become payable until it is accepted.
Payment follows acceptance
Written as the order it enforces:
Nothing here is typed twice.
A contractor's money starts as a quantity somebody measured for the estimate, and ends as a voucher in your books. In most offices that journey is five files and four re-typings. Here it is one number, read by each screen in turn.
The reason a contractor bill is argued over is almost never the engineering. It is that the two sides are reading two different files. Put both of you on the same one and most of the argument disappears.
Bring the bill you are arguing about.
Thirty minutes on a call. Send us one live work order and its running bill, and we will set it up in the app and certify it while you watch.