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

10 Answers 10


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


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.

  • 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
  • 4
    The format for this must have changed as this no longer works. – Bill Mote Sep 5 '15 at 13:32
  • 1
    "First day of the month that is not a weekend" can be done like so: RRULE:FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=1;WKST=SU . Similarly for the 15th, you can do RRULE:FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR;BYMONTHDAY=15,16,17;BYSETPOS=1;WKST=SU. Explanation: Every month, we select the set of days that are MO/TU/WE/TH/FR and fall on the 15th, 16th, or 17th, and then pick the first day in that set (BYSETPOS=1). – Jo Liss Jul 13 '16 at 18:28

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à

  • 1
    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

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.


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/

  • 3
    How to use this method is not explained clearly in the original post. It does not work for me. – Fish Monitor Jan 5 '15 at 5:48
  • 1
    "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

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.

  • I'm not following. July 2018 has five weeks. I set an event to repeat on July 31, monthly on the 31st of the month. But nothing shows up in September, which only has 30 days! – Michael Jul 26 '18 at 16:30
  • From that thread: "...The only way I've seen is to create an event on a 5th Tuesday. When you then set the event to repeat, it will repeat on the last Tuesday. You may have to go back to the most recent month that had a 5th tuesday to make it work." It's not the numerical day, but the weekday I think. Haven't looked at this in years. :) – Ben Creasy Jul 26 '18 at 23:41
  • 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.


  • 4
    @Ankur - um from the question in google calendar ` ` – Sathyajith Bhat 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 – Sathyajith Bhat Jul 23 '11 at 14:42

To expand upon Paulo's answer above, this is also a notable solution for the 15th of every month, or the previous weekday if the 15th falls on a Saturday or Sunday:

SUMMARY: Mid-month Event Name

Mid-month recurring event, anyone?!

  • Not sure why you were downvoted, this is useful thanks. – Jorge Israel Peña Dec 15 '18 at 21:53

I found that the Google calendar app allows for end of every month scheduling. I now schedule most events from my phone. Under Repeating option select Custom and it will allow you quite a bit of flexibility. It still does not distinguish between calendar days of the week and business days of the week like Apple Calendar. I would love to see this addition.

  • Can you provide some screenshots on how to do this? When I select "repeat monthly" on the Android app, it only provides entry for "every _ month", "on the same day each month or on every last (day of week)", and how many repetitions. – Michael Jul 26 '18 at 16:33

Google will only import .ics files and all that necessary is after creating the event in a .txt file change the extension to .ics and it can be imported.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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