Skip to Main Content
Official App
Free – Google Play
Get it
FreshBooks is Loved by American Small Business Owners
FreshBooks is Loved by Canadian Small Business Owners
FreshBooks is Loved by Small Business Owners in the UK
Dev Blog

Announcing Cloud Currency

By Avril Koi on April 1st, 2013

In January 2010 we were pleased to announce the ability to bill in multiple currencies from FreshBooks. In 2012 we announced Cloud Accounting. In 2013, we’re changing the game once more. Today, we’re pleased to announce the arrival of FreshBucks! The true Cloud Currency for all!

If you’ve ever had to work with more than one currency in an application, you know how painful and annoying it can be. Providing reasonable rates of exchange, keeping track of payments in one currency against expenses in another — it’s ugly. It’s not even worth it. So, we’re throwing it out.

That’s right; we’re putting your money in the Cloud.

Introducing the FreshBuck

We looked at other alternative currencies, but what they’re all really missing is a solid sense of the value behind them. What can you really exchange these units FOR? It’s a problem nobody has really cracked yet.

Until now. We can tell you exactly what your FreshBuck is worth: six seconds of free FreshBooks time. That’s right — for only ƒ10 you get a whole minute of FreshBooks. ƒ144,400 equals a whole DAY of FreshBooks in your pocket.

Time really IS money with FreshBucks!


Of course…

A Hallowe’en Hack-Off

By Corey on October 22nd, 2012

Oh yes. This is a thing.

The “Hack-Off” has a long and storied tradition at FreshBooks — a day when folks put aside their usual duties and work on whatever seems like a good idea to them, with the only stipulation being that at the end of the day they’re meant to show off their efforts to the company.

We’ve had new features built, long-standing bugs fixed, completely insane dance videos, and velociraptors running amok. There’s music, cocktails, celebrity judges (well, me) and all sorts of shenanigans.

It gets pretty crazy on Hack-Off Day at FreshBooks, but this month is shaping up to be the craziest yet. We’re combining the Hack-Off with the annual ever-popular FreshBooks Costume Contest to bring FreshBookers the

Hacked-Up Hack-Off

Epic. Ridiculous costumes plus mad hacking schemes equals MONUMENTAL AWESOMENESS. We hope.

Painless multiple repository management

By djoume on July 26th, 2012

Version Control All the things!

Can you imagine a world without version control systems? I’m old enough that I can actually remember. Let me tell you kids, it wasn’t pretty.

I’ve learned my lessons, and today I use version control for almost everything: code, server config, personal documents, kids pictures, you name it. Even my home directory is under version control! As I’m writing this I have over 50 repositories checked out. They are of all kinds: git, mercurial, darcs, subversion, …

fatal: Not a git repository (or any of the parent directories): .git

The thing is, I can never remember which project is using which tool. Python uses mercurial, gunicorn uses git, selenium uses subversion… Also keeping all my repository up to date is a pain! :’(

Enter mr, a Multiple Repository management tool developed by Joey Hess:

The mr(1) command can checkout, update, or perform other actions on a set of repositories as if they were one combined respository. It supports any combination of subversion, git, cvs, mercurial, bzr, darcs, cvs, vcsh, fossil and veracity repositories, and support for other revision control systems can easily be added. (There are extensions adding support for unison and git-svn.)

It is extremely configurable via…

Building the FreshBooks account overview

By Mark on July 24th, 2012

We recently released a totally re-designed and re-engineered account overview. It replaces one of the slowest pages in FreshBooks with a faster, richer and more interactive client side application. It was built by a team of 4 over the course of a few weeks, and I’d like to share how we built it and some of the lessons we learned along the way.

When reviewing just how much data we had planned to pack on each page it became very apparent that generating a huge HTML page wasn’t going to provide the experience we wanted. The existing homepage is consistently one of the slowest pages in our application. Basically doubling the amount of data displayed on the existing page was not going to be performant. We quickly decided that building the overview as a mini client-side application was going to provide the most performant end result.

Server-side architecture

The server-side architecture is organized around the concept of discrete panels with a single responsibility/function. Visually and structurally the overview is divided into a number of independent panels. Each panel is self-contained and provides information on a different aspect or dimension of your business. Not every FreshBooks account uses every feature, so…

Git: Not Just Source Control

By Jason Diller on April 1st, 2012

At FreshBooks, we really like git for our source control. Git provides us with easy branch management, reliable source control, and the commands are intuitive. But git’s usefulness isn’t limited to source control. We’ve discovered that git’s elegant interface and potent functionality make it useful for all sorts of applications.

For example, a couple of months ago our internal Jabber server was down for maintenance and the maintenance window lasted a bit longer than expected (something about Erlang packages and CentOS, I think). I was working on a project with some other developers located dozens of feet apart and we had been collaborating with each other using Jabber to save the walk to each other’s desks. With the Jabber server down, and facing the productivity hit of having to walk across the office, we did what any developer would do and worked around the problem.

Someone said, “well, we already share code using git, why not use that for messages too?” It seemed so obvious once it was put like that. It was dead simple.

We started out by setting up private message repositories on our local hosts, and a shared project message repository on a central host, then everyone…