Лучше все же хранить не окончание, а начало. Потому что если вы решите предоставлять услуги не на месяц, а на два, то у тех покупок, которые были совершены ДО этого решения, дата окончания будет старая. А это не совсем корректно по отношению к пользователям. Дата начало предоставления услуги - в любом случае константная величина, а дата окончания - рассчитывается по формуле, которая может быть изменена.
На уровне SQL проверить это можно примерно так:
SELECT * FROM `...`
WHERE DATE_ADD(`date`, INTERVAL 1 MONTH) > NOW()