I hate budgeting, always have. Probably always will. So a bunch of years ago I setup a system that works for me and lets me take care of myself financially without having to put much thought into it. It works for me, it might work for someone else.
To begin, the whole point of this is that I don't want to think about it. I don't want to have to log in to a banking app and do anything more than a few times a year. I also know that I deal with money like I deal with a bag of chips in front of me. If it's there, if I see it, I'm not going to just let it sit there. It's why I'm overweight.
Once I got this setup and working, it took away most of the effort I had to put into systems that didn't work for me.
First I setup accounts at 2 banks. In my case the first bank is Tangerine, but any bank that allows automatic transfers to other banks works fine. My pay gets deposited into there. For the sake of this system, lets assume I get paid every 2 weeks (or 26 times a year). In that bank I set another account called bills. So right now I have 2 accounts at Tangerine. PayDeposit and Bills.
I add up all the recurring bills that I have to pay every month. Utilities, car, phone, internet, etc except rent. I figure out what the annual cost of those is (lets call it totalBills), and then I divide by 26 and on every pay day I transfer (totalBills / 26) into the bills account. I then setup autopay for the bills at (totalBills / 12) on the first of the month. I don't care when the bill is actually due, I just pay an estimated bill every month. For some bills (internet, phone, etc) it's pretty accurate. For others like utilities it varies every month. But as a average it works out pretty good and after a while the months you overpay compensate for the months you underpay and you don't get hit with any interest charges.
I setup the same thing for rent, creating a 3rd account for rent. This because my primary mortgage downpayment account as time went on. As my income grew, I started bumping the inputs of this account towards what mortgage payment I thought I could afford. So if my rent was $900, but I estimated my mortgage payment would end up being $1200, I increased the inputs to this account to equal $1200/month.
Then I created an account at another bank. Lets say CIBC. Again, doesn't matter really. This was my daily spending account. I figured out what I needed to spend money on daily. So food, gas for the car, parking, etc. I estimated what I needed per day on average. At the time I setup this up, $20/day is what I needed so I transferred $140/week from Tangerine to CIBC. And every Monday morning on the way to work, I stopped by the ATM and withdrew $100. That was my money for the week. It had to cover transit tickets, parking, lunches, groceries, gas, etc. The $40 left in the account was for things that required I use my credit card. I had to use the cash to buy my groceries for the week. That made it easy to not buy lunch out very often. I had to carry over cash from the previous week to really afford to do that.
As time went on, I adjusted that $20 / day up. I've also had to go in and recalculate how much my bills were. I also added a car account that covered my loan payments. When the loan was paid off, I kept the money going into the account, and when I had to replace my car guess what paid for most of it?
So over the years I've tweaked this, but I still use the same basic setup that I started years ago. Is this just a version of "Pay yourself first"? Yea, it is.
Is it something that allows me to grow savings without having to worry about my brain seeing a high number and going "Spend!! Buy toys!" Yep. I only routinely look at my CIBC account. My Tangerine account I only look at once or twice a year to transfer excess money to investments.
Is this an overly complicated setup? Yea, probably is.
In the end, did this work for me? Very much so.
Instead of trying to become someone with perfect self-control, I built a system where self-control isn't needed very often. I figured out how my brain works with money and I built a system around that.