How rollover works
At the end of each month, CashCat calculates how much you didn’t spend from each category:Example
Let’s say you have a “Car Maintenance” category: January:- Assigned: $100
- Spent: $0
- Rollover to February: $100
- Starting rollover: $100
- Assigned: $100
- Spent: $50
- Rollover to March: $150
- Starting rollover: $150
- Assigned: $100
- Spent: $400 (new tires!)
- Rollover to April: -$150
Rollover calculations happen automatically. You never need to manually move money between months.
Categories with rollover enabled
Not every category needs rollover. Therollover_enabled flag lets you control this per-category.
Good candidates for rollover:
- Irregular expenses (car repairs, medical, gifts)
- Sinking funds (annual insurance, property tax)
- Savings goals (vacation, new computer)
- Emergency funds
- Fixed monthly bills (rent, subscription services)
- Groceries and regular spending
- Any category where you want a fresh start each month
Viewing rollover amounts
When you query groups or categories for a specific month, the API calculates rollover from all previous months:month_assigned— New money assigned this monthmonth_spent— Total spending this monthmonth_rollover— Amount carried forward from previous monthsmonth_budget_left— What’s left (assigned + rollover - spent)
Rollover calculations go back to the first month where you made any assignments. If you’ve been using CashCat for years, these calculations include your entire history.
How rollover is calculated
For each category, CashCat:- Finds the earliest month with an assignment
- Walks forward month-by-month
- For each month, calculates:
rollover = previous_rollover + assigned - spent - Stops at the target month
- Everything assigned since you started using the category
- Minus everything spent over that time
- Minus any months where you didn’t assign enough to cover spending
Performance considerations
Rollover calculations can be intensive for:- Many categories
- Long time periods
- Lots of transactions
The API fetches assignments and payments in batches to handle large datasets efficiently.
Negative rollover
If you spend more than you have assigned (including rollover), you get negative rollover. This shows categories where you’re behind budget. What negative rollover means:- You overspent in previous months
- You need to assign extra to catch up
- Or adjust your goal if the category consistently runs over
Zero-based budgeting and rollover
Rollover supports zero-based budgeting by letting you:- Budget for irregular expenses — Assign a little each month, spend when needed
- Build savings gradually — Watch categories grow over time
- Handle overspending — See exactly where you’re behind and recover
- Stay flexible — Edit past transactions and rollover updates automatically
Rollover and goal types
Different goal types work naturally with rollover: Spending categoriesRollover accumulates excess for future spending. If you budget 60, that $40 is available next month. Savings categories
Rollover is essential—these categories are meant to grow over time as you work toward a goal. Emergency funds
Rollover builds your safety net month by month until you reach your target, then maintains it.
You can disable rollover even for savings goals if you want to enforce a “save this much every month” approach instead of accumulating.
Starting mid-month or mid-year
When you start using CashCat, rollover calculations begin from your first assignments:- Create your categories
- Add your first month’s assignments
- Record transactions as they happen
- Next month, rollover appears automatically
Rollover vs transfers
Don’t confuse budget rollover with account transfers: Rollover is about budget categories (conceptual money). Unspent budget in the “Groceries” category carries forward. Transfers move actual money between accounts (physical money). Moving money from checking to savings. They’re independent:- Rollover happens automatically within categories
- Transfers you create manually to move money between accounts
- Transfers don’t affect category budgets
- Rollover doesn’t move money between accounts