Level 18
You could...
Set the quote on the plan (if it's different per plan) in the features area or a separate config file that matches plan_id -> quota limit.
- In area of action/logic where the quota would be used: create a check if the user's
quota_usednumber is less then to their plan_id's quota set in the config/plan features/etc. - In the same area of action/logic where the quota would be used, under the above check, add logic to increment the users quota used $user->quota_used
- Create a scheduled task that runs every month on the 1st first thing in the morning or end of the month at midnight to reset the quota_used for the users. It would loop through the currently active users, and reset them the
quota_usednumber to 0.