Construction & Wages

Paying a Thekedar From the Muster — Without Paying the Same Day Twice

Payroll Bharat Team 10 Sept 2026 7 min read
Construction & Wages

Every construction site runs two payment paths at once. Some workers are on your own rolls and get settled directly. Others belong to a thekedar, and you pay the thekedar a bill for what his men did. Both are normal. Both are legal. And the moment you run both, you have created the most expensive bug in site accounting: the same day gets paid twice.

It rarely looks like fraud. It looks like a supervisor marking a worker present, the worker taking a weekly settlement, and the thekedar — three weeks later — billing for the same man on the same day because his own register says so.

Why a register cannot catch this

A paper muster records attendance. It does not record who has already been paid for that attendance. So there is no column to check. By the time the contractor bill arrives, the settlement is in a different book, often in a different month, sometimes in a different office.

Spreadsheets do not fix it either, because the check people try to run is the wrong one: they compare totals. Totals hide it. One duplicated day inside 218 man-days is a rounding error you will never spot, and it repeats every month.

The problem is not detection. It is that the muster row does not know its own payment status — so nothing can detect it reliably, however carefully you look.

The fix: stamp the row, not the report

In Payroll Bharat, every muster row carries two stamps — one for a worker settlement and one for a contractor bill. When either side consumes a day, it writes its own id onto that row.

And this is the part that actually matters: each side excludes rows stamped by the other, in both directions. A settlement will not pick up a day already billed to a thekedar. A contractor bill will not pick up a day already settled to the worker. Drop either exclusion and the bug comes straight back.

  1. 1The supervisor marks the muster — by site, floor and trade. Nothing is paid yet.
  2. 2A settlement or a contractor bill is drafted. It reads only rows that carry no stamp from either side.
  3. 3On approval, the rows it used are stamped with that settlement or bill id.
  4. 4Any later draft skips those rows. The choice is per ROW, so one site can be settled directly while another is billed through its thekedar in the same week.
The choice of payment path is made per attendance row, not per worker and not per site. That is what lets both paths coexist safely.

What a labour bill actually contains

Once the muster is the source, a contractor bill is not a typed document. The bill IS the muster. Nothing is entered by hand except the penalty and the notes. The gross comes from the days that thekedar’s men actually worked, at the rate stamped on each of those days.

The deductions then run in a fixed order, and the order is printed on the bill so the contractor can check it:

StepWhat it does
GrossMan-days from the muster, at the rate stamped on each day
Less advancesRecovered FIFO — oldest advance first
Less penaltyThe only figure typed by a human
Less retentionMoney held, not money forgone
Less PF & ESICStatutory contributions on wages
Less TDS 194CCharged on the PRE-retention value
TDS is deducted before retention, not after. Retention is money you are holding, not income the contractor has forgone — so when you release it later, nothing further is withheld. Get this backwards and you under-deduct today and over-deduct at release.

Deleting a bill has to give everything back

Anything a bill consumed must be released if the bill goes away — otherwise an advance stays "recovered" against a bill that no longer exists, and it can never be recovered again. So a draft bill freezes exactly which advances it used, and a delete unwinds from that frozen list rather than guessing.

A draft can be destroyed. An approved bill is cancelled and kept, because it carries a payment record and a compliance verdict that an audit will ask about. A paid bill cannot be deleted at all.

Compliance at the gate, not at the audit

A thekedar with an expired licence, or with no PF challan for the month, is a liability that lands on the principal employer — not on him. Payroll Bharat checks this at bill approval, and what happens next is your choice: `off`, `warn` (the default), or `block`. In block mode an approval needs an explicit override with a written reason, which is the thing an inspector actually wants to see.

A PF or ESIC challan is only demanded when that contractor actually holds the code. Sanctioned strength left blank means untracked, never zero — a blank field must not turn into an allegation.

What to check on your own site

  • Can you name, for any single day last month, which payment consumed it?
  • If a settlement is deleted, do its advances become recoverable again — automatically?
  • Does your contractor bill show its deduction order, or just a net figure?
  • When a worker changes thekedar, do his OLD days still bill to the OLD contractor?

That last one catches people out. A bill is for what that contractor’s men did on those days. If your system reads the worker’s current thekedar, you are settling history under the wrong party. The contractor has to be stamped on the muster row, the same way the rate is.

See how the whole flow works on the Daily Wages module page, or read about the registers this muster produces.

Run payroll the easy way

Everything included — PF, ESI, PT, TDS and more, on one platform.

Start free trial