Forward Deployed EngineeringSalary, offers and pay mechanics

Joining Bonus Clawback: Pro-Rata Repayment, Gross or Net

PK
Pankit Kumar
Sr. Data Scientist at Parexel (a Goldman Sachs–backed company) · 27 September 2026 · 4 min read
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.

The short answer

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 computedRepayment
"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 basisCalculationAmount
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

python
# 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: 49500

The 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.

PK
Pankit Kumar
Lead Instructor, NeuraPath Academy

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
Counselling is free · no obligation

Not sure which programme fits?

Tell us your background and we will map it to the right entry point — including saying so when a cheaper programme is the better fit. A counsellor replies within one working day.