It may have a relatively easy quota mechanism already there for you for WiFi access. These instructions are on how to find out the external or internet IP address for a Unifi AP Access Point which is connected to a Unifi Controller in a remote site without a USG as it doesn’t show this information in the Unifi Controller itself. You just need to have a spare computer to run it on. It used to be the Astaro Security Gateway and is available free.
You should check on the Sophos UTM Home Edition. The limits can be established by the hour, day, week, or month in most cases. The server itself is normally capable of making sure quotas are not exceeded by either throttling usage as it approaches the defined limit or by not allowing any further traffic from the user in question until the usage monitor has been reset. This way, everyone needs to log into the proxy server to get to the internet and all traffic can be logged. I you want a more effective means of establishing a usage quota, you would be better served setting up a proxy server and only allowing internet traffic to run through that machine. NetLimiter will work if all of the usage is on a single machine and it is configured in such a way that other users cannot terminate the application/process.