Google-calendar – How to make a task repeat on the last day of each month in Google Calendar

google-calendar

Pretty much the subject says it all. How can I make a task repeat on the end of each month in google calendar.

Jan 31- repeated task
Feb 28 - repeated task
march 31 - repeated task
april 30 - repeated task
....
etc

Best Answer

To make an event that repeats on the last day of each month, we'll create a file that contains the event, and then import it into Google Calendar:

  1. Paste the following text into a new .txt file (e.g. with notepad):

    BEGIN:VCALENDAR
    BEGIN:VEVENT
    DTSTART:20160731
    DTEND:20160731
    RRULE:FREQ=MONTHLY;BYDAY=SU,MO,TU,WE,TH,FR,SA;BYSETPOS=-1;WKST=SU
    SUMMARY:Name of your event
    END:VEVENT
    END:VCALENDAR
    
  2. After both DTSTART and DTEND, write the date of the first occurrence of the event. Then, put the name of the event behind SUMMARY.

  3. In your Google Calendar, go to Settings, and select Import & export, then Import from the left-side menu. Upload your .txt file to add it to your calendar.

Done!

Your event now appears on the 30th or 31st (or 28th, 29th) of each month, depending on the month.

You can also schedule it for the last business day by dropping SU and SA in the BYDAY.

You can still edit the name and time of the event (the UI is a bit glitchy, messing up your dates by default, but it works), but you cannot edit the recurrence: "This event has a recurrence rule that cannot be edited in Google Calendar"

P.S. If you want to dive deeper into making your own rules for when an event should occur, such as "first business day of the month", take a look at RFC 5545, section RRULE for examples and section RECUR for a formal definition. With this you can edit the RRULE line to your liking. See the comments on this answer for some examples as well.