My reason for this rule would be: if you allow consultanta to work from home, how do you make sure they are not double- selling their workhours? Like they bill you 8h, but only work 4h on your project.
Why would you care, assuming the work gets done on schedule? Billable hours is just a proxy for getting things done.
I think that is the way to find pricing for any development activity. There is an industry standard range on price per hour, but no standard on price per feature (which is impossible).
Monitoring how much they actually use their mouse, keyboard and phone is an obvious one, along with snapshotting their display. I'm not saying I agree with this, but I know it happens.
However they now have to be trusted. It might have been better to have figured out which you trust and only use those.
Indeed, what amazes me is the implicit distrust so many managers have. Either they have a pretty low opinion of people, or they are lazy themselves and projecting. I've had managers openly say to me 'well we have noone else to check your estimation with'. Are there really that many devs out there that estimate 10 days, finish in 1 and take 9 off??
If you are 10 times faster than the average, but can only bill average rates than it might look fair to you to do the work in 1 day and take 9 off. If then you mortage needs payments, you might think why take 9 days off and not do the same for somebody else. Of course I do not endorse this behaviour, but i can see how somebody could see this not as stealing as it is.
What stops your employees doing the same thing?
them not wanting to loose their employment?
Usually you cannot work for two or more companies full time without the other finding out (at least this is what i presume)