Thursday, April 26, 2012

A Wizard Should Know Better

http://www.youtube.com/watch?v=v7NzBTRzCkg

I recently quit at CIBC and started working at Evault.  This means that my wife and I lost our immunity to account fees, kind of like when Superman transformed into a normal human.  We already had a couple of President’s Choice Financial accounts so I decided to work towards closing the CIBC ones and use only the PCF accounts.  It’s been a lot more complicated than I thought.  And the reason should embarrass any developer:  our accounts have dependencies.

In programming, one aims to create a system where no one part knows anything about how other parts work.  This is so that you can change one part without other parts caring.  Changes are limited to individual parts and don’t ripple through the system.  Thus you create a system with few, if any, dependencies on parts working a certain way.

You know how it goes with banking, though.. Sure, employer, direct deposit my paycheque. Sure, insurance company, direct debit my premiums. Sure, bank, direct debit my mortgage. Convenience now, pain later as the dependencies pile up.

Some of these are probably unavoidable, and worth the hassle, like the mortgage payment, the paycheque and withdrawals for investing.  But that’s about it.  We really should be paying everything else as a bill monthly.  Companies don’t care where the money comes from, just that account 12345 is paid in full.

The dependencies can get created recursively on you, too.  Your employer passes on the account info to your benefits and group RRSP provider(s), so you have to update those.  Hopefully these are provided by the same company, and can be changed online.  Otherwise you have to call someone, and possibly send in a void cheque.

This money stuff is all virtual.  There is no technical reason for any of this to involve talking to humans on the phone, in person, or sending snail mail.  The reason that these settings typically aren’t available online is that the systems that process this stuff within and between companies is very complex.  This is because it’s been built up over 30+ years.  Electronic payment systems predate the web by a large margin.

Our transition from CIBC to PCF is so complex that I created a Trello (task management) board.  As I write this we’re at 10 tasks done, 7 pending.  Until we complete the process we have to auto-transfer money from CIBC to PCF so that there’s money for the insurance, mortgage, etc..  Programmers might call it a bridge.

The thing that makes this transition process possible is PCF’s ability to link accounts at other banks to PCF accounts, allowing you to transfer to and from PCF accounts.  I’m pretty sure this is available at other discount banks, like ING.  Why not at the main banks?  Not in their interest, plus it’s technically complex (though not impossible.)  This would be much, much harder if the switch were from CIBC to, say RBC.  There’s no way to pay your CIBC line of credit from an RBC account online.  You’d be forced to transfer your line of credit to RBC, or visit a CIBC branch once a month with an RBC cheque.

So, do yourself a favour and limit the dependencies on your big-5-banks accounts to paycheques, strict-deadline payments like mortgages, and accounts at other banks between which you transfer money, like investment accounts.  And transfer to a low cost bank like PCF.

Keep your accounts agile.

No comments:

Post a Comment