Skip to main content

FreshBooks

FreshBooks connector seamlessly syncs invoicing, expenses, and client data from FreshBooks into data warehouses or analytics platforms.

Configuration​

InputTypeDescriptionDefault Value
client_idstringClient ID.
client_secretstringClient secret.
redirect_uristringRedirect Uri.
account_idstringAccount Id.
client_refresh_tokenstringRefresh token.
oauth_access_tokenstringAccess token. The current access token. This field might be overridden by the connector based on the token refresh endpoint response.
oauth_token_expiry_datestringToken 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_uuidstringBusiness 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:

  1. Complete the OAuth authorization flow and exchange the authorization code once. Keep the full token response.
  2. Enter the returned refresh_token in Refresh token, the access_token in Access token, and the token expiry (created_at + expires_in, as an ISO 8601 date-time such as 2026-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.
  3. 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 NamePrimary KeyPaginationSupports Full SyncSupports Incremental
userDefaultPaginator✅❌
clientsDefaultPaginator✅❌
invoicesid.invoiceidDefaultPaginator✅❌
expensesid.expenseidDefaultPaginator✅❌
expense_summariesDefaultPaginator✅❌
expense_categoriesidDefaultPaginator✅❌
invoice_detailsinvoiceidDefaultPaginator✅❌
expense_detailsexpenseidDefaultPaginator✅❌
accountsDefaultPaginator✅❌
taxestaxidDefaultPaginator✅❌

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

Field
Type
Property name
Account Id
required
string
account_id
Business uuid
required
string
business_uuid
Client ID
required
string
client_id
string
client_refresh_token
Client secret
required
string
client_secret
Redirect Uri
required
string
redirect_uri
string
oauth_access_token
string
oauth_token_expiry_date

Changelog​

Expand to review
VersionDatePull RequestSubject
0.0.712026-10-1388632Update dependencies
0.0.702026-10-0788196Surface FreshBooks invalid_grant refresh-token rejections as a config error instead of a bare 400 Bad Request; document single-use refresh tokens
0.0.692026-10-0687842Update dependencies
0.0.682026-09-2987153Update dependencies
0.0.672026-09-2286609Update dependencies
0.0.662026-09-1586022Update dependencies
0.0.652026-09-0885477Update dependencies
0.0.642026-08-1884596Update dependencies
0.0.632026-08-1183931Update dependencies
0.0.622026-08-0483455Update dependencies
0.0.612026-07-2882904Update dependencies
0.0.602026-07-2182398Update dependencies
0.0.592026-07-1481837Update dependencies
0.0.582026-06-3081080Update dependencies
0.0.572026-06-2380459Update dependencies
0.0.562026-06-1679844Update dependencies
0.0.552026-06-0979317Update dependencies
0.0.542026-06-0278716Update dependencies
0.0.532026-04-2877258Update dependencies
0.0.522026-04-2176590Update dependencies
0.0.512026-03-2475316Update dependencies
0.0.502026-03-1074636Update dependencies
0.0.492026-02-2473760Update dependencies
0.0.482026-02-1773375Update dependencies
0.0.472026-02-1073141Update dependencies
0.0.462026-02-0372543Update dependencies
0.0.452026-01-2071968Update dependencies
0.0.442026-01-1471637Update dependencies
0.0.432025-12-1870587Update dependencies
0.0.422025-11-2569994Update dependencies
0.0.412025-11-1869438Update dependencies
0.0.402025-10-2968779Update dependencies
0.0.392025-10-2168463Update dependencies
0.0.382025-10-1468040Update dependencies
0.0.372025-10-0767302Update dependencies
0.0.362025-09-3066764Update dependencies
0.0.352025-09-2465860Update dependencies
0.0.342025-08-2365236Update dependencies
0.0.332025-08-0964738Update dependencies
0.0.322025-08-0264387Update dependencies
0.0.312025-07-2663990Update dependencies
0.0.302025-07-1963560Update dependencies
0.0.292025-07-1262998Update dependencies
0.0.282025-07-0562784Update dependencies
0.0.272025-06-2862423Update dependencies
0.0.262025-06-2161944Update dependencies
0.0.252025-06-1461204Update dependencies
0.0.242025-05-2460399Update dependencies
0.0.232025-05-1059962Update dependencies
0.0.222025-05-0359428Update dependencies
0.0.212025-04-2658862Update dependencies
0.0.202025-04-1958369Update dependencies
0.0.192025-04-1257830Update dependencies
0.0.182025-04-0557271Update dependencies
0.0.172025-03-2956468Update dependencies
0.0.162025-03-2255987Update dependencies
0.0.152025-03-0855347Update dependencies
0.0.142025-03-0154947Update dependencies
0.0.132025-02-2254422Update dependencies
0.0.122025-02-1553770Update dependencies
0.0.112025-02-0853314Update dependencies
0.0.102025-02-0152873Update dependencies
0.0.92025-01-2552309Update dependencies
0.0.82025-01-1851659Update dependencies
0.0.72025-01-1151087Update dependencies
0.0.62024-12-2850525Update dependencies
0.0.52024-12-2150000Update dependencies
0.0.42024-12-1449498Update dependencies
0.0.32024-12-1249209Update dependencies
0.0.22024-12-1148942Starting 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.12024-10-27Initial release by @bishalbera via Connector Builder
Was this page helpful?