FreshBooks Notion Integration
Sync FreshBooks with Notion automatically - clients, invoices, expenses, and time entries up to date, no coding needed
Free to start. No credit card required.
Trusted worldwide
500+ teams stopped copying data manually.
Yours can too.
The FreshBooks Notion integration lets you pull live accounting data directly from your FreshBooks account into Notion using Note API Connector. Whether you are building a client database, an invoice tracker, an expense dashboard, or a time tracking log, this integration keeps your Notion databases in sync with FreshBooks automatically.
With Note API Connector you can sync FreshBooks with Notion on a fully automated schedule (hourly, daily, or at custom intervals) without writing a single line of code. Connect your FreshBooks account via OAuth 2.0, choose a Notion database, map the client, invoice, and expense fields visually, and your FreshBooks data flows into Notion on autopilot from that point forward.
How to connect FreshBooks to Notion
Connect your Notion workspace
Click Connect to Notion, authorize Note API Connector, and select the pages and workspace where your FreshBooks data should appear.
Create a FreshBooks OAuth app and connect
Go to my.freshbooks.com/#/developer and create a new app. Give it a name, set the Redirect URI to https://api.noteapiconnector.com/oauth/callback (it must use HTTPS), and select the scopes you need, for example user:clients:read, user:invoices:read, user:expenses:read, and user:time_entries:read. Save the app and copy your Client ID and Client Secret. In Note API Connector, click Create Request, paste your FreshBooks API endpoint URL, open the Authorization tab, select OAuth, click New, and fill in the connection form: Authorization Base URL https://auth.freshbooks.com/oauth/authorize, Token URL https://api.freshbooks.com/auth/oauth/token, your Client ID, Client Secret, and the same scopes separated by spaces. Click Create connection and approve access in the popup. See the full guide: Create a custom OAuth connection.
Find your account ID and create your data request
FreshBooks endpoints are scoped to your account or business, so first create a request to https://api.freshbooks.com/auth/api/v1/users/me using the same OAuth connection and run it. In the response, look under business_memberships and copy the account_id (used for accounting endpoints such as clients and invoices) and the business id (used for time tracking and project endpoints, this is a different value). Paste an endpoint URL using your own IDs, for example https://api.freshbooks.com/accounting/account/YOUR_ACCOUNT_ID/invoices/invoices, and run it. In the Response Field Mapping screen, select which FreshBooks fields to include and map each one to a Notion property.
Set your sync schedule and go live
Enable Auto Schedule and choose your refresh interval. Your FreshBooks data will sync with Notion automatically from that point forward, with no manual refreshes needed.
⏱ Hourly / Daily / Custom
What FreshBooks data can you sync with Notion?
Use these FreshBooks API endpoints directly in Note API Connector. Each one can be mapped to a separate Notion database.
All your clients with name, email, organization, and billing address. Build a searchable customer database directly inside Notion. Replace {account_id} with your own FreshBooks account ID.
https://api.freshbooks.com/accounting/account/{account_id}/users/clients
Invoices with amount, status, due date, and linked client. Build a live invoicing tracker or revenue log inside Notion. Replace {account_id} with your own FreshBooks account ID.
https://api.freshbooks.com/accounting/account/{account_id}/invoices/invoices
Business expenses with amount, category, vendor, and date. Track spending in a Notion finance dashboard. Replace {account_id} with your own FreshBooks account ID.
https://api.freshbooks.com/accounting/account/{account_id}/expenses/expenses
Logged time with duration, note, client, and billable status. Build a team time tracking log inside Notion. Replace {business_id} with your own FreshBooks business ID, which is different from the account ID.
https://api.freshbooks.com/timetracking/business/{business_id}/time_entries
Projects with budget, due date, and completion status. Track ongoing client work inside Notion. Replace {business_id} with your own FreshBooks business ID, which is different from the account ID.
https://api.freshbooks.com/projects/business/{business_id}/projects
See how it works
Why sync FreshBooks with Notion?
Always up to date
Scheduled sync runs automatically. Your Notion database reflects live FreshBooks data without any manual work.
No coding required
Point, click, and map fields. Connect FreshBooks to Notion in minutes without any programming knowledge.
Custom schedule
Choose hourly, daily, or custom intervals. You control exactly when Notion pulls fresh data from FreshBooks.
Conclusion
With Note API Connector, setting up a complete FreshBooks Notion integration takes minutes, not days. Your clients, invoices, and expense data sync automatically into Notion on your chosen schedule, with no code and no manual copy and paste.
Whether you are building a live invoicing dashboard, an expense tracker, or a team time log, connecting FreshBooks to Notion gives you the flexibility of Notion's interface with the accuracy of your accounting data.
Frequently Asked Questions
Yes. FreshBooks provides a REST API that exposes clients, invoices, expenses, time entries, and projects. Note API Connector connects to this API using OAuth 2.0 to pull your FreshBooks data into Notion on a scheduled basis.
Create an app at my.freshbooks.com/#/developer with the redirect URL https://api.noteapiconnector.com/oauth/callback. In Note API Connector, connect your Notion workspace, click Create Request, paste a FreshBooks API endpoint URL, open the Authorization tab, select OAuth, and fill in the connection form with FreshBooks Authorization Base URL, Token URL, and your Client ID and Client Secret. Approve the popup to complete the connection.
Yes. Enable Auto Schedule in Note API Connector and choose your refresh interval: hourly, daily, or custom. Note API Connector refreshes your OAuth token automatically, so your FreshBooks data keeps syncing into Notion without manual action.
Accounting endpoints such as clients, invoices, and expenses use your account_id, while time tracking and project endpoints use a separate business id. Call GET https://api.freshbooks.com/auth/api/v1/users/me with your OAuth connection to find both values under business_memberships in the response.
FreshBooks groups its API by service, such as accounting or invoices, and then by resource within that service. For some resources the service name and the resource name happen to match, which is why the full path repeats the word, for example accounting/account/{account_id}/invoices/invoices.
You can sync clients, invoices, expenses, time entries, and projects. Each FreshBooks API endpoint can be mapped to a separate Notion database, so you can build a complete accounting and project overview inside Notion.
No. Note API Connector is a no-code tool. You paste your FreshBooks API endpoint URL, set up the OAuth connection using the Authorization tab, select your Notion database, and map fields visually. No programming knowledge is needed.
Yes. Note API Connector connects to FreshBooks using OAuth 2.0, and you control exactly which scopes to grant when creating your app. Selecting only read scopes, such as user:invoices:read, means Note API Connector can retrieve data but never create, edit, or delete anything in your FreshBooks account.