Created: 2008-09-26 04:47
Updated: 2018-11-13 02:04
License: other



Please send me a message if you are interested in contributing. Here is a quick overview of some things I'd like to add to the gem:

  • Merge in forked versions of this gem. (Any idea what forks are worth while?)
  • Provide a way to retrieve the error message with actions beside list are called.
  • Make ListProxy optional on list actions. Some people have valid reason to deal with pagination.
  • Add OAuth.
  • Add WebHooks.
  • More tests, including integration tests.
  • Write some documentation and examples.
  • Launch an official 3.0 (maybe call it 4.0) version of the gem.
  • Post the official version to rubygems.
  • Ensure rubygems aren't required for this gem.


FreshBooks.rb is a Ruby interface to the FreshBooks API. It exposes easy-to-use classes and methods for interacting with your FreshBooks account.

NOTE: These examples are out of date and need to be updated. I will be writing documentation for all the updates soon and will be pushing the changes to rubyforge in the near future.



FreshBooks::Base.establish_connection('', 'mytoken')

Updating a client name:

clients = FreshBooks::Client.list
client = clients[0]
client.first_name = 'Suzy'

Updating an invoice:

invoice = FreshBooks::Invoice.get(4)
invoice.lines[0].quantity += 1

Creating a new item

item = = 'A sample item'


This work is distributed under the MIT License. Use/modify the code however you like.


sudo gem install bcurren-freshbooks.rb


FreshBooks.rb is written and maintained by Ben Curren at Ben Vinegar was the original developer and we have taken over maintenance of the gem from now on.

Cookies help us deliver our services. By using our services, you agree to our use of cookies Learn more