How to prepare an RA bill: GST, TDS, retention and cess

Charge GST on the full value of the work in the bill. Then take retention, advance recovery, TDS and labour cess off what you are paid, not off what is taxed. One RA bill, worked line by line from both sides.

How to prepare an RA bill: GST, TDS, retention and cess

It is the 25th of the month. Your billing engineer has the client's deduction sheet in one hand and your Excel file in the other, and the two net payments do not match. The cause is often the same: something that should only reduce the payment has been allowed to reduce the tax, or the other way round.

The short answer:

Work out GST on the full value of the work in this bill. Then take retention, mobilisation-advance recovery, TDS and labour cess off what you are paid. None of them change what is taxed.

We worked through every line of this while building the billing module of Rebar, a construction ERP we built for reinforcement-steel contractors. The figures below are an example. Your contract sets the real percentages, and your CA has the final word on tax.

What is an RA bill?

An RA (running account) bill is an interim bill for the work done so far on a contract. You raise one each month or at each stage, and a final bill at the end.

The quantities come from the measurement book (MB), where the site engineer records what was actually built. Each RA bill is cumulative: work done up to date, less everything billed before. If the MB shows 40 tonnes of steel fixed to date and earlier bills covered 25 tonnes, this bill claims 15 tonnes.

So the usual RA bill format has one row per BOQ item, with these columns: item and unit, rate, quantity up to date, quantity in previous bills, quantity in this bill, and amount for this bill. The deductions come after that abstract, in the order shown below.

Taxable value and payment withheld are different things

Every figure on an RA bill does one of two jobs:

  • Taxable value: the value of the work in this bill. GST is worked out on this, and only on this.
  • Payment withheld: money the client keeps back from what it pays you. Retention, advance recovery, TDS and labour cess all sit here.

Think of a shop that sells a ₹1,000 item to a customer who pays ₹800 today and the rest next month. The sale is still ₹1,000, and GST is still charged on ₹1,000. Paying later changes the cash, not the sale. Withholdings work the same way.

A worked RA bill, line by line

Example numbers. You are a proprietor (the fourth letter of your PAN is P), billing a company client in your own state. Your contract says: 5% retention, a mobilisation advance recovered at 10% of each bill, and 1% labour cess deducted by the client. GST is taken at 18%, the general rate for works contracts. A few government works carry other rates, and some changed on 22 September 2025: after the 56th GST Council meeting, works contracts for the Government that are mostly earthwork, and their subcontracts, moved from 12% to 18%. Confirm your own rate with your CA.

LineHow it is worked outAmount (₹)
Work done up to date (from the MB)Cumulative12,00,000
Less: billed in earlier RA billsRA-1 to RA-37,00,000
Work done in this bill (taxable value)12,00,000 − 7,00,0005,00,000
Add: CGST 9%On 5,00,00045,000
Add: SGST 9%On 5,00,00045,000
Invoice total5,00,000 + 90,0005,90,000
Less: retention 5%On 5,00,00025,000
Less: mobilisation advance recovery 10%On 5,00,00050,000
Less: TDS 1% (PAN fourth letter P)On 5,00,000, not on the GST5,000
Less: labour cess 1%On 5,00,000 (see below)5,000
Net payment to you5,90,000 − 85,0005,05,000

GST stays at ₹90,000 whatever is withheld. Two variations:

  • If your PAN's fourth letter is C (company) or F (firm), TDS is 2%, or ₹10,000, and the net payment becomes ₹5,00,000. Its match with the work value is a coincidence.
  • The table keeps TDS simple and takes it on the whole ₹5,00,000. If the client already deducted TDS when it paid you the advance, see the advance section below: TDS may then be lower.
Illustrative RA bill as a waterfall chart. Work done in this bill, the taxable value, is 5,00,000 rupees. GST at 18 percent adds 90,000, making an invoice of 5,90,000. The client then withholds retention of 25,000, mobilisation advance recovery of 50,000, TDS of 5,000 and labour cess of 5,000, so the net payment is 5,05,000. GST is worked out only on the 5,00,000.
GST is worked out on the work value. The four withholdings come off the payment. Example numbers only.

If the client is a government department (or another body notified for this) and the contract is worth more than ₹2.5 lakh, it will usually also deduct GST-TDS under section 51 of the CGST Act. That is 1% CGST plus 1% SGST on the value before GST, so ₹10,000 here. It is not a cost: it shows up as a credit in your GST cash ledger, which you use to pay your GST.

Is TDS deducted on the GST amount?

No, as long as GST is shown separately on the bill. CBDT Circular 23/2017 says no tax is deducted on the GST part when it is shown separately in the invoice. Guides to the new law apply the same rule.

The section number did change. From 1 April 2026, contractor TDS falls under section 393(1) of the Income-tax Act, 2025, instead of section 194C. The rates are the same: 1% when the payee is an individual or HUF, 2% for everyone else. No TDS is needed while each payment is ₹30,000 or less and the year's total stays within ₹1,00,000. If the payee gives no PAN, the rate is 20%.

The fourth character of every PAN shows the holder type: P for an individual, H for an HUF, C for a company, F for a firm, and so on. In our system the TDS rate is never typed; it is read from the PAN. You can do the same in Excel. With the PAN in cell A2:

=IF(A2="",20%,IF(OR(MID(A2,4,1)="P",MID(A2,4,1)="H"),1%,2%))

Is GST charged on retention money?

Yes. GST is due on the full value of the bill, retention included, when you raise the invoice. Under section 13 of the CGST Act, tax on a service falls due on the invoice date or the payment date, whichever comes first. So the whole ₹90,000 goes into this month's return, including the GST on the ₹25,000 the client keeps until the defects period ends.

When the retention is released, you do not charge GST on it again; it was taxed on the original bills. The practical effect: you pay tax on money you have not yet received. Plan your cash for it.

Labour cess: deducted on which amount?

Most advice we found says 1% of the work value before GST. But some government clients deduct it from the whole bill including GST. Read your contract and ask your CA.

The cess funds state welfare boards for construction workers. The BOCW Welfare Cess Act, 1996, which created it, was replaced by the Code on Social Security, 2020, most of which came into force on 21 November 2025. A notification of 8 May 2026 kept the rate at 1% of the cost of construction. Government and public-sector clients deduct it from the bills they pay.

On the base, there are two views:

  • Before GST (₹5,000 here). An advocate's article argues that cess is on the "cost of construction", which does not include GST, and cites a 2022 Labour Commissioner's order saying the same. A reply on a tax forum takes the same view.
  • Including GST (₹5,900 here). The same article admits that government bodies and PSUs often deduct cess from the full bill including GST.

Because the answer changes with the client and the state, our system treats cess as a per-project setting (deduct or not, and at what rate), not a fixed rule. In Excel, give it its own cell and its own base.

Mobilisation advance and its recovery

A mobilisation advance is money the client pays at the start so you can set up the site. It is recovered from your RA bills, usually as a percentage of each bill, until it is repaid. The recovery comes off the payment, never off the taxable value: the work in the bill is still worth ₹5,00,000.

Three things to settle before the first bill:

  • Stop at what is left. If 10% of this bill is ₹50,000 but only ₹30,000 of the advance is outstanding, recover ₹30,000. A flat percentage in a spreadsheet keeps going and quietly underpays you.
  • TDS on the advance. If the client deducted TDS when it paid the advance, common advice is not to deduct it again on the part of a bill that only recovers that advance. In our example, TDS would then be 1% of ₹4,50,000, or ₹4,500, and the net payment ₹5,05,500.
  • GST on the advance. In February 2026 the Gujarat Authority for Advance Ruling held that GST on an interest-free mobilisation advance is due when it is received, not when it is recovered in RA bills. A ruling binds only the business that asked, but it shows which way the question can go. If you pay GST on an advance, ask your CA how that tax is set off against later RA bills, so it is not paid twice.

The same bill from your subcontractor's side

RA bills run both ways. You bill your client, and your subcontractors bill you. On their bills, you deduct the TDS and hold the retention.

Say a bar-bending subcontractor, a partnership firm, bills you ₹87,500 for this month's work, and you had issued them cement worth ₹20,000:

LineAmount (₹)
Work done (their taxable value)87,500
Add: GST 18%, if they are GST-registered15,750
Their invoice1,03,250
Less: retention 5%4,375
Less: TDS 2% (PAN fourth letter F)1,750
Less: cement issued to them20,000
Net you pay77,125

How GST applies to recovered material depends on your subcontract; ask your CA. Our system does not deduct labour cess again on subcontractor bills: the cess is levied once, on the construction work, and the client's deduction covers it. If your subcontract says otherwise, follow it.

Keep a retention register for each subcontractor: how much you hold, from which bills, and when it falls due. Release it as a deliberate step after the defects period, not from memory.

One more trap. In one of our own test runs, ₹1.2 lakh of cement was recovered against this same ₹87,500 bill, and the net came out at minus ₹22,875. Recovering more than a bill is worth creates a debt, not a payment. Good software refuses it, recovers only what the bill can absorb, and carries the rest to the next bill.

Five mistakes we design billing software to stop

1. GST worked out on the net

Take 18% of ₹4,75,000 (the bill after 5% retention) and you charge ₹85,500 instead of ₹90,000: ₹4,500 short on one bill. No screen shows an error. It can turn up later as a tax demand. One of our billing tests checks exactly this case.

2. TDS on the wrong base, or at the wrong rate

TDS on ₹5,90,000 instead of ₹5,00,000, or 2% typed for a proprietor who should have 1%. Use the value before GST, and read the rate from the PAN.

3. Retention with no release date

Retention held across five sites with no due dates is money nobody chases. Each amount needs its bill, its project and its release date. If your contract caps retention, stop at the cap: on a ₹10,00,000 contract capped at 5%, with ₹48,000 already held, the next bill may withhold only ₹2,000.

4. A rate change that rewrites old bills

In a spreadsheet, change the retention cell from 5% to 10% and every old bill that points at it changes too. Our system saves the rates and amounts on each bill when it is submitted, so changing a contract term later cannot restate last year's bills.

5. Client bills and subcontractor bills mixed up

We made this one ourselves. While building the construction ERP, our subcontractor bills screen showed client bills. Headings and totals looked right, and every "does the page open" check passed. Only a test on the amounts caught it: the page should have listed a ₹87,500 subcontractor bill with ₹1,750 of TDS, and it did not. If you are choosing billing software, test it with a bill whose answer you already know. Check the numbers, not the look.

Is Excel enough for RA bills?

For one or two sites and a few subcontractors, often yes. Use one sheet per bill, keep up-to-date and previous quantities in separate columns, and put every rate in its own labelled cell. Save a PDF of each bill when you send it, so it cannot change later.

You have probably outgrown it when nobody can quickly total retention across sites, when several subcontractors bill against the same measurements, or when checking the client's deduction sheet means redoing every sum by hand. Our article on when a spreadsheet stops being enough covers the wider signs.

If you do move, bring your real files. Our spreadsheet importer passed every sample sheet we made, then failed on two real exported files. Test any new system with your own sheets, not the vendor's samples.

Common questions

What replaced section 194C?

Section 393(1) of the Income-tax Act, 2025, from 1 April 2026. Payments before that date fell under 194C. The rates did not change: 1% for individuals and HUFs, 2% for others, on the bill value before GST.

Do RA bills need GST e-invoicing?

Yes, for bills to registered clients, if your aggregate turnover crossed ₹5 crore in any year since 2017-18. An RA bill is a B2B invoice like any other. The threshold has changed before, so confirm it with your CA. Our e-invoicing explainer covers what your software must do, and our e-invoicing integration page covers how we connect it.

How long can a client hold retention?

As long as your contract says. Retention is usually held until the defects liability period ends: the time after handover during which you must fix defects. Note the release date on the day each bill is passed, so getting paid does not depend on someone remembering.

Send us a bill you already know the answer to

If your RA bills live in Excel and the deductions never match the client's sheet, send us one bill you have already checked. We will show you how a system would work it out, in both directions, with retention tracked until release. We are a small studio in Udupi, working with businesses across coastal Karnataka and the rest of India. Read about our ERP development work, see the construction ERP we built (a private system), or simply write to us.

This article explains how the numbers fit together. It is not tax or legal advice. Rates, thresholds and rulings change, so confirm each point with your CA.

← All articles Start a project
Whirl Designs assistantAnswers from this site · not a person
Ask about what the studio builds, how a project runs, or what would suit your business. I answer from this site, and I can pass you to the team any time.
WhatsApp us