Web Applications Stack Exchange is a question and answer site for power users of web applications. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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
share|improve this question

migrated from superuser.com Jan 4 '11 at 15:20

This question came from our site for computer enthusiasts and power users.

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):

    SUMMARY:Name of your event
  2. Behind both DTSTART and DTEND, write the date of the first occurrence of the event. Then, put the name of the event behind SUMMARY.

  3. On your Google Calendar, go to Settings, and click the Calendars tab. Click Import Calendar and upload your .txt file. (It will not create a new calendar, but rather add the event to an existing calendar.)


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.

share|improve this answer
It worked. Thank you – Ravindra Gullapalli Mar 3 '13 at 6:07
Example for FIRST WORKDAY OF MONTH (With weekstart on Monday): RRULE:FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=1;WKST=MO – Marcel Jun 4 '14 at 5:50
@Jo Liss I'm sorry but I don't know what you mean by "Behind both DTSTART and DTEND, write the date of the first occurrence of the event." Do you mean after the semicolon for each respective variable? I imported and it said 'Successfully imported 0 events' – anon58192932 Mar 27 '15 at 1:34
@advocate In my example, see where it says DTSTART:20110731 and DTEND:20110731? Say your event first happens on August 31st 2015. Then you'll write DTSTART:20150831 and DTEND:20150831 (2015 = year, 08 = month, 31 = day). – Jo Liss Apr 20 '15 at 22:36
The format for this must have changed as this no longer works. – Bill Mote Sep 5 '15 at 13:32

Another partial solution that may work for some folks: Create the repeating event for the first day of every month, then add a reminder for one day in advance. Then you'll receive at a notice regarding the event at the appropriate time. Of course this doesn't help if you need the time to show as busy.

share|improve this answer

You can do this with the OS X Calendar app.

First, sync your Google Calendar with OS X Calendar.

Then create an event series that occurs on the last day of every month and wait for it to sync to Google Calendar.

First step Second step Voilà

share|improve this answer
Excellent answer, this can even do last weekday of a month. – Jichao Jul 3 '15 at 1:52
Works from iOS Calendar too. – lpacheco Aug 26 '15 at 20:45

This answer worked for me:

The simplest way is to just write out the event in plain English. For example:

RORO at Inspire9, Richmond on the last Thursday of every month

This will create an event called “RORO at Inspire9, Richmond”, with the location field set to “Inspire9, Richmond” and the repetition set to “Monthly on the last Thursday”.

From http://blog.stevenocchipinti.com/2012/05/google-calendar-repeating-event-on-last.html/

share|improve this answer
How to use this method is not explained clearly in the original post. It does not work for me. – fossilet Jan 5 '15 at 5:48
"Last Thursday" adds a repetitive event but this is not what TS asked. "Last day" does not work. – Pavel Vlasov Jun 1 '15 at 19:32
This is an excellent suggestion. I came here because I found this thread looking for exactly the Matthew's solution. It does not answer an original question, but it definitely does not deserve reduction of the user's reputation. Matthew, if you like, I will ask a question for which this will be a correct answer. Then you'll get an upvote and a "solved". – texnic Nov 14 '15 at 10:47

To set an recurring event on day 30 of each month, or Feb 28 or Feb 29 (in a leap year), being any workday, adjust and import the following .ics file:

SUMMARY: Dia 30 ou dia util anterior
share|improve this answer
  • Open Outlook > Go to Tasks -> New Task
  • Enter Subject > Start Date > and Due Date (Due Date will be last date of this (Feb.)month)
  • Click on Recurrence tab at top
  • Pattern Monthly > The (Last) (day) of every (1) month.


share|improve this answer
@Ankur - um from the question in google calendar ` ` – Sathya Jan 4 '11 at 5:56
@Sathya As you can see from my answer, Google Calendar supports these events in principle, so perhaps if you have an Outlook that synchronizes with Google Calendar, it might work? I haven't tested it. – Jo Liss Jul 23 '11 at 14:17
@JoLiss - Hm, nice trick - perhaps might work – Sathya Jul 23 '11 at 14:42

A highly similar and more general question is "how to make an event repeat on the last [x] day of each month". As this person noted, you need to find a month with the max number of weeks (five) and then set it based on the day of the month. If the initial month doesn't have the max number of weeks, it will repeat on the fourth week rather than the last week.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.