Keep your budgets flexible with configurable budget periodsKeep your budgets flexible with configurable budget periodsGoogle Cloud Developer AdvocateGoogle Cloud Developer Advocate

Even though we just walked through some of the basics of using the Budget API, there’s a new feature that’s worth checking out: the ability to set custom time periods on budgets. Here’s a refresher on how budgets work if you’d like one. By default, budgets work on a monthly basis, so they reset on the first of each month. This is pretty convenient for most use cases, but might not work for you if your finances work on different periods. Regardless of what your timing needs are, let’s look at two new ways to work with your budgets!

Calendar periods

With this new update, you can change the general time period that a budget looks at. There are three options here:

  • Monthly: the default for budgets, starting on the first day of each month and ending on the last day of each month (January 1st through January 31st, for example)
  • Quarterly: an even split of the year into four quarters starting on January 1st, April 1st, July 1st, and October 1st
  • Yearly: the whole year, starting with January 1st

Since budgets are typically repeated, these new options give you additional options for what the time period should look like. Each budget has its own period that it covers, so you can mix budgets of different time periods together for more customizable reporting!

These time periods also affect the budget amounts (more info under the Amount section here) if you’re using the dynamic “last period’s spend” rather than a fixed amount. So, if you’re working with a quarterly budget and it’s currently Q2 (April 1 – June 30th), the last period’s spend amount would be based on Q1 (January 1st – March 31st). This works the same way for yearly budgets, so you can easily track your spending year over year. Let’s see what this looks like using the API!

Here’s our new function for creating a budget (and here’s a link to the documentation if you want to see more information about the different properties):