> For the complete documentation index, see [llms.txt](https://docs.mosofin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mosofin.com/sources/mosofin-source/quickbooks/api-tools.md).

# API tools reference

MosoFin's QuickBooks surface is globally read-only. The current catalog contains **69 tools**: 11 financial reports, 29 company or single-record readers, and 29 search, list, or budget tools.

![QuickBooks API tool metrics](/files/hMtSTWqCkFshA3Aa71l6)

![Review and configure QuickBooks API tool permissions](/files/eQZC9W8k9Uu05bPKuSnW)

## Invocation

Claude invokes a QuickBooks tool through MosoFin using this shape:

```
mosofin_invoke_datasource_api_tool(
  datasource="quickbooks",
  tool_name="<name below>",
  params={...}
)
```

The agent defaults to **Bea** when no agent is specified. The active workspace determines the QuickBooks company, and the tool's policy must be **Enabled** or approved when set to **Require permission**.

Most users do not need to write this invocation manually. Ask Claude a clear financial question and MosoFin selects the appropriate permitted tool.

## Catalog metrics

| Tool group                      |  Count |
| ------------------------------- | -----: |
| Financial and balance reports   |     11 |
| Company and master-data readers |     14 |
| Transaction readers             |     15 |
| Sales and A/R searches          |      7 |
| Purchases and A/P searches      |      6 |
| Other searches and budgets      |     16 |
| **Total**                       | **69** |

![Set a QuickBooks API tool policy](/files/uKdp2KUkHpiujmAR6wFY)

## Financial reports

| Tool                   | Purpose                                  |
| ---------------------- | ---------------------------------------- |
| `get_profit_and_loss`  | Profit and loss or income statement.     |
| `get_balance_sheet`    | Assets, liabilities, and equity.         |
| `get_cash_flow`        | Statement of cash flows.                 |
| `get_trial_balance`    | Debit and credit balances by account.    |
| `get_general_ledger`   | Detailed transaction history by account. |
| `get_aged_receivables` | Accounts receivable aging.               |
| `get_aged_payables`    | Accounts payable aging.                  |
| `get_customer_balance` | Outstanding balances by customer.        |
| `get_customer_sales`   | Sales by customer.                       |
| `get_vendor_balance`   | Outstanding balances by vendor.          |
| `get_vendor_expenses`  | Expenses by vendor.                      |

## Company and master data

These tools return company information or one master-data record. Except for company information, pass the record's QuickBooks ID in `params.id`. Alternate entity-specific ID fields such as `customer_id` or `account_id` are also accepted where documented by the tool.

| Tool                 | Purpose                                                            |
| -------------------- | ------------------------------------------------------------------ |
| `get_company_info`   | Company name, address, fiscal year, industry, and related details. |
| `get_account`        | One chart-of-accounts record.                                      |
| `get_customer`       | One customer.                                                      |
| `get-vendor`         | One vendor. This dashed name is the canonical catalog name.        |
| `get_employee`       | One employee.                                                      |
| `get_class`          | One class.                                                         |
| `get_department`     | One department or location.                                        |
| `get_term`           | One payment term.                                                  |
| `get_payment_method` | One payment method.                                                |
| `get_tax_agency`     | One tax agency.                                                    |
| `get_tax_code`       | One tax code.                                                      |
| `get_tax_rate`       | One tax rate.                                                      |
| `get_attachable`     | Attachment metadata for one record.                                |
| `read_item`          | One product or service item.                                       |

## Transaction readers

These tools return one transaction by its QuickBooks ID.

| Tool                 | Purpose                                                          |
| -------------------- | ---------------------------------------------------------------- |
| `read_invoice`       | One customer invoice.                                            |
| `get_payment`        | One customer payment.                                            |
| `get_credit_memo`    | One customer credit memo.                                        |
| `get_estimate`       | One estimate.                                                    |
| `get_sales_receipt`  | One sales receipt.                                               |
| `get_refund_receipt` | One refund receipt.                                              |
| `get-bill`           | One vendor bill. This dashed name is the canonical catalog name. |
| `get_bill_payment`   | One bill payment.                                                |
| `get_purchase`       | One check, expense, or credit-card purchase.                     |
| `get_purchase_order` | One purchase order.                                              |
| `get_vendor_credit`  | One vendor credit.                                               |
| `get_deposit`        | One bank deposit.                                                |
| `get_transfer`       | One account transfer.                                            |
| `get_journal_entry`  | One journal entry.                                               |
| `get_time_activity`  | One time activity.                                               |

## Sales and A/R searches

| Tool                     | Purpose                                                  |
| ------------------------ | -------------------------------------------------------- |
| `search_invoices`        | Find invoices by date, document number, customer, or ID. |
| `search_payments`        | Find customer payments.                                  |
| `search_credit_memos`    | Find customer credit memos.                              |
| `search_customers`       | Find customers by name, ID, or active state.             |
| `search_estimates`       | Find estimates.                                          |
| `search_sales_receipts`  | Find sales receipts.                                     |
| `search_refund_receipts` | Find refund receipts.                                    |

## Purchases and A/P searches

| Tool                     | Purpose                                           |
| ------------------------ | ------------------------------------------------- |
| `search_bills`           | Find vendor bills.                                |
| `search_bill_payments`   | Find bill payments.                               |
| `search_vendors`         | Find vendors by name or ID.                       |
| `search_purchases`       | Find checks, expenses, and credit-card purchases. |
| `search_purchase_orders` | Find purchase orders.                             |
| `search_vendor_credits`  | Find vendor credits.                              |

## Other searches and budgets

| Tool                     | Purpose                                            |
| ------------------------ | -------------------------------------------------- |
| `search_accounts`        | Search the chart of accounts.                      |
| `search_items`           | Search products and services.                      |
| `search_journal_entries` | Search journal entries.                            |
| `search_deposits`        | Search bank deposits.                              |
| `search_transfers`       | Search account transfers.                          |
| `search_employees`       | Search employees.                                  |
| `search_classes`         | Search classes.                                    |
| `search_departments`     | Search departments or locations.                   |
| `search_payment_methods` | Search payment methods.                            |
| `search_terms`           | Search payment terms.                              |
| `search_tax_agencies`    | Search tax agencies.                               |
| `search_tax_codes`       | Search tax codes.                                  |
| `search_tax_rates`       | Search tax rates.                                  |
| `search_time_activities` | Search time activities.                            |
| `search_attachables`     | Search attachment metadata.                        |
| `search_budgets`         | List or search budgets; optionally include detail. |

## Parameters and date rules

### Period reports

The following reports require both `start_date` and `end_date` in `YYYY-MM-DD` format:

* `get_profit_and_loss`
* `get_cash_flow`
* `get_trial_balance`
* `get_general_ledger`
* `get_customer_sales`
* `get_vendor_expenses`

Report parameters can also include `accounting_method`, `summarize_column_by`, and supported customer, vendor, item, department, class, or account filters.

### As-of reports

`get_balance_sheet`, `get_aged_receivables`, `get_aged_payables`, `get_customer_balance`, and `get_vendor_balance` can use `report_date`. When omitted, an as-of report defaults to the current date supported by the connected source.

### Transaction searches

Transaction search tools require `start_date` and `end_date`. Optional filters vary by entity and can include `customer_id`, `vendor_id`, `id`, `query`, and `name`.

Search results support pagination through `max_results` and `offset`. When a result reports more rows, repeat the same tool with the returned next offset.

### Master-data searches

Master-data searches generally accept `query` or `name`, `id`, `active_only`, `max_results`, and `offset`. Unsupported parameters are rejected rather than silently interpreted.

### Budgets

Use `search_budgets` to find a budget. You can narrow a large result set with a date range, account filter, or an account/month rollup when those options are available.

## Overdue accounts receivable

The primary tools for overdue A/R work are:

| Tool                   | Use it for                                           |
| ---------------------- | ---------------------------------------------------- |
| `get_aged_receivables` | Current aging buckets and overdue balances.          |
| `get_customer_balance` | Total outstanding balance by customer.               |
| `search_invoices`      | Invoice-level dates, balances, and customer details. |
| `search_payments`      | Payments received during the review period.          |
| `search_credit_memos`  | Credits that may reduce an open customer balance.    |

## Not allowed

MosoFin exposes no create, update, delete, send, post, or pay tools for QuickBooks. Write access is globally unavailable even if a workspace owner enables every visible API tool.

> **Note:** The live **API Tools** page is the source of truth for which catalog tools are currently available and what policy applies in a particular workspace.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.mosofin.com/sources/mosofin-source/quickbooks/api-tools.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
