// Adds dimensions UUID, Author and Topic into GA4
Tuesday, August 18, 2026
29.8 C
Singapore

Jobseeker asks if recruitment agency can legally demand 50% of salary for leaving within 4 months

SINGAPORE: A jobseeker turned to Reddit to ask whether a recruitment agency can legally require employees to pay 50% of their salary if they leave a job within four months.

Posting on the r/singaporejobs forum, he wrote: “I recently received a job offer through a recruitment agency in Singapore, and one of the contract clauses caught my attention. It says: The candidates shall agree to commit themselves for a period of 4 months (excluding notice period)… failing which the candidates will have to compensate 50% of their offered salary.”

The jobseeker added that the same 50% compensation clause would also apply if a candidate is terminated by the client due to misconduct, poor performance, attendance issues, frequent medical leave, absence without informing the employer, or habitual lateness.

Having never encountered such a clause before, the job seeker asked the online community whether it is “actually enforceable” in Singapore.

“Has anyone here signed a similar agreement? Has anyone actually been asked to pay such a penalty, and if so, what happened?” he added.

“Don’t sign, man!”

In the comments, the majority of Redditors said the clause was “illegal” and urged the job seeker not to sign the contract or continue with the recruitment agency.

One user said the contract “sounded predatory,” adding that the recruitment agency likely has its own penalty clause with the client and is simply passing the costs on to employees.

Another shared a similar experience, writing, “Recruitment agency cannot enforce this. Had experience before when I got a part-time job from a recruitment agency. I did not meet their requirements of 4 months stay as I was let go as the company overcommitted on headcount. They said that due to this, I had to compensate. I called their bluff, saying the clause is not mandated by the company itself or MOM. I informed them I sent an email to MOM of my contract and my correspondence with them, they immediately blocked me and I never heard from them since.”

A third simply warned, “Don’t sign, man! Don’t sign.”

Meanwhile, a fourth commented, “Effectively like a bond. I would try to understand the nature of the relationship with the client first, from Glassdoor, etc., [to see] if there are signs of toxicity.” 

“If it looks clean, and you don’t think you’ll take MC or do a bad job, asking you to stay for half a year or risk a salary clawback is not totally unreasonable for a company, to be honest. Of course, if you think something is off, feel free to walk away.”

Employment bonds

Employment bonds are typically imposed by employers rather than recruitment firms.

That said, whether such a clause can actually be enforced depends on the terms of the contract. According to Singapore Legal Advice, it may be enforceable if the contract includes a “liquidated damages” clause and the amount payable is a genuine pre-estimate of the employer’s losses when an employee leaves early or breaches the contract.

However, if the amount is excessive compared to the actual losses, it may be considered unenforceable.

Read also: ‘The sun has set for fresh graduates’: Local says Singapore’s job market has left him with no choice but to look overseas

- Advertisement -

Hot this week

Collective hallucination? WP MP Jamus Lim unconvinced by official explanation on alleged discrepancy in O-Level English Oral Exam

"I find it implausible that there could have been some ex-post collusion by hundreds of people to report essentially the same problem, and it is likewise difficult to imagine how nothing anomalous ...

Netizen asks: What’s something you stopped caring about as you got older?

On Reddit, a netizen asked: "What’s something you stopped caring about as you got older?" Other people shared their thoughts.

Popular Categories

document.addEventListener("DOMContentLoaded", () => { const trigger = document.getElementById("ads-trigger"); if ('IntersectionObserver' in window && trigger) { const observer = new IntersectionObserver((entries, observer) => { entries.forEach(entry => { if (entry.isIntersecting) { lazyLoader(); // You should define lazyLoader() elsewhere or inline here observer.unobserve(entry.target); // Run once } }); }, { rootMargin: '800px', threshold: 0.1 }); observer.observe(trigger); } else { // Fallback setTimeout(lazyLoader, 3000); } });
// //
Enable Notifications OK No thanks