# FreshBooks

FreshBooks is a cloud-based accounting software service designed for small and medium-sized businesses, offering features like invoicing, expense tracking, and time management.

- **Category:** accounting
- **Auth:** OAUTH2
- **Tools:** 11
- **Triggers:** 0
- **Slug:** `FRESHBOOKS`
- **Version:** 20260217_00

## Tools

### Create Webhook

**Slug:** `FRESHBOOKS_CREATE_WEBHOOK`

Register a new webhook callback for a FreshBooks account. Webhooks notify your application when specified events occur (e.g., when invoices are created, clients are updated, or payments are received). **Prerequisites:** Obtain a valid account_id using the List Businesses action first. **Important Notes:** - FreshBooks implements a verification mechanism to ensure you own the callback URI. The 'verified' field will initially be false. - Your webhook endpoint must respond with a 2xx HTTP status code. Any other status code (including 3xx redirects) is treated as a failure. - Webhook requests have a 10-second timeout. - Requires 'user:webhooks:write' OAuth scope. **Common Event Types:** client.create, client.update, client.delete, invoice.create, invoice.update, invoice.delete, payment.create, payment.update, payment.delete, expense.create, expense.update, expense.delete.

### Delete Webhook

**Slug:** `FRESHBOOKS_DELETE_WEBHOOK`

Delete a webhook callback from a FreshBooks account. Use when you need to remove an existing webhook subscription that is no longer needed.

### Get Business Users

**Slug:** `FRESHBOOKS_GET_BUSINESS_USERS`

Retrieves staff identities and members for a specific FreshBooks business. This action returns detailed information about all staff members (owners, admins, employees) in a business group, including their roles, email addresses, and active status. Use this to discover team members before assigning time entries or tasks.

### List Businesses

**Slug:** `FRESHBOOKS_LIST_BUSINESSES`

List all businesses associated with the authenticated user. This action retrieves business membership information from the FreshBooks Identity endpoint, showing all businesses the user has access to along with their role in each business. The business_id from this response is required for many other FreshBooks API calls.

### List Clients

**Slug:** `FRESHBOOKS_LIST_CLIENTS`

Retrieves all clients for a FreshBooks account. Clients are entities you send invoices to. Supports pagination, filtering by email/user ID/visibility state, sorting, and includes optional balance data (outstanding, credit, draft, overdue).

### List Journal Entries

**Slug:** `FRESHBOOKS_LIST_JOURNAL_ENTRIES`

Retrieves adjustment journal entries for a FreshBooks business account. This action returns a paginated list of manual journal entries, which are used for accounting adjustments (e.g., accruals, corrections, closing entries). Each entry includes debits and credits that must balance. Use this to review, audit, or integrate journal entries with external accounting systems. **Note:** Requires API version 2023-09-25 or later.

### List Journal Entries

**Slug:** `FRESHBOOKS_LIST_JOURNAL_ENTRIES2`

Retrieves all journal entries for a FreshBooks business account. Journal entries are the building blocks of financial accounting, recording all business transactions including invoices, payments, credits, and expenses. Use this action to get a comprehensive view of your accounting records.

### List Projects

**Slug:** `FRESHBOOKS_LIST_PROJECTS`

Retrieves all projects associated with a FreshBooks business account. This action returns a paginated list of projects with comprehensive details including client information, billing rates, budget, completion status, team members, and associated services. Use this to discover available projects before performing project-specific operations. **Prerequisites:** Obtain a valid business_id using the List Businesses action first. **Use Cases:** - Get all projects for time tracking or invoicing - Find projects by client, status, or date range - Monitor project completion and budget tracking - Retrieve team assignments and project groups **Response:** Returns an empty list if no projects exist or match the filters.

### List Webhooks

**Slug:** `FRESHBOOKS_LIST_WEBHOOKS`

List all webhook callbacks registered for a FreshBooks account. Webhooks notify your application when events occur (e.g., invoice creation, payment received). Use this to discover what webhook callbacks are currently active for an account before creating or managing webhook subscriptions.

### Register as a New User

**Slug:** `FRESHBOOKS_REGISTER_AS_A_NEW_USER`

Register a new user account in FreshBooks. Returns an access token upon successful registration. Use this action when you need to create a new FreshBooks user account programmatically with their business information.

### Update Webhook

**Slug:** `FRESHBOOKS_UPDATE_WEBHOOK`

Update or verify a FreshBooks webhook callback. Use this to verify a newly created webhook by providing the verification code, or to request a new verification code be sent to the callback URI. **Prerequisites:** You need the account_id (from List Businesses as business_uuid) and callback_id (from webhook creation). **Use Cases:** - Verify a webhook after creation by providing the verifier code received at your callback URI - Request a new verification code if the original was lost or expired (set resend=true) **Important:** The verifier and resend parameters are mutually exclusive - provide only one per request.
