Retention is money you hold back from a contractor’s bill as security, and release once the work stands up. Conceptually it is one line. Operationally it is where labour billing most often goes wrong, because three separate questions get answered inconsistently: how much, on what, and what happens at release.
Where the percentage comes from
On a real site there is rarely one answer. There may be a rate typed on this bill, a slab table on the work order, a flat rate on the work order, and a default on the contractor master. So the resolution order has to be fixed and written down:
- 1A rate entered manually on this bill
- 2The work order’s slab table
- 3The work order’s flat rate
- 4The contractor’s flat rate
- 5Zero
And whichever wins is frozen onto the bill — both the percentage and which basis produced it. Six months later, when the release is raised, nobody has to reconstruct what the policy was at the time.
The slab trap
A slab table with no catch-all at the top does not do what people expect. If your slabs cover up to ₹10 lakh and the bill is ₹12 lakh, the amount above the last ceiling matches no slab at all.
The fix is on your side and takes ten seconds: give the slab list a final band with no upper limit. If you inherit a work order without one, you will see zero retention on the excess — which is the system telling you the table is incomplete.
TDS comes before retention
This one costs money when it is wrong. TDS under 194C is charged on the pre-retention value. Retention is money held, not income forgone — the contractor has earned it, you are simply not paying it yet.
Get the order right and the release is clean: the retention was already taxed when it was earned, so when you release it, nothing further is withheld. Get it backwards and you under-deduct on every bill and then have to over-deduct at release to catch up — which the contractor will dispute, correctly.
| Correct | Wrong | |
|---|---|---|
| Gross | ₹1,52,600 | ₹1,52,600 |
| Retention @ 5% | −₹7,630 | −₹7,630 |
| TDS 194C @ 1% on | ₹1,52,600 (pre-retention) | ₹1,44,970 (post-retention) |
| TDS | −₹1,526 | −₹1,450 |
| At release | Nothing withheld | Shortfall to recover |
The release is its own bill
A retention release is not an edit to the original bill. It is a separate bill that draws on what is held — and it can never exceed the balance. That keeps the audit trail intact: the original bill still shows what was retained, and the release shows what was returned and when.
It also means a release can be partial, which is what actually happens when half the defect list is closed and half is not.
Before your next bill, check three things
- Does every slab table end with an open-ended top band?
- Is your TDS computed before retention is taken off?
- Can you see, per contractor, how much retention you are currently holding — without opening each bill?
If the third one is hard to answer, that is usually the sign retention is being tracked in a spreadsheet beside the system rather than inside it — and that spreadsheet is where releases get missed.
More on contractor labour bills and the Daily Wages module.