Unite Union has come out swinging at companies for underpaying their workers' holiday pay.
The union says some businesses are ignoring rules in the Holidays Act and deliberately cheating the system, and lower-paid, casual workers are once again missing out.
Faulty payroll systems are partly to blame, but Unite Union says some companies are deliberately underpaying workers.
"[They are] deliberately choosing a formula that delivered a lower rate of annual leave," says national director of Unite Union Mike Treen.
Under the Holidays Act there are two ways to calculate holiday pay. The first is based on ordinary weekly pay -- the employee's earnings over the last four weeks divided by four.
The other, on average weekly earnings, is a gross income over the last 52 weeks, divided by 52.
Employers should pay the greater of the two results, but Unite Union says some companies, including big corporations, are ignoring the law -- paying the lesser of the two -- and that those most affected are people who work irregular hours each week.
"The zero-hours type worker, those who are sort of called in 10 hours this week, 20 hours next week, 10 hours, and that's restaurants, bars, hospitality, hotel industry, security industry," says Mr Treen.
He believes working out annual leave is simple maths and there's actually nothing wrong with the Holidays Act, but employment lawyer Jennifer Mills disagrees.
So far the Ministry of Business, Innovation and Employment has confirmed at least 24,000 workers have been affected by holiday pay botch-ups, but with more investigations yet to be completed that number is expected to get much worse.