> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pinkfish.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# harvest-expenses

> Expenses & Reports

**Server path:** `/harvest-expenses` | **Type:** Application | **PCID required:** Yes

## Tools

| Tool                                                                                        | Description                  |
| ------------------------------------------------------------------------------------------- | ---------------------------- |
| [`harvest_expenses_clients_expenses_report`](#harvest_expenses_clients_expenses_report)     | Clients Expenses Report      |
| [`harvest_expenses_clients_time_report`](#harvest_expenses_clients_time_report)             | Clients Time Report          |
| [`harvest_expenses_create_expense`](#harvest_expenses_create_expense)                       | Create an expense            |
| [`harvest_expenses_create_expense_category`](#harvest_expenses_create_expense_category)     | Create an expense category   |
| [`harvest_expenses_delete_expense`](#harvest_expenses_delete_expense)                       | Delete an expense            |
| [`harvest_expenses_delete_expense_category`](#harvest_expenses_delete_expense_category)     | Delete an expense category   |
| [`harvest_expenses_expense_categories_report`](#harvest_expenses_expense_categories_report) | Expense Categories Report    |
| [`harvest_expenses_list_expense_categories`](#harvest_expenses_list_expense_categories)     | List all expense categories  |
| [`harvest_expenses_list_expenses`](#harvest_expenses_list_expenses)                         | List all expenses            |
| [`harvest_expenses_project_budget_report`](#harvest_expenses_project_budget_report)         | Project Budget Report        |
| [`harvest_expenses_projects_expenses_report`](#harvest_expenses_projects_expenses_report)   | Projects Expenses Report     |
| [`harvest_expenses_projects_time_report`](#harvest_expenses_projects_time_report)           | Projects Time Report         |
| [`harvest_expenses_retrieve_expense`](#harvest_expenses_retrieve_expense)                   | Retrieve an expense          |
| [`harvest_expenses_retrieve_expense_category`](#harvest_expenses_retrieve_expense_category) | Retrieve an expense category |
| [`harvest_expenses_tasks_report`](#harvest_expenses_tasks_report)                           | Tasks Report                 |
| [`harvest_expenses_team_expenses_report`](#harvest_expenses_team_expenses_report)           | Team Expenses Report         |
| [`harvest_expenses_team_time_report`](#harvest_expenses_team_time_report)                   | Team Time Report             |
| [`harvest_expenses_uninvoiced_report`](#harvest_expenses_uninvoiced_report)                 | Uninvoiced Report            |
| [`harvest_expenses_update_expense`](#harvest_expenses_update_expense)                       | Update an expense            |
| [`harvest_expenses_update_expense_category`](#harvest_expenses_update_expense_category)     | Update an expense category   |

***

## harvest\_expenses\_clients\_expenses\_report

Clients Expenses Report

**Parameters:**

| Parameter  | Type    | Required | Default | Description                                                                                                                                                                                          |
| ---------- | ------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `from`     | string  | Yes      | —       | Only report on expenses with a spent\_date on or after the given date.                                                                                                                               |
| `to`       | string  | Yes      | —       | Only report on expenses with a spent\_date on or before the given date.                                                                                                                              |
| `page`     | integer | No       | —       | The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1) |
| `per_page` | integer | No       | —       | The number of records to return per page. Can range between 1 and 2000. (Default: 2000)                                                                                                              |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "from": {
        "type": "string",
        "description": "Only report on expenses with a spent_date on or after the given date."
      },
      "to": {
        "type": "string",
        "description": "Only report on expenses with a spent_date on or before the given date."
      },
      "page": {
        "type": "integer",
        "description": "The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1)"
      },
      "per_page": {
        "type": "integer",
        "description": "The number of records to return per page. Can range between 1 and 2000. (Default: 2000)"
      }
    },
    "required": [
      "PCID",
      "from",
      "to"
    ]
  }
  ```
</Expandable>

***

## harvest\_expenses\_clients\_time\_report

Clients Time Report

**Parameters:**

| Parameter           | Type    | Required | Default | Description                                                                                                                                                                                          |
| ------------------- | ------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `from`              | string  | Yes      | —       | Only report on time entries with a spent\_date on or after the given date.                                                                                                                           |
| `to`                | string  | Yes      | —       | Only report on time entries with a spent\_date on or before the given date.                                                                                                                          |
| `include_fixed_fee` | boolean | No       | —       | When true, billable amounts will be calculated and included for fixed fee projects.                                                                                                                  |
| `page`              | integer | No       | —       | The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1) |
| `per_page`          | integer | No       | —       | The number of records to return per page. Can range between 1 and 2000. (Default: 2000)                                                                                                              |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "from": {
        "type": "string",
        "description": "Only report on time entries with a spent_date on or after the given date."
      },
      "to": {
        "type": "string",
        "description": "Only report on time entries with a spent_date on or before the given date."
      },
      "include_fixed_fee": {
        "type": "boolean",
        "description": "When true, billable amounts will be calculated and included for fixed fee projects."
      },
      "page": {
        "type": "integer",
        "description": "The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1)"
      },
      "per_page": {
        "type": "integer",
        "description": "The number of records to return per page. Can range between 1 and 2000. (Default: 2000)"
      }
    },
    "required": [
      "PCID",
      "from",
      "to"
    ]
  }
  ```
</Expandable>

***

## harvest\_expenses\_create\_expense

Create an expense

**Parameters:**

| Parameter             | Type    | Required | Default | Description |                                                                                                                 |
| --------------------- | ------- | -------- | ------- | ----------- | --------------------------------------------------------------------------------------------------------------- |
| `billable`            | boolean | null     | No      | —           | Whether this expense is billable or not. Defaults to true.                                                      |
| `expense_category_id` | integer | null     | Yes     | —           | The ID of the expense category this expense is being tracked against.                                           |
| `notes`               | string  | null     | No      | —           | Textual notes used to describe the expense.                                                                     |
| `project_id`          | integer | null     | Yes     | —           | The ID of the project associated with this expense.                                                             |
| `receipt`             | string  | null     | No      | —           | A receipt file to attach to the expense. If including a receipt, you must submit a multipart/form-data request. |
| `spent_date`          | string  | null     | Yes     | —           | Date the expense occurred.                                                                                      |
| `total_cost`          | number  | null     | No      | —           | The total amount of the expense.                                                                                |
| `units`               | integer | null     | No      | —           | The quantity of units to use in calculating the total\_cost of the expense.                                     |
| `user_id`             | integer | null     | No      | —           | The ID of the user associated with this expense. Defaults to the ID of the currently authenticated user.        |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "billable": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Whether this expense is billable or not. Defaults to true."
      },
      "expense_category_id": {
        "type": [
          "integer",
          "null"
        ],
        "description": "The ID of the expense category this expense is being tracked against."
      },
      "notes": {
        "type": [
          "string",
          "null"
        ],
        "description": "Textual notes used to describe the expense."
      },
      "project_id": {
        "type": [
          "integer",
          "null"
        ],
        "description": "The ID of the project associated with this expense."
      },
      "receipt": {
        "type": [
          "string",
          "null"
        ],
        "description": "A receipt file to attach to the expense. If including a receipt, you must submit a multipart/form-data request."
      },
      "spent_date": {
        "type": [
          "string",
          "null"
        ],
        "description": "Date the expense occurred."
      },
      "total_cost": {
        "type": [
          "number",
          "null"
        ],
        "description": "The total amount of the expense."
      },
      "units": {
        "type": [
          "integer",
          "null"
        ],
        "description": "The quantity of units to use in calculating the total_cost of the expense."
      },
      "user_id": {
        "type": [
          "integer",
          "null"
        ],
        "description": "The ID of the user associated with this expense. Defaults to the ID of the currently authenticated user."
      }
    },
    "required": [
      "PCID",
      "expense_category_id",
      "project_id",
      "spent_date"
    ]
  }
  ```
</Expandable>

***

## harvest\_expenses\_create\_expense\_category

Create an expense category

**Parameters:**

| Parameter    | Type    | Required | Default | Description |                                                                       |
| ------------ | ------- | -------- | ------- | ----------- | --------------------------------------------------------------------- |
| `is_active`  | boolean | null     | No      | —           | Whether the expense category is active or archived. Defaults to true. |
| `name`       | string  | null     | Yes     | —           | The name of the expense category.                                     |
| `unit_name`  | string  | null     | No      | —           | The unit name of the expense category.                                |
| `unit_price` | number  | null     | No      | —           | The unit price of the expense category.                               |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "is_active": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Whether the expense category is active or archived. Defaults to true."
      },
      "name": {
        "type": [
          "string",
          "null"
        ],
        "description": "The name of the expense category."
      },
      "unit_name": {
        "type": [
          "string",
          "null"
        ],
        "description": "The unit name of the expense category."
      },
      "unit_price": {
        "type": [
          "number",
          "null"
        ],
        "description": "The unit price of the expense category."
      }
    },
    "required": [
      "PCID",
      "name"
    ]
  }
  ```
</Expandable>

***

## harvest\_expenses\_delete\_expense

Delete an expense

**Parameters:**

| Parameter   | Type   | Required | Default | Description |
| ----------- | ------ | -------- | ------- | ----------- |
| `expenseId` | string | Yes      | —       | Expense Id  |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "expenseId": {
        "type": "string",
        "description": "Expense Id"
      }
    },
    "required": [
      "PCID",
      "expenseId"
    ]
  }
  ```
</Expandable>

***

## harvest\_expenses\_delete\_expense\_category

Delete an expense category

**Parameters:**

| Parameter           | Type   | Required | Default | Description         |
| ------------------- | ------ | -------- | ------- | ------------------- |
| `expenseCategoryId` | string | Yes      | —       | Expense Category Id |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "expenseCategoryId": {
        "type": "string",
        "description": "Expense Category Id"
      }
    },
    "required": [
      "PCID",
      "expenseCategoryId"
    ]
  }
  ```
</Expandable>

***

## harvest\_expenses\_expense\_categories\_report

Expense Categories Report

**Parameters:**

| Parameter  | Type    | Required | Default | Description                                                                                                                                                                                          |
| ---------- | ------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `from`     | string  | Yes      | —       | Only report on expenses with a spent\_date on or after the given date.                                                                                                                               |
| `to`       | string  | Yes      | —       | Only report on expenses with a spent\_date on or before the given date.                                                                                                                              |
| `page`     | integer | No       | —       | The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1) |
| `per_page` | integer | No       | —       | The number of records to return per page. Can range between 1 and 2000. (Default: 2000)                                                                                                              |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "from": {
        "type": "string",
        "description": "Only report on expenses with a spent_date on or after the given date."
      },
      "to": {
        "type": "string",
        "description": "Only report on expenses with a spent_date on or before the given date."
      },
      "page": {
        "type": "integer",
        "description": "The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1)"
      },
      "per_page": {
        "type": "integer",
        "description": "The number of records to return per page. Can range between 1 and 2000. (Default: 2000)"
      }
    },
    "required": [
      "PCID",
      "from",
      "to"
    ]
  }
  ```
</Expandable>

***

## harvest\_expenses\_list\_expense\_categories

List all expense categories

**Parameters:**

| Parameter       | Type    | Required | Default | Description                                                                                                                                                                                                     |
| --------------- | ------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `is_active`     | boolean | No       | —       | Pass true to only return active expense categories and false to return inactive expense categories.                                                                                                             |
| `updated_since` | string  | No       | —       | Only return expense categories that have been updated since the given date and time.                                                                                                                            |
| `page`          | integer | No       | —       | DEPRECATED The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1) |
| `cursor`        | string  | No       | —       | Pagination cursor                                                                                                                                                                                               |
| `per_page`      | integer | No       | —       | The number of records to return per page. Can range between 1 and 2000. (Default: 2000)                                                                                                                         |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "is_active": {
        "type": "boolean",
        "description": "Pass true to only return active expense categories and false to return inactive expense categories."
      },
      "updated_since": {
        "type": "string",
        "description": "Only return expense categories that have been updated since the given date and time."
      },
      "page": {
        "type": "integer",
        "description": "DEPRECATED The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1)"
      },
      "cursor": {
        "type": "string",
        "description": "Pagination cursor"
      },
      "per_page": {
        "type": "integer",
        "description": "The number of records to return per page. Can range between 1 and 2000. (Default: 2000)"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## harvest\_expenses\_list\_expenses

List all expenses

**Parameters:**

| Parameter         | Type    | Required | Default | Description                                                                                                                                                                                          |
| ----------------- | ------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `user_id`         | integer | No       | —       | Only return expenses belonging to the user with the given ID.                                                                                                                                        |
| `client_id`       | integer | No       | —       | Only return expenses belonging to the client with the given ID.                                                                                                                                      |
| `project_id`      | integer | No       | —       | Only return expenses belonging to the project with the given ID.                                                                                                                                     |
| `is_billed`       | boolean | No       | —       | Pass true to only return expenses that have been invoiced and false to return expenses that have not been invoiced.                                                                                  |
| `approval_status` | string  | No       | —       | Only return expenses with the given approval status. Possible values: “unsubmitted”, “submitted”, or “approved”.                                                                                     |
| `updated_since`   | string  | No       | —       | Only return expenses that have been updated since the given date and time.                                                                                                                           |
| `from`            | string  | No       | —       | Only return expenses with a spent\_date on or after the given date.                                                                                                                                  |
| `to`              | string  | No       | —       | Only return expenses with a spent\_date on or before the given date.                                                                                                                                 |
| `page`            | integer | No       | —       | The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1) |
| `per_page`        | integer | No       | —       | The number of records to return per page. Can range between 1 and 2000. (Default: 2000)                                                                                                              |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "user_id": {
        "type": "integer",
        "description": "Only return expenses belonging to the user with the given ID."
      },
      "client_id": {
        "type": "integer",
        "description": "Only return expenses belonging to the client with the given ID."
      },
      "project_id": {
        "type": "integer",
        "description": "Only return expenses belonging to the project with the given ID."
      },
      "is_billed": {
        "type": "boolean",
        "description": "Pass true to only return expenses that have been invoiced and false to return expenses that have not been invoiced."
      },
      "approval_status": {
        "type": "string",
        "description": "Only return expenses with the given approval status. Possible values: “unsubmitted”, “submitted”, or “approved”."
      },
      "updated_since": {
        "type": "string",
        "description": "Only return expenses that have been updated since the given date and time."
      },
      "from": {
        "type": "string",
        "description": "Only return expenses with a spent_date on or after the given date."
      },
      "to": {
        "type": "string",
        "description": "Only return expenses with a spent_date on or before the given date."
      },
      "page": {
        "type": "integer",
        "description": "The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1)"
      },
      "per_page": {
        "type": "integer",
        "description": "The number of records to return per page. Can range between 1 and 2000. (Default: 2000)"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## harvest\_expenses\_project\_budget\_report

Project Budget Report

**Parameters:**

| Parameter   | Type    | Required | Default | Description                                                                                                                                                                                          |
| ----------- | ------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `page`      | integer | No       | —       | The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1) |
| `per_page`  | integer | No       | —       | The number of records to return per page. Can range between 1 and 2000. (Default: 2000)                                                                                                              |
| `is_active` | boolean | No       | —       | Pass true to only return active projects and false to return inactive projects.                                                                                                                      |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "page": {
        "type": "integer",
        "description": "The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1)"
      },
      "per_page": {
        "type": "integer",
        "description": "The number of records to return per page. Can range between 1 and 2000. (Default: 2000)"
      },
      "is_active": {
        "type": "boolean",
        "description": "Pass true to only return active projects and false to return inactive projects."
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## harvest\_expenses\_projects\_expenses\_report

Projects Expenses Report

**Parameters:**

| Parameter  | Type    | Required | Default | Description                                                                                                                                                                                          |
| ---------- | ------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `from`     | string  | Yes      | —       | Only report on expenses with a spent\_date on or after the given date.                                                                                                                               |
| `to`       | string  | Yes      | —       | Only report on expenses with a spent\_date on or before the given date.                                                                                                                              |
| `page`     | integer | No       | —       | The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1) |
| `per_page` | integer | No       | —       | The number of records to return per page. Can range between 1 and 2000. (Default: 2000)                                                                                                              |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "from": {
        "type": "string",
        "description": "Only report on expenses with a spent_date on or after the given date."
      },
      "to": {
        "type": "string",
        "description": "Only report on expenses with a spent_date on or before the given date."
      },
      "page": {
        "type": "integer",
        "description": "The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1)"
      },
      "per_page": {
        "type": "integer",
        "description": "The number of records to return per page. Can range between 1 and 2000. (Default: 2000)"
      }
    },
    "required": [
      "PCID",
      "from",
      "to"
    ]
  }
  ```
</Expandable>

***

## harvest\_expenses\_projects\_time\_report

Projects Time Report

**Parameters:**

| Parameter           | Type    | Required | Default | Description                                                                                                                                                                                          |
| ------------------- | ------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `from`              | string  | Yes      | —       | Only report on time entries with a spent\_date on or after the given date.                                                                                                                           |
| `to`                | string  | Yes      | —       | Only report on time entries with a spent\_date on or before the given date.                                                                                                                          |
| `include_fixed_fee` | boolean | No       | —       | When true, billable amounts will be calculated and included for fixed fee projects.                                                                                                                  |
| `include_forecast`  | boolean | No       | —       | When true, scheduled hours from Forecast will be included in the response. Requires the account to be connected to Forecast.                                                                         |
| `page`              | integer | No       | —       | The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1) |
| `per_page`          | integer | No       | —       | The number of records to return per page. Can range between 1 and 2000. (Default: 2000)                                                                                                              |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "from": {
        "type": "string",
        "description": "Only report on time entries with a spent_date on or after the given date."
      },
      "to": {
        "type": "string",
        "description": "Only report on time entries with a spent_date on or before the given date."
      },
      "include_fixed_fee": {
        "type": "boolean",
        "description": "When true, billable amounts will be calculated and included for fixed fee projects."
      },
      "include_forecast": {
        "type": "boolean",
        "description": "When true, scheduled hours from Forecast will be included in the response. Requires the account to be connected to Forecast."
      },
      "page": {
        "type": "integer",
        "description": "The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1)"
      },
      "per_page": {
        "type": "integer",
        "description": "The number of records to return per page. Can range between 1 and 2000. (Default: 2000)"
      }
    },
    "required": [
      "PCID",
      "from",
      "to"
    ]
  }
  ```
</Expandable>

***

## harvest\_expenses\_retrieve\_expense

Retrieve an expense

**Parameters:**

| Parameter   | Type   | Required | Default | Description |
| ----------- | ------ | -------- | ------- | ----------- |
| `expenseId` | string | Yes      | —       | Expense Id  |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "expenseId": {
        "type": "string",
        "description": "Expense Id"
      }
    },
    "required": [
      "PCID",
      "expenseId"
    ]
  }
  ```
</Expandable>

***

## harvest\_expenses\_retrieve\_expense\_category

Retrieve an expense category

**Parameters:**

| Parameter           | Type   | Required | Default | Description         |
| ------------------- | ------ | -------- | ------- | ------------------- |
| `expenseCategoryId` | string | Yes      | —       | Expense Category Id |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "expenseCategoryId": {
        "type": "string",
        "description": "Expense Category Id"
      }
    },
    "required": [
      "PCID",
      "expenseCategoryId"
    ]
  }
  ```
</Expandable>

***

## harvest\_expenses\_tasks\_report

Tasks Report

**Parameters:**

| Parameter           | Type    | Required | Default | Description                                                                                                                                                                                          |
| ------------------- | ------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `from`              | string  | Yes      | —       | Only report on time entries with a spent\_date on or after the given date.                                                                                                                           |
| `to`                | string  | Yes      | —       | Only report on time entries with a spent\_date on or before the given date.                                                                                                                          |
| `include_fixed_fee` | boolean | No       | —       | When true, billable amounts will be calculated and included for fixed fee projects.                                                                                                                  |
| `page`              | integer | No       | —       | The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1) |
| `per_page`          | integer | No       | —       | The number of records to return per page. Can range between 1 and 2000. (Default: 2000)                                                                                                              |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "from": {
        "type": "string",
        "description": "Only report on time entries with a spent_date on or after the given date."
      },
      "to": {
        "type": "string",
        "description": "Only report on time entries with a spent_date on or before the given date."
      },
      "include_fixed_fee": {
        "type": "boolean",
        "description": "When true, billable amounts will be calculated and included for fixed fee projects."
      },
      "page": {
        "type": "integer",
        "description": "The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1)"
      },
      "per_page": {
        "type": "integer",
        "description": "The number of records to return per page. Can range between 1 and 2000. (Default: 2000)"
      }
    },
    "required": [
      "PCID",
      "from",
      "to"
    ]
  }
  ```
</Expandable>

***

## harvest\_expenses\_team\_expenses\_report

Team Expenses Report

**Parameters:**

| Parameter  | Type    | Required | Default | Description                                                                                                                                                                                          |
| ---------- | ------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `from`     | string  | Yes      | —       | Only report on expenses with a spent\_date on or after the given date.                                                                                                                               |
| `to`       | string  | Yes      | —       | Only report on expenses with a spent\_date on or before the given date.                                                                                                                              |
| `page`     | integer | No       | —       | The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1) |
| `per_page` | integer | No       | —       | The number of records to return per page. Can range between 1 and 2000. (Default: 2000)                                                                                                              |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "from": {
        "type": "string",
        "description": "Only report on expenses with a spent_date on or after the given date."
      },
      "to": {
        "type": "string",
        "description": "Only report on expenses with a spent_date on or before the given date."
      },
      "page": {
        "type": "integer",
        "description": "The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1)"
      },
      "per_page": {
        "type": "integer",
        "description": "The number of records to return per page. Can range between 1 and 2000. (Default: 2000)"
      }
    },
    "required": [
      "PCID",
      "from",
      "to"
    ]
  }
  ```
</Expandable>

***

## harvest\_expenses\_team\_time\_report

Team Time Report

**Parameters:**

| Parameter           | Type    | Required | Default | Description                                                                                                                                                                                          |
| ------------------- | ------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `from`              | string  | Yes      | —       | Only report on time entries with a spent\_date on or after the given date.                                                                                                                           |
| `to`                | string  | Yes      | —       | Only report on time entries with a spent\_date on or before the given date.                                                                                                                          |
| `include_fixed_fee` | boolean | No       | —       | When true, billable amounts will be calculated and included for fixed fee projects.                                                                                                                  |
| `include_forecast`  | boolean | No       | —       | When true, scheduled hours from Forecast will be included in the response. Requires the account to be connected to Forecast.                                                                         |
| `page`              | integer | No       | —       | The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1) |
| `per_page`          | integer | No       | —       | The number of records to return per page. Can range between 1 and 2000. (Default: 2000)                                                                                                              |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "from": {
        "type": "string",
        "description": "Only report on time entries with a spent_date on or after the given date."
      },
      "to": {
        "type": "string",
        "description": "Only report on time entries with a spent_date on or before the given date."
      },
      "include_fixed_fee": {
        "type": "boolean",
        "description": "When true, billable amounts will be calculated and included for fixed fee projects."
      },
      "include_forecast": {
        "type": "boolean",
        "description": "When true, scheduled hours from Forecast will be included in the response. Requires the account to be connected to Forecast."
      },
      "page": {
        "type": "integer",
        "description": "The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1)"
      },
      "per_page": {
        "type": "integer",
        "description": "The number of records to return per page. Can range between 1 and 2000. (Default: 2000)"
      }
    },
    "required": [
      "PCID",
      "from",
      "to"
    ]
  }
  ```
</Expandable>

***

## harvest\_expenses\_uninvoiced\_report

Uninvoiced Report

**Parameters:**

| Parameter           | Type    | Required | Default | Description                                                                                                                                                                                                                                                                                      |
| ------------------- | ------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `from`              | string  | Yes      | —       | Only report on time entries and expenses with a spent\_date on or after the given date.                                                                                                                                                                                                          |
| `to`                | string  | Yes      | —       | Only report on time entries and expenses with a spent\_date on or before the given date.                                                                                                                                                                                                         |
| `include_fixed_fee` | boolean | No       | —       | Whether or not to include fixed-fee projects in the response. Fixed-fee uninvoiced fee amount will show as long as the selected date range is on or after the project start date (If project start date is not specified, it is project creation date). Otherwise, it will be 0. (Default: true) |
| `page`              | integer | No       | —       | The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1)                                                                                             |
| `per_page`          | integer | No       | —       | The number of records to return per page. Can range between 1 and 2000. (Default: 2000)                                                                                                                                                                                                          |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "from": {
        "type": "string",
        "description": "Only report on time entries and expenses with a spent_date on or after the given date."
      },
      "to": {
        "type": "string",
        "description": "Only report on time entries and expenses with a spent_date on or before the given date."
      },
      "include_fixed_fee": {
        "type": "boolean",
        "description": "Whether or not to include fixed-fee projects in the response. Fixed-fee uninvoiced fee amount will show as long as the selected date range is on or after the project start date (If project start date is not specified, it is project creation date). Otherwise, it will be 0. (Default: true)"
      },
      "page": {
        "type": "integer",
        "description": "The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1)"
      },
      "per_page": {
        "type": "integer",
        "description": "The number of records to return per page. Can range between 1 and 2000. (Default: 2000)"
      }
    },
    "required": [
      "PCID",
      "from",
      "to"
    ]
  }
  ```
</Expandable>

***

## harvest\_expenses\_update\_expense

Update an expense

**Parameters:**

| Parameter             | Type    | Required | Default | Description |                                                                                                                 |
| --------------------- | ------- | -------- | ------- | ----------- | --------------------------------------------------------------------------------------------------------------- |
| `expenseId`           | string  | Yes      | —       | Expense Id  |                                                                                                                 |
| `billable`            | boolean | null     | No      | —           | Whether this expense is billable or not. Defaults to true.                                                      |
| `delete_receipt`      | boolean | null     | No      | —           | Whether an attached expense receipt should be deleted. Pass true to delete the expense receipt.                 |
| `expense_category_id` | integer | null     | No      | —           | The ID of the expense category this expense is being tracked against.                                           |
| `notes`               | string  | null     | No      | —           | Textual notes used to describe the expense.                                                                     |
| `project_id`          | integer | null     | No      | —           | The ID of the project associated with this expense.                                                             |
| `receipt`             | string  | null     | No      | —           | A receipt file to attach to the expense. If including a receipt, you must submit a multipart/form-data request. |
| `spent_date`          | string  | null     | No      | —           | Date the expense occurred.                                                                                      |
| `total_cost`          | number  | null     | No      | —           | The total amount of the expense.                                                                                |
| `units`               | integer | null     | No      | —           | The quantity of units to use in calculating the total\_cost of the expense.                                     |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "expenseId": {
        "type": "string",
        "description": "Expense Id"
      },
      "billable": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Whether this expense is billable or not. Defaults to true."
      },
      "delete_receipt": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Whether an attached expense receipt should be deleted. Pass true to delete the expense receipt."
      },
      "expense_category_id": {
        "type": [
          "integer",
          "null"
        ],
        "description": "The ID of the expense category this expense is being tracked against."
      },
      "notes": {
        "type": [
          "string",
          "null"
        ],
        "description": "Textual notes used to describe the expense."
      },
      "project_id": {
        "type": [
          "integer",
          "null"
        ],
        "description": "The ID of the project associated with this expense."
      },
      "receipt": {
        "type": [
          "string",
          "null"
        ],
        "description": "A receipt file to attach to the expense. If including a receipt, you must submit a multipart/form-data request."
      },
      "spent_date": {
        "type": [
          "string",
          "null"
        ],
        "description": "Date the expense occurred."
      },
      "total_cost": {
        "type": [
          "number",
          "null"
        ],
        "description": "The total amount of the expense."
      },
      "units": {
        "type": [
          "integer",
          "null"
        ],
        "description": "The quantity of units to use in calculating the total_cost of the expense."
      }
    },
    "required": [
      "PCID",
      "expenseId"
    ]
  }
  ```
</Expandable>

***

## harvest\_expenses\_update\_expense\_category

Update an expense category

**Parameters:**

| Parameter           | Type    | Required | Default | Description         |                                                     |
| ------------------- | ------- | -------- | ------- | ------------------- | --------------------------------------------------- |
| `expenseCategoryId` | string  | Yes      | —       | Expense Category Id |                                                     |
| `is_active`         | boolean | null     | No      | —                   | Whether the expense category is active or archived. |
| `name`              | string  | null     | No      | —                   | The name of the expense category.                   |
| `unit_name`         | string  | null     | No      | —                   | The unit name of the expense category.              |
| `unit_price`        | number  | null     | No      | —                   | The unit price of the expense category.             |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "expenseCategoryId": {
        "type": "string",
        "description": "Expense Category Id"
      },
      "is_active": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Whether the expense category is active or archived."
      },
      "name": {
        "type": [
          "string",
          "null"
        ],
        "description": "The name of the expense category."
      },
      "unit_name": {
        "type": [
          "string",
          "null"
        ],
        "description": "The unit name of the expense category."
      },
      "unit_price": {
        "type": [
          "number",
          "null"
        ],
        "description": "The unit price of the expense category."
      }
    },
    "required": [
      "PCID",
      "expenseCategoryId"
    ]
  }
  ```
</Expandable>
