There is a great parable about the difficulties of estimating and the hopelessness of trying to catch up to stick to an original unrealistic schedule, based on a hike from San Francisco to Los Angeles, along the coastal route. If you haven’t seen it before I suggest you read it. This post will still be here when you get back:

Why are software development task estimates regularly off by a factor of 2-3?

One of the unplanned little twists and turns I’ve encountered in the last couple of weeks in One Metric is dealing with the issue of currencies.

This was always something I was going to have to deal with eventually, assuming that I’ll one day have users in different countries. But I initially figured it was something that could wait beyond the initial launch. YAGNI, right?

Well, turns out that wasn’t right.

One of the features that I’m really excited about is the Xero integration we’ve built. It’s pretty magical to have financial metrics automatically imported into One Metric over night. We are using the Trial Balance API, which does a lot of the heavy lifting on currency conversion - e.g. if you have bank accounts in multiple currencies within your Xero account then these are converted into a single base currency in the values that we get via the API. However of course that base currency could be anything: dollars, pounds, yen, you name it. Always displaying these values as dollars isn’t going to work!

To fix this we had to unpick quite a few things. You can now specify your base currency at an organisation level. Any new metrics use that base currency, but you can also specific a specific currency for each metric, if you want to customise that.

Here is a quick demo of that in action:

There is a lot more to build, like better support for converting currencies in formulas within One Metric, etc, but all of that can come in the future. Once we’ve finally made it to LA!