> This page is for Workforce.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.merge.dev/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.merge.dev/_mcp/server.

# FreshBooks

**Authentication:** OAuth. See [Magic Link](/merge-agent-handler/features/magic-link) for the runtime auth flow, or [Application credentials](/merge-agent-handler/admin-setup/add-oauth-credentials) to bring your own OAuth app.

## Sample use cases

* List every invoice over 30 days past due, sorted by amount.
* Send a payment reminder to clients whose invoice was due last week.
* Pull total revenue by client for Q1 and rank by largest.

## Available Tools

#### list_clients

List all clients. Supports pagination and filtering by email or organization.

#### get_client

Get a specific client by ID with full details including contact info and outstanding balance.

#### create_client_tool

Create a new client. Provide at least an email or organization name.

#### update_client

Update a client's information. Only provided fields will be updated.

#### delete_client

Delete a client by setting their visibility state to deleted.

#### list_expenses

List all expenses. Supports pagination and filtering by category or client.

#### get_expense

Get a specific expense by ID with full details including category and tax info.

#### create_expense

Create a new expense. Requires categoryid, amount, date, and staffid.

#### update_expense

Update an expense. Only provided fields will be updated.

#### delete_expense

Delete an expense by setting its visibility state to deleted.

#### list_invoices

List all invoices. Supports pagination and filtering by status or client ID.

#### get_invoice

Get a specific invoice by ID with full details including line items and payment status.

#### create_invoice

Create a new invoice. Requires customerid, create_date, and at least one line item.

#### update_invoice

Update an invoice. Only provided fields will be updated.

#### delete_invoice

Delete an invoice by setting its visibility state to deleted.

#### send_invoice

Send an invoice by email to specified recipients.

#### mark_invoice_sent

Mark an invoice as sent without actually sending an email.

#### list_items

List all billable items/services. Supports pagination.

#### get_item

Get a specific billable item by ID with full details.

#### create_item

Create a new billable item/service. Requires name and unit_cost.

#### update_item

Update a billable item. Only provided fields will be updated.

#### delete_item

Delete a billable item by setting its visibility state to deleted.

#### list_payments

List all payments. Supports pagination and filtering by invoice or client.

#### get_payment

Get a specific payment by ID with full details.

#### create_payment

Create a new payment. Requires invoiceid, amount, and date.

#### update_payment

Update a payment. Only provided fields will be updated.

#### delete_payment

Delete a payment by setting its visibility state to deleted.

#### list_projects

List all projects. Requires business_id. Supports pagination and filtering by active status.

#### get_project

Get a specific project by ID with full details. Requires business_id.

#### create_project

Create a new project. Requires business_id and title.

#### update_project

Update a project. Requires business_id. Only provided fields will be updated.

#### delete_project

Delete a project. Requires business_id.

#### list_time_entries

List all time entries. Requires business_id. Supports pagination and filtering by project or date range.

#### get_time_entry

Get a specific time entry by ID with full details. Requires business_id.

#### create_time_entry

Create a new time entry. Requires business_id and started_at. Either duration or a running timer is required.

#### update_time_entry

Update a time entry. Requires business_id. Only provided fields will be updated.

#### delete_time_entry

Delete a time entry. Requires business_id.