The solution provides forward months exactly, i.e. 28Feb %m+% gives 28Mar, which is not ideal if working with month end data.
To adjust the top to always give you the last day of the month, use the following code:
ceiling_date((as.Date("2014-02-28") %m+% months(1)),"month")-days(1)
> "2014-03-31"