The solution for something like that is to a combination of a: Custom Field, 2xWorkFlow Rule Scheduled Work Flow Rule and a Validation Rule
Step 1 - Custom Field: Create a custom field on the User Object and call it Number of Monthly expenses. ($C_NumberOfMonthlyExpenses).
Step 2 - Create a WR that will add +1 to that user CF ($Owner.C_NumberOfMonthlyExpenses) every time a user create a new expense.
Step 3 - Create another WR the will subtract that counter upon deletion.
Step 4 - SWR: Create a SWR on the User object that zeros the the field on a monthly basis.
Step 5 - Have a validation rule upon creation of a new expense that will check whether $Owner.NumberOfMonthlyExpenses>1
The above are the guidelines to handle this use case. Please feel free to hop to our one of our Advanced Q&A webinars for further assistance.