FreshBooks
FreshBooks connector seamlessly syncs invoicing, expenses, and client data from FreshBooks into data warehouses or analytics platforms.
Configuration
| Input | Type | Description | Default Value |
|---|---|---|---|
client_id | string | Client ID. | |
client_secret | string | Client secret. | |
redirect_uri | string | Redirect Uri. | |
account_id | string | Account Id. | |
client_refresh_token | string | Refresh token. | |
oauth_access_token | string | Access token. The current access token. This field might be overridden by the connector based on the token refresh endpoint response. | |
oauth_token_expiry_date | string | Token expiry date. The date the current access token expires in. This field might be overridden by the connector based on the token refresh endpoint response. | |
business_uuid | string | Business uuid. |
Read this section carefully to get your Account Id and Business UUID.
Refresh tokens are single-use
FreshBooks refresh tokens are one-time-use: every call to the token endpoint invalidates the refresh token that was used and returns a new one. The connector persists the replacement token after each refresh, but a refresh token that has already been exchanged anywhere else (your own script, Postman, a previous connector setup attempt) is rejected by FreshBooks with invalid_grant and the connection fails with "Refresh token was rejected by the OAuth provider".
To avoid burning the refresh token while the source is being created:
- Complete the OAuth authorization flow and exchange the authorization code once. Keep the full token response.
- Enter the returned
refresh_tokenin Refresh token, theaccess_tokenin Access token, and the token expiry (created_at + expires_in, as an ISO 8601 date-time such as2026-10-07T20:00:00Z) in Token expiry date. While the access token is still valid the connection test uses it directly instead of consuming the refresh token. - Do not reuse this refresh token anywhere else once the source has been created.
If the connection test fails with invalid_grant, re-authorize the app in FreshBooks to obtain a fresh token pair and update the source with it.
Streams
| Stream Name | Primary Key | Pagination | Supports Full Sync | Supports Incremental |
|---|---|---|---|---|
| user | DefaultPaginator | ✅ | ❌ | |
| clients | DefaultPaginator | ✅ | ❌ | |
| invoices | id.invoiceid | DefaultPaginator | ✅ | ❌ |
| expenses | id.expenseid | DefaultPaginator | ✅ | ❌ |
| expense_summaries | DefaultPaginator | ✅ | ❌ | |
| expense_categories | id | DefaultPaginator | ✅ | ❌ |
| invoice_details | invoiceid | DefaultPaginator | ✅ | ❌ |
| expense_details | expenseid | DefaultPaginator | ✅ | ❌ |
| accounts | DefaultPaginator | ✅ | ❌ | |
| taxes | taxid | DefaultPaginator | ✅ | ❌ |
IP allow list
If you use Airbyte Cloud and your organization restricts access to specific IPs, add the Airbyte Cloud IP addresses to your allow list.
Reference
Config fields reference
Changelog
Expand to review
| Version | Date | Pull Request | Subject |
|---|---|---|---|
| 0.0.71 | 2026-10-13 | 88632 | Update dependencies |
| 0.0.70 | 2026-10-07 | 88196 | Surface FreshBooks invalid_grant refresh-token rejections as a config error instead of a bare 400 Bad Request; document single-use refresh tokens |
| 0.0.69 | 2026-10-06 | 87842 | Update dependencies |
| 0.0.68 | 2026-09-29 | 87153 | Update dependencies |
| 0.0.67 | 2026-09-22 | 86609 | Update dependencies |
| 0.0.66 | 2026-09-15 | 86022 | Update dependencies |
| 0.0.65 | 2026-09-08 | 85477 | Update dependencies |
| 0.0.64 | 2026-08-18 | 84596 | Update dependencies |
| 0.0.63 | 2026-08-11 | 83931 | Update dependencies |
| 0.0.62 | 2026-08-04 | 83455 | Update dependencies |
| 0.0.61 | 2026-07-28 | 82904 | Update dependencies |
| 0.0.60 | 2026-07-21 | 82398 | Update dependencies |
| 0.0.59 | 2026-07-14 | 81837 | Update dependencies |
| 0.0.58 | 2026-06-30 | 81080 | Update dependencies |
| 0.0.57 | 2026-06-23 | 80459 | Update dependencies |
| 0.0.56 | 2026-06-16 | 79844 | Update dependencies |
| 0.0.55 | 2026-06-09 | 79317 | Update dependencies |
| 0.0.54 | 2026-06-02 | 78716 | Update dependencies |
| 0.0.53 | 2026-04-28 | 77258 | Update dependencies |
| 0.0.52 | 2026-04-21 | 76590 | Update dependencies |
| 0.0.51 | 2026-03-24 | 75316 | Update dependencies |
| 0.0.50 | 2026-03-10 | 74636 | Update dependencies |
| 0.0.49 | 2026-02-24 | 73760 | Update dependencies |
| 0.0.48 | 2026-02-17 | 73375 | Update dependencies |
| 0.0.47 | 2026-02-10 | 73141 | Update dependencies |
| 0.0.46 | 2026-02-03 | 72543 | Update dependencies |
| 0.0.45 | 2026-01-20 | 71968 | Update dependencies |
| 0.0.44 | 2026-01-14 | 71637 | Update dependencies |
| 0.0.43 | 2025-12-18 | 70587 | Update dependencies |
| 0.0.42 | 2025-11-25 | 69994 | Update dependencies |
| 0.0.41 | 2025-11-18 | 69438 | Update dependencies |
| 0.0.40 | 2025-10-29 | 68779 | Update dependencies |
| 0.0.39 | 2025-10-21 | 68463 | Update dependencies |
| 0.0.38 | 2025-10-14 | 68040 | Update dependencies |
| 0.0.37 | 2025-10-07 | 67302 | Update dependencies |
| 0.0.36 | 2025-09-30 | 66764 | Update dependencies |
| 0.0.35 | 2025-09-24 | 65860 | Update dependencies |
| 0.0.34 | 2025-08-23 | 65236 | Update dependencies |
| 0.0.33 | 2025-08-09 | 64738 | Update dependencies |
| 0.0.32 | 2025-08-02 | 64387 | Update dependencies |
| 0.0.31 | 2025-07-26 | 63990 | Update dependencies |
| 0.0.30 | 2025-07-19 | 63560 | Update dependencies |
| 0.0.29 | 2025-07-12 | 62998 | Update dependencies |
| 0.0.28 | 2025-07-05 | 62784 | Update dependencies |
| 0.0.27 | 2025-06-28 | 62423 | Update dependencies |
| 0.0.26 | 2025-06-21 | 61944 | Update dependencies |
| 0.0.25 | 2025-06-14 | 61204 | Update dependencies |
| 0.0.24 | 2025-05-24 | 60399 | Update dependencies |
| 0.0.23 | 2025-05-10 | 59962 | Update dependencies |
| 0.0.22 | 2025-05-03 | 59428 | Update dependencies |
| 0.0.21 | 2025-04-26 | 58862 | Update dependencies |
| 0.0.20 | 2025-04-19 | 58369 | Update dependencies |
| 0.0.19 | 2025-04-12 | 57830 | Update dependencies |
| 0.0.18 | 2025-04-05 | 57271 | Update dependencies |
| 0.0.17 | 2025-03-29 | 56468 | Update dependencies |
| 0.0.16 | 2025-03-22 | 55987 | Update dependencies |
| 0.0.15 | 2025-03-08 | 55347 | Update dependencies |
| 0.0.14 | 2025-03-01 | 54947 | Update dependencies |
| 0.0.13 | 2025-02-22 | 54422 | Update dependencies |
| 0.0.12 | 2025-02-15 | 53770 | Update dependencies |
| 0.0.11 | 2025-02-08 | 53314 | Update dependencies |
| 0.0.10 | 2025-02-01 | 52873 | Update dependencies |
| 0.0.9 | 2025-01-25 | 52309 | Update dependencies |
| 0.0.8 | 2025-01-18 | 51659 | Update dependencies |
| 0.0.7 | 2025-01-11 | 51087 | Update dependencies |
| 0.0.6 | 2024-12-28 | 50525 | Update dependencies |
| 0.0.5 | 2024-12-21 | 50000 | Update dependencies |
| 0.0.4 | 2024-12-14 | 49498 | Update dependencies |
| 0.0.3 | 2024-12-12 | 49209 | Update dependencies |
| 0.0.2 | 2024-12-11 | 48942 | Starting with this version, the Docker image is now rootless. Please note that this and future versions will not be compatible with Airbyte versions earlier than 0.64 |
| 0.0.1 | 2024-10-27 | Initial release by @bishalbera via Connector Builder |