× Freshbooks App Logo
Official App
Free - Google Play
Get it

Developer Tips

Before you dive into development, take a look at the list of commonly overlooked issues, or features, of FreshBooks and the API.

Things you should know before developing with the FreshBooks API

  1. ‘Draft’ status invoices should not be counted as actual invoices.
  2. ‘Partial’ status invoices are marked as ‘Draft’ in the api and should be checked for. These invoices will have a non-zero ‘amount_outstanding’ value.
  3. FreshBooks supports multiple currencies, so invoices may be in different currencies within a single account.
  4. There are two types of users in FreshBooks, admin and staff. Be sure to verify that the add-on functions for both admin and staff tokens.
  5. Customers may have multiple FreshBooks accounts.
  6. Results from ‘.list’ calls are paginated to 100 results at a time. You will need to page through the results if there are more than 100 items.
  7. Deleted items are not available through the api.
  8. FreshBooks offers two methods of authenticating with the API; OAuth and token authentication. All new add-ons to the FreshBooks directory require OAuth authentication through the api. The token method will be reserved strictly for personal api development.
  9. Clients may have the same email addresses.
  10. There are two second level domains (xxxx.freshbooks.com, xxxx.billingarm.com) It’s wise to accept subdomains with this regexp:subdomain = /(?:https?://)?([^.]+?)(?:[.](?:freshbooks|billingarm)[.]com)?/i