Joining Bonus Clawback: Pro-Rata Repayment, Gross or Net
In this article (6 sections)
Related programme: the FDE for Freshers course (6–7 months; EMI from ₹8,000/month · full fee shared on your counselling call). See also open Forward Deployed Engineer jobs in India, updated daily.
A clawback clause says how much of your joining bonus you must repay if you leave before a set date. It pays to know that figure before you resign. Three things decide it: the clause's shape (full, tiered or pro-rata), whether time is counted in months or days, and whether the demand is for the gross bonus or what reached your bank. On a hypothetical ₹1,50,000 bonus with a 12-month clawback and an exit after seven months, the demand can be anything from ₹49,500 to ₹1,50,000.
Three clause shapes, one exit date
Assume you joined on 1 November 2026, received a ₹1,50,000 joining bonus, and your last working day is 31 May 2027. That is seven completed months out of a twelve-month commitment.
| Clause wording (paraphrased) | How it is computed | Repayment |
|---|---|---|
| "Repayable in full if you leave within 12 months" | 100% of ₹1,50,000 | ₹1,50,000 |
| "100% within 6 months, 50% within 12 months" | 50% tier applies | ₹75,000 |
| "Repayable pro rata for the unserved period" | ₹1,50,000 × 5 ÷ 12 | ₹62,500 |
Everything turns on the wording. "Within 12 months" measured from the joining date and "within 12 months" measured from the payment date can differ by a month if the bonus came with your second salary.
Months or days
A pro-rata clause may count completed months or calendar days. From 1 November 2026 to 31 May 2027, you serve 212 days of the 365 in the commitment period, leaving 153 unserved.
- Month basis: ₹1,50,000 × 5 ÷ 12 = ₹62,500
- Day basis: ₹1,50,000 × 153 ÷ 365 = ₹62,877
The gap is small here, but it grows if you leave a few days before a month boundary. On a month basis, leaving on 28 May instead of 31 May could count as only six completed months, raising the repayment to ₹75,000. A day basis would move it by about ₹1,233.
Gross or net: the part people argue about
You received the bonus after TDS. It is salary for tax purposes: section 18(1)(b)(i) of the Income-tax Act, 2025_Bill.pdf) treats an amount received before joining as profits in lieu of salary, and one paid with salary is salary in the ordinary way. Suppose that, in your tax year 2026-27, the bonus sat wholly in the 20% slab. Then ₹31,200 was deducted (20% plus 4% cess) and ₹1,18,800 reached your account.
| Pro-rata demand basis | Calculation | Amount |
|---|---|---|
| Gross | ₹1,50,000 × 5 ÷ 12 | ₹62,500 |
| Net of the TDS you suffered | ₹1,18,800 × 5 ÷ 12 | ₹49,500 |
Most clauses are written in gross terms. Whether the rupees you repay reduce your taxable salary for the year of repayment, or of receipt, is a question we have not verified under the 2025 Act. On a large repayment, get a chartered accountant's view before assuming the ₹13,000 difference comes back to you.
A function to price your own clause
# Synthetic bonus and dates; replace with your offer letter's terms.
import datetime as dt
def clawback(bonus, joined, left, commit_months=12, shape="pro_rata",
basis="months", tds_rate=0.0):
end = dt.date(joined.year + (joined.month - 1 + commit_months) // 12,
(joined.month - 1 + commit_months) % 12 + 1, joined.day)
nxt = left + dt.timedelta(days=1) # first day not served
if nxt >= end:
return 0.0
if basis == "days":
share = (end - nxt).days / (end - joined).days
else:
done = (nxt.year - joined.year) * 12 + nxt.month - joined.month
if nxt.day < joined.day:
done -= 1 # partial month not counted
share = (commit_months - done) / commit_months
if shape == "full":
share = 1.0
elif shape == "tiered":
share = 1.0 if share > 0.5 else 0.5
base = bonus * (1 - tds_rate)
return round(base * share, 2)
j, l = dt.date(2026, 11, 1), dt.date(2027, 5, 31)
print(clawback(150000, j, l)) # pro rata, months: 62500
print(clawback(150000, j, l, basis="days")) # pro rata, days: ~62877
print(clawback(150000, j, l, shape="tiered")) # 75000
print(clawback(150000, j, l, tds_rate=0.208)) # net basis: 49500The month-counting rule inside the function is one reasonable reading, not a standard. If your clause defines "completed month" differently, change that line.
How the money is usually recovered
Employers commonly net a clawback against your full and final settlement: unpaid salary, leave encashment and any reimbursements. If the settlement is smaller than the clawback, you receive a demand for the balance. Check each line of that statement using auditing a full and final settlement.
If your new employer is paying a joining bonus partly to cover this repayment, remember that their bonus is taxable salary too. Covering ₹62,500 of repayment in the 30% slab takes about ₹90,800 of new bonus. Pricing a notice-period buyout applies the same gross-up logic to unserved notice.
Before you sign the next one
- Ask for pro-rata, day-basis wording rather than full repayment.
- Ask for the commitment period to run from the joining date, not the payment date.
- Ask that any repayment be computed on the net amount received.
- Keep the offer letter and the bonus payslip. You will need both if the figure is disputed.
We have not reviewed whether any particular clawback clause is enforceable; that is a question for a lawyer, not arithmetic. The FDE for Freshers course runs for about 30 weeks, live online with optional in-person labs at our Noida centre. Eligible learners who meet the attendance and capstone criteria get assured job interviews through our hiring network, plus a post-course internship.
Pankit Kumar has 10 years in Data Science & AI, building and shipping production systems in regulated pharma and clinical environments. He is a freelance trainer at Boston Institute of Analytics, AnalytixLabs and Scaler, and has taught this material to thousands of working professionals.
This article is part of our FDE for Freshers programme — 6–7 months. Build your engineering foundations, then take AI from discovery to delivery.
Explore FDE for Freshers