Mr Huddy said:
I've not heard this before.
iirc, a company can not give a bad review but they can refuse but as for charging, seems a little strange IMO.
Any company can give a 'bad' reference, but they can be held to account legally for what they say. So, if you make comments beyond the strictly factual (names, job title, dates of employment, etc) it must be both balanced, and factually accurate. If you go out of your way to point out negative things, you should balance that, in as far as possible, with good points. So you could say that someone's work was subject to an unacceptable error level (if you can support that statement with facts), but that their integrity and honest were high, and their timekeeping was impeccable.
Anything you say is something you may have to justify if you get sued. This is why people think you can't say anything bad - because the company may be held to account for it, many companies have policies that place VERY strict limits on what can be said in references and it's not uncommon to find that such policies either preclude anybody other than HR providing a reference at all, or limit any such reference to confirming facts like name, job title and dates of employment.
But, other than potentially getting sued over it, nothing stops a company from giving a bad reference. It just has to be factually accurate, supportable by evidence and, overall, fair.