How to Set up Repeating Event in Google Calendar on Last Day of the Month

I ditched Microsoft a couple years back and went 100% Google. If you can’t beat em, join em. 😄 I left Microsoft Office 365 and went to Gmail. I moved from Verizon and a Windows Phone to Google Pixel and Project Fi. 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.

How to Set up a Repeating Event in Google Calendar (Last Day of Month)

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:

  • Daily
  • 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
Default options for repeating events in Google Calendar
Default options for repeating events in Google Calendar

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.

Step 1

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.
Create .ics event in Sublime
Create .ics event in Sublime

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.

Step 2

Save the above file as a .ics file. I simply saved mine as myevent.ics.

Step 3

Go to Google Calendar, click on the little + symbol next to “Add a friend’s calendar” and then on “Import.”

Import Google Calendar
Import Google Calendar

Step 4

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.”

Import .ics file to Google Calendar
Import .ics file to Google Calendar

Step 5

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.”

Imported Google Calendar
Imported Google Calendar

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.

Google Calendar repeating event on last day of month
Google Calendar repeating event on last day of month

Summary

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!

Get More Stuff Like This

Marketing, WordPress, Blogging Tips, SEO and Reviews, once a week.

Thank you for subscribing.

Something went wrong.

10 thoughts on “How to Set up Repeating Event in Google Calendar on Last Day of the Month

  1. I use Google calendar but have never thought of it as a tool to get reminded of important events.

    Thanks for sharing it and kudos on your decision to go all Google.

  2. That solved my problem, thanks! My first .ics file. There was one small glitch, but I’m OK with that. I changed BYSETPOS to -2, to start on the next-to-last day of the month. Worked fine for all future months, but started on the last day of the current month. I find it unacceptable that Google doesn’t support last-day-of-month, but with this technique I can even have next-to-last day!

  3. Without testing the above version verbatim, I first removed SU and SA from BYDAY in the ics file as I am only interested in the last weekday of the month. When I check the calendar after the import, it appears to have worked for me.

  4. Thanks for this tip, you extinguished my frustration with Google!

    Also note: while you can’t edit the recurrence schedule, you can edit other aspects of the appointment (time, notifications, invites etc.)

  5. Terrific! Thanks for this. I had the same experience as Fred changed BYSETPOS=-2 for 2nd last business day and the first month was on the last date, and then the rest were perfect. Probably if you select the correct DTSTART;VALUE=DATE (ie second last), then it would work seamlessly. I also deleted SU and SA, as i wanted workdays, and it worked great. Thanks again.

  6. This is marvelous! It’s working perfectly for the last weekday of the month. How could I edit it to be on the 15th, or Friday if the 15th falls on a Saturday or Sunday? I’m trying to enter my payday on the 15th of the month.

  7. This was fantastic! I tweaked it slightly so that it would show on my calendar at a specific time:
    BEGIN:VCALENDAR
    VERSION:2.0
    BEGIN:VEVENT
    DTSTART;TZID=America/Chicago:20180831T090000
    RRULE:FREQ=MONTHLY;INTERVAL=1;BYSETPOS=-1;BYDAY=SU,MO,TU,WE,TH,FR,SA;BYHOUR=9
    SUMMARY:Mvelopes – Sweep Accounts
    SEQUENCE:0
    DESCRIPTION:Mvelopes – Sweep Accounts.
    END:VEVENT
    END:VCALENDAR

Leave a Comment