You can calculate the day based on the current registration date. You application should check the registration date and ping to the system every-time at-least once so that when you say the Registration date is 1st Jan, it should get the next date by adding a month -2 days.
For this, you can have an additional column for the table for next date which will have the specific day for the month.. Now lets say first time, it should check with the specific day and if it is null, then get the registration date and add a month -2 to get the next date and save it to the specific day column. Now next time again it should for the specific day value and it will not be null so get its value and add a month -2 value to it and update.
So each time for every month it should do the same and update the specific day value. By this way, you can get the next date for every month.
Hope it will be helpful to you.
Pawan Awasthi(DNS MVM)
+91 8123489140 (whatsApp), +60 14365 1476(Malaysia)