Scott Hanselman

Wesabe makes Financial Data available programmatically

July 13, '07 Comments [20] Posted in eFinance | Programming
Sponsored By

imageWesabe has just done what I've been trying to convince banks to do for years. They're making financial data available via a simple POX (Plain Old XML) API. A year ago I did a POX API for Corillian products that Patrick and I presented at TechEd 2006, but it only for whatever single financial institutions chose to install it.

How does Wesabe do it? Your bank probably uses a funky SGML format (that I've talked about before; I was the OFX Vendor Committee Chair for a bit) called OFX that is not only obscure, but difficult and no fun.

Microsoft Money and Quicken, as well as some others, download OFX from your bank into their local storage. Unfortunately, neither Money nor Quicken makes the downloaded data available programmatically, which is one of the reasons I've stopped using both of them them.

You can upload your transaction details to Wesabe on your own, but you can also install their Account Uploader. It's Wesabe's small OFX Client of their own that runs in the background on your computer. It downloads OFX and uploads to their servers. Then they make the aggregated data available (as of today) via a POX (they say REST) XML API. Kind of like the quickie diagram at right (Thanks Paint.NET!)

So, over lunch I did a quick C# library (with my two high-school interns, Eric and Shady) to access their API. It's up here at Google Code if you want start expanding it. If anyone wants to take over, be a member, whatever, put your Google Code username in the comments and I'll add you. What I added just does the account download and is separated into a lib and a command line client.

I did add a couple of things like a check to make sure that when you talk to them via SSL that you are actually talking to them and not a man in the middle:

public class wesabe_rest
{
    static wesabe_rest()
    {
        ServicePointManager.ServerCertificateValidationCallback = ValidateServerCertificate;
    }

    // The following method is invoked by the RemoteCertificateValidationDelegate.
    public static bool ValidateServerCertificate(
          object sender,
          X509Certificate certificate,
          X509Chain chain,
          SslPolicyErrors sslPolicyErrors)
    {
        if (sslPolicyErrors == SslPolicyErrors.None &&
            certificate.Subject == 
@"CN=www.wesabe.com, OU=Thawte SSL123 certificate,
OU=Go to https://www.thawte.com/repository/index.html,
OU=Domain Validated, O=www.wesabe.com"
) return true; Console.WriteLine("Certificate error: {0}", sslPolicyErrors); // Do not allow this client to communicate with unauthenticated servers. return false; }

I also did the XML work via XmlSerializer, because I'm still a fan. The Wesabe guys didn't include a schema, but I suggested it strongly. You can too over in the Wesabe API Developer's Group (Free Wesabe login needed, with no obligation to upload anything financial).

For those of you who commented on my post on Quicken and Money, I noticed that a lot of you use Excel and other tools to get at your data. The Wesabe API will let you get transaction data in 5 formats, one of which being XLS. For example:

This resource is also available in OFX, OFX2, QIF, CSV, and XLS formats:

GET /accounts/show/<account id>.ofx
GET /accounts/show/<account id>.ofx2
GET /accounts/show/<account id>.qif
GET /accounts/show/<account id>.csv
GET /accounts/show/<account id>.xls

By changing the extension you get a different file. Apparently all this Wesabeness works in 30 countries, so it's not specific to US Dollars or US institutions.

It's early, sure, but it's a slick idea and it can potentially help you unlock your financial lock and allow you do any number of cool things with it. One of the things that has impressed me so far with Wesabe is their openness to feedback. You can even call their CEO directly. He's got phone hours and a number published on their site and you can call and talk to him personally, seven days a week. That's so cool. I like it when people dig their jobs.

Technorati Tags: , , , , ,

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by ORCS Web
Friday, July 13, 2007 1:33:57 AM UTC
What's the advantage to pushing it back up into the cloud? if i run the updater locally, wouldn't it be better for it to store and expose that data locally ?
Friday, July 13, 2007 1:43:24 AM UTC
Because they auto correct, clean/scrub, automatch, tag/categorize the data. You can tag and edit the data on their site and the chages are reflected in the newly downloaded (much cleaner) data. You can also just download data on a per tag basis.

I wasn't clear...I'll update the post.
Friday, July 13, 2007 1:50:14 AM UTC
Hmm, I think there are going to be some upset banks.
Friday, July 13, 2007 4:31:30 AM UTC
How soon do you think it'll be before Google acquires Wesabe?
Friday, July 13, 2007 4:51:54 AM UTC
This certainly looks like it has some potential. Technology has really been lacking in the area of personal finance management.
Joel
Friday, July 13, 2007 6:23:21 AM UTC
For Wesabe to really shine in my eyes, I need better support for loading up investments and loans. And more customizing options would help, like setting your own accounting periods and turning off tips.
Eddie
Friday, July 13, 2007 6:24:47 AM UTC
Google will not be acquiring Wesabe until they fix one fundamental flaw:

Wesabe does not allow for input of cash transactions.

I have e-mailed them directly and indicated that I would be willing to swear off Quicken and provide them a monthly fee (rather than the annual Quicken update) if only they would let me punch in my cash transactions. That was 3 months ago, they have not responded, so I can safely assume that this is still the case.

But hey, great idea, really neat cutting-edge website, but they're really missing something pretty basic. They can't understand that people still do things that are not electronically traceable. What good are my "Grocery" reports if I paid for some of my groceries in cash? How can I "balance" my chequebook if I don't get any data until in the cheque clears? These are pretty fundamental use cases.

Actually, maybe it would be good if Google bought them, then maybe they'd fill in the gaps. But I wouldn't count on it, Google Spreadsheets was available for months without a chart feature and when the chart feature came it didn't have y-axis scaling ('cause that's not important OR easy to implement).
Friday, July 13, 2007 6:29:13 AM UTC
Gates VP - Why not call Jason the CEO tommorow?
Friday, July 13, 2007 6:44:04 AM UTC
This is interesting, it covers 1/2 of the roll your own financial package problem, that of learning how to get at the various banks OFX information. Now that the first hurdle is done the last is bill paying from within an application, and I'm guessing that CheckFree has an easy to use API for third-party developers to access to embed epay options into their software? This is actually rather exciting as it allows anyone to create a full featured finacial package, it may even wake up the Quicken and Money teams.

It's the API that excites me, not the consumer facing part of Wesabe. Until web apps can become *faster* than their desktop counterparts they don't much interest me, unless they're something that actually benifits from being connected, such as highrise or basecamp.
Friday, July 13, 2007 7:19:36 AM UTC
Scott, thanks for the great article!

Gates VP, we do in fact allow you to add cash transactions by hand. I wrote about our addition of the feature here: http://blog.wesabe.com/index.php/2007/06/09/new-feature-cash-accounts/

I agree that this was a gap in what we offer, and that there are others. We're adding features often, and we try to do them roughly in the order requested.

I'm sorry that you never got a response to the support email. We fell behind in support email for a while, but we now have a full-time user advocate/support/documentation person, who's been keeping up with responses and clearing out the backlog.

Eddie, I also agree about loans and investment accounts, and we'll add those as soon as possible.

Shawn, I'm glad to hear that the API is worthwhile. If there are more methods or other features you'd like for the API, please let us know.

Thanks to all for the great comments.

Marc Hedlund
Wesabe
Friday, July 13, 2007 3:08:23 PM UTC
I think this is great news, the more people have control of their own data the better. I work in the telecoms industry and it's an industry as guilty as any other for protecting it's data and not allowing it out of the garden.
Friday, July 13, 2007 3:22:59 PM UTC
I'd love to get into the Google code stuff, if you wouldn't mind adding me. My gmail username is matt.dawdy I've been mulling around an idea for a while, and Wesabe takes half of the work out of my hands.
Matt
Friday, July 13, 2007 6:23:56 PM UTC
Scott, I'd love to be added to the google code project, this has alot of potential worth exploring. My Google Account is TRayburn -at- gmail.
Sunday, July 15, 2007 9:26:02 PM UTC
Scott,

I'm another who'd love to be added to the google code project: username=toddwprice

I thought about creating my own app for managing my finances (having tried Money, Quicken, and Mvelopes) but this exact piece was missing.
Todd Price
Monday, July 16, 2007 3:03:45 PM UTC
Scott,

I would like to be added to the google code project

username: brandonkilheffer

I started exploring wesabe over the weekend and so far I have been impressed.
Brandon
Tuesday, July 17, 2007 2:36:58 PM UTC
Wesabe looks to be on their way to earning my adoption. I'm a Money user as well, and disappointed with the lack of Direct-Connect partners in the financial industry. If Wesabe figures out a way to abstract the banks from this service, then the banks won't have to worry about the cost to implement a Quicken or Money OFX server at their end. OFX management is an excellent start for Wesabe, but now I want to see the road map to bill payment.
Tuesday, July 24, 2007 5:35:47 PM UTC
I'd like to be added for access to the client on Google Code as well. I'd love to do some more digging into some possibilities with it and kick the tires a bit.

user: mikepmunroe -at- gmail
Wednesday, July 25, 2007 5:55:00 PM UTC
Scott,
Can you please tell me how you managed this diagram in Paint.NET. I am toying with it for the first time and can neither find a tool or plugin that will allow me to create such a sweet diagram. I would love to replace Visio but can only guess that such objects are not available through Paint.Net....Am I crazy?
Jones
Wednesday, July 25, 2007 6:24:33 PM UTC
Jones - I just found some icons that were around and put them on one "layer," then I did the lines on another layer, and the text on a third.
Wednesday, July 25, 2007 7:06:52 PM UTC
I figured that was the case - now if Paint.NET offered such capabilities (and i've used the alternatives to Visio and wasn't that pleased) i'd be sold - but let me not trash your Wesabe post with my ramblings...
Thanks for the info Scott
Jones
Comments are closed.

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.