I could tell by the clients tone, this just wan’t want a technical issue. The kind where all logical reason flys out the window, because reality isn’t doing what it says on the tin.
The sort of issue that could bring a business to its knees.
“We can’t do our reconciliation, we can’t automate our banking, so we can’t do our accounts, so we can’t operate, so we can’t sell”
As far fetched as that might sound (or not) that’s what was in the clients head.
For centuries mankind has operated businesses without online banking, without accounts “software” and without automation, or live feeds.
But the tin said that’s what the client had paid for. And in their minds, that was a roadblock to business.
The Dirty Little API (metro to xero):
It’s going to sound really simple when I explain it here, but none the less it took over 5 hours of 3 peoples working day, to work out why it didn’t do what it said on the tin.
The instructions and videos glibly said “this is easy”. And it is, “IF” you do it in the right order – UNFORTUNATELY that order is the least intuitive and I suspect a high number of Xero users, do it the other way round, and THEN, they have my clients problem!
The Xero accounting software instructions simply say;
- set up your xero
- then add your bank account
- THEN apply for your FEED
- use this API named “X”
I remember reading that and wondering WHY that order was even mentioned. The natural life event is, get your bank account, THEN worry about your accounting software. But “OH NO”, not with Xero accounting software.
My client had done the natural thing.
- Sorted out their banking.
- APPLY FOR FEED (sfx buzzer)
- Started to set up their Xero to connect to it
- Used “an” API for the bank named “X”.
And then, despite doing everything the “EASY” instructions said, it simply did not work. The Metro bank confirmed the setup. The Xero software signalled everything as fine. But it just simply did not work. Frustration abounds… The laws of the universe are broken. The promise of “EASY” makes everyone feel like crap, because it still did not work…. Thank you Xero 🙁 Thank you Metro Bank 🙁
Much frustration and head scratching and violent phone calls ensured between various parties.
An email to Xero support, instead of resolving it, added another complication to the mix, called YODLEE feeds, which is their alternative to the direct banking feed, that my client had paid to use with their bank. Furonically, YODLEE feeds happened to be broken (for some people) right then, so they palmed the customer off with that “excuse”.
But the client wasn’t using Yodlee feeds at all, so it would literally have just been another X days delay which would never have solved their actual issue with a “direct” banking feed.
The order of things:
Bottom line, the order of things matters. Especially in software and API programming.
i.e. you can’t use a variable before it exists.
It’s no different to cooking. You can’t break an egg, until you have one to break. So the ingredients have to say “have an egg” first.
BUT when it comes to a “user” interface, you can’t rely on “users” to do things in the correct order
And it’s bad show when you have 2 versions for each case, and you don’t really explain to the users what’s actually going on, in CLEAR, EASY language.!
On top of all this, add on several layers of security, where Metro have to manually approve your feed and your subscription to it and ANOTHER 2~4 days will Xero manually confirm that you really own this feed. That’s a minimum of 6 days until you know it might not work. As I like to say to my consulting clients sarcastically “genius” 😉
The Short Answer:
The short answer is IF you do what Xero say, you use bank API X and it will (probably) work first time.
BUT if you set it up in a different order, you have to disconnect and delete the banking API and use one which has a HIGHLY SIMILAR name.
Then your live feeds and bank reconciliation, will start to work, as if by magic !
Of course, this is not really acceptable from large corporate institutions, who promise one thing on a tin.
At the very least they should have a HUGE FAQ/best practice guide to at least explain this. (Hence this post).
Preferably the API team should be locked in a dungeon together and work out how to only have one API which can work around any “order of things” issue.
Here’s what the Xero setup guide shows to add Metro banking via the DIRECT API:
At the time of writing was at this url and said this;
(click photo to enlarge)
Here’s the full page, although you’re better to go to the CURRENT version on Xero.com, in case they have updated it.
Here’s what the rather “casual” TROUBLESHOOTING METRO guide says:
(click photo to enlarge)
NB: Note in (STEP 4) how you have to delete the current bank API, to enter the OTHER Metro Bank API, so the order of things is maintained.
Here is the full page, but again much better you go to the source, in case they have updated it;
The Face of Innocence:
So there we have it. I know it looks uber simple and not a big problem. But when your Xero to Bank integration is not working, and no one can seem to tell you WHY, and Xero support palm you off with some Yodlee feed, you are not even using, I see that as a big corporate FAIL.
Someone really needs to put a big boot up Metro and Xero, because this kind of user experience is simply UNACCEPTABLE. You’re being paid to sort this out, so SORT IT!
Only have one Bank API for Metro and make it work, even when users do the MORE LOGICAL order of things.
Seriously, the Internet “relies” on simple stuff like this being sorted out first time.
You don’t leave it to your paying customers, and moan’y old bloggers to save peoples companies.
Xero and Metro, you deserve ALL of the embarrassment you should be feeling right now!
and you REALLY should be feeling embarrassed!
For one of the fastest growing banks (metro) in the UK right now and one of the largest accounting software user bases (Xero) you really should take a step back and work out how to work better together, because this totally “sucks”.
(And sucks is a technical term for sort your frigging API out)