I ditched Microsoft Office 365 a couple of years back and went 100% into the Google ecosystem (Gmail, Calendar, etc.). If you can’t beat em, join em. 😄 I don’t regret the decision as it’s made my life a whole lot easier. I don’t even have Microsoft Office installed anymore and just live on the web. However, once in a while there are things that pop up, and trying to set up a repeating event in Google Calendar on the last day of the month is one of them.
I love Google calendar for its simplicity. And 99% of the time it does everything I need it to do just fine. However, the other day I had a new repeating event I needed to configure which would trigger on the last day of each month. After a little playing around and some quick research, I discovered there was actually no way to do this in Google Calendar. Sure you can go through each year and do it manually, but I like to set up repeating events with no end date (less work!).
By default, Google Calendar lets you set up the following repeating events:
- Weekly on Sunday
- Monthly on the first Sunday
- Annually on 1st of the month
- Every weekday
- Custom (repeat every day, week, month, year) and certain day with options for end date rules
As you can see, with all of the rules they have there is no way you can easily set up a repeating event on the last day of the month. Thankfully, there is a way to easily do this by creating a simple .ics file and importing it. Note: The following code and variations of it are floating around the web, but it was thanks to Dark Launch’s version that I got this working.
First, open up your text editor (I use Sublime). Then paste in the following code:
BEGIN:VCALENDAR VERSION:2.0 BEGIN:VEVENT RRULE:FREQ=MONTHLY;INTERVAL=1;BYSETPOS=-1;BYDAY=SU,MO,TU,WE,TH,FR,SA SUMMARY:Pay Affiliates DTSTART;VALUE=DATE:20180430 SEQUENCE:0 DESCRIPTION:Send payment to affiliates. END:VEVENT END:VCALENDAR
I have filled out the above with examples, but the values you’ll want to update are:
- SUMMARY: this is the name of your event
- DTSTART;VALUE=DATE: yearmonthday (just choose whatever the next end of the month date is from your current month)
- DESCRIPTION: The description of the event.
Basically how it works is the recurrence rule (RRULE) field with BYSETPOS=-1 causes the event to be the first day of the month minus 1 day. Note: You can’t edit the event later on. You can delete it and re-create it, but you can’t edit it.
Save the above file as a .ics file. I simply saved mine as myevent.ics.
Go to Google Calendar, click on the little + symbol next to “Add a friend’s calendar” and then on “Import.”
Select your .ics file you saved earlier and ensure the calendar you want to import it on is selected below (only pertains to those of you with multiple calendars). Then click on “Import.”
If everything worked correctly you should see a message “Imported 1 out of 1 event.” If you don’t, double check that you didn’t typo something in the code above. Then click “OK.”
Click on your calendar and you can verify that your repeating event now occurs on the last day of each month. You can see below it created it on April 30, May 31st, and so on. It repeats forever.
If you don’t mind spending a little money, there is actually a much easier option. If you’re on a Mac, just buy the Fantastical 2 app. It’s basically your calendar on steroids.
You can type in a command, such as “Pay affiliates every month on the last day” and it will automatically create a repeating event on the last day of every month.
Need to create an event on the 15th of every month? No problem. Type in a command, such as “Pay affiliates every 15th of the month” and it will automatically create a repeating event on the 15th of every month.
A few commentators have mentioned alternative methods which are worth pointing out.
Create a reminder with Google Assistant
If you use Google Assistant (which works on Android and iPhone), you can ask it to create a repeating reminder on the last day of the month. The one caveat with this method is you have to enable “Reminders” in your calendar.
I don’t personally use reminders as they are limited (you can’t add additional notes or details). I want the event in my main calendar as a normal event, so this doesn’t work for me. But if you’re already fine using reminders, this could be a quick and easy solution.
If you’re using Google Workspace, you might also need to enable Search and Assistant.
Create the appointment in Outlook
Another alternative is to create the appointment in Outlook or another calendar that has better recurring appointment options and then invite yourself, accept it into your Google Calendar, then duplicate the appointment and delete the original invitation.
I realize many of you might not ever need this, but it definitely came in handy for me. I have and always will enjoy sharing little tricks and things I learn with you all. Anything that helps us be more productive right? 😃
Do you use Google Calendar at all? Between Trello and Google Calendar, my life is pretty much all laid out haha. If this was helpful, please let me know below in the comments!