Note: we live in Missouri, USA.
Sorry, this is long.
My husband was under an apprenticeship contract (for a maintenance position) at his (non-union) job. The gist of the contract was that they would pay for his classes to get certificates. After the apprenticeship period was up (which it just was), he was supposed to stay at the company for an additional two years.
My husband recently found out he was being GROSSLY underpaid compared to his coworkers and those in his field, despite the fact that his pay was supposed to be caught up by now. He looked over the contract and found several ways in which the company violated it, including withholding raises. He gathered a mountain of evidence, took it to his boss, who was a belligerent jerk about the whole situation and denied him a raise.
The weekend after that meeting, my husband applied to 56 jobs that were offering him far above what he was making and ended up accepting an offer.
Fast forward to today, two days before my husband's last day at his current job, and he's pulled into a couple meetings with HR, in which they grill him about his contract. He's prepared for this, and points out all the problems with the contract, and the fact that one of his coworkers left before the contract was up and the company didn't do anything about it.
HR refused to listen to my husband and declared that they are docking his final two paychecks (including the one he's getting in less than two days) $1500 to recuperate money they spent on his classes. This puts us in a major financial bind (especially since our rent is due). My husband quit on the spot.
Is it legal for them to do this?