Tie the yearly bonus to time spent in the office. Easy and simple. If you are local to a primary office and don't want to commute, that is ok but you aren't eligible for the yearly bonus. This would make it fair as well with the number of permanent remote employees being kept on. Those employees can have career growth and opportunities, but they just won't be eligible for the yearly bonus either. Why should the employees being forced back in to the office ihave to incur additional costs that remote employees won't have to?
This idea can be taken a step further if a running average is kept for thr time an employee spends in the office. Average 1 day a week in the office and that employee is eligible for 25% of the yearly bonus, average 2 days a week in the office and that employee is eligible for 50% of the yearly bonus, and so on. This tracking could be easily automated and it would eliminate the need for managers wasting their time responding to badge-swipe reports. Is responding to badge-swipe reports even a legitimate use of member dollars?