name: QuickBooks 自动化 description: “QuickBooks 自动化:管理 QuickBooks Online 中的发票、客户、账户和支付,以简化簿记工作” requires: mcp: [rube]
QuickBooks 自动化
自动化 QuickBooks Online 操作,包括创建发票、管理客户、查询账户和列出发票,用于财务报告。
工具包文档: composio.dev/toolkits/quickbooks
设置
此技能需要连接到 Rube MCP 服务器,地址为 https://rube.app/mcp。
在执行任何工具之前,确保存在 quickbooks 工具包的活跃连接。如果没有活跃连接,请通过 RUBE_MANAGE_CONNECTIONS 启动一个。
核心工作流程
1. 创建发票
为客户创建带有行项目的新发票。
工具: QUICKBOOKS_CREATE_INVOICE
关键参数:
customer_id(必需)-- 客户 ID(CustomerRef.value)lines(必需)-- 行项目对象数组。每个必须包括:DetailType– 例如,"SalesItemLineDetail"Amount– 行项目总金额SalesItemLineDetail– 包含ItemRef的对象,ItemRef包含value(项目 ID)
minorversion– 可选的 API 版本参数
示例:
工具: QUICKBOOKS_CREATE_INVOICE
参数:
customer_id: "21"
lines: [
{
"DetailType": "SalesItemLineDetail",
"Amount": 150.00,
"SalesItemLineDetail": {
"ItemRef": {"value": "1", "name": "Services"}
}
}
]
前提条件: 使用 QUICKBOOKS_READ_CUSTOMER 解析客户 ID,或使用 QUICKBOOKS_CREATE_CUSTOMER 创建一个。使用 QUICKBOOKS_QUERY_ACCOUNT 解析项目/账户 ID。
2. 管理客户
创建和读取客户记录。
工具:
QUICKBOOKS_CREATE_CUSTOMER– 创建新客户QUICKBOOKS_READ_CUSTOMER– 通过 ID 读取客户
QUICKBOOKS_CREATE_CUSTOMER 的关键参数:
display_name– 显示名称(必须在所有客户、供应商、员工中唯一;最多 500 字符)given_name– 名字(最多 100 字符)family_name– 姓氏(最多 100 字符)middle_name– 中间名(最多 100 字符)title– 头衔,例如"先生"、"博士"(最多 16 字符)suffix– 姓名后缀,例如"小"(最多 16 字符)
至少需要
display_name、title、given_name、middle_name、family_name或suffix中的一个。
QUICKBOOKS_READ_CUSTOMER 的关键参数:
customer_id(必需)-- 要读取的客户 ID
示例:
工具: QUICKBOOKS_CREATE_CUSTOMER
参数:
display_name: "Acme Corporation"
given_name: "John"
family_name: "Doe"
3. 查询和读取账户
检索账户信息,用于发票行项目和财务报告。
工具:
QUICKBOOKS_QUERY_ACCOUNT– 执行对账户的查询QUICKBOOKS_READ_ACCOUNT– 通过 ID 读取特定账户
QUICKBOOKS_QUERY_ACCOUNT 的关键参数:
query(必需)-- 类似 SQL 的查询字符串,例如"SELECT * FROM Account WHERE AccountType = 'Income'"
示例:
工具: QUICKBOOKS_QUERY_ACCOUNT
参数:
query: "SELECT * FROM Account WHERE AccountType = 'Income' MAXRESULTS 10"
4. 列出和筛选发票
检索发票,可选分页和筛选。
工具: QUICKBOOKS_LIST_INVOICES
步骤:
- 使用分页参数调用
QUICKBOOKS_LIST_INVOICES - 使用
start_position和max_results分页浏览结果 - 根据需要按特定标准筛选
推荐执行计划
- 解析客户:使用
QUICKBOOKS_READ_CUSTOMER(如果您有客户 ID)或使用QUICKBOOKS_CREATE_CUSTOMER创建一个 - 解析项目/收入账户:使用
QUICKBOOKS_QUERY_ACCOUNT和QUICKBOOKS_READ_ACCOUNT获取发票行项目的账户或项目 ID - 创建发票:使用
QUICKBOOKS_CREATE_INVOICE,提供解析的customer_id和格式正确的行项目 - 验证创建:使用
QUICKBOOKS_LIST_INVOICES通过 ID 或 DocNumber 定位新发票
已知陷阱
| 陷阱 | 详情 |
|---|---|
| 无效引用 | 如果 QUICKBOOKS_CREATE_INVOICE 中的 customer_id 或 ItemRef.value 指向不存在或非活跃记录,操作将失败。始终先解析 ID。 |
| 行项目验证 | 不正确的 DetailType 或缺少 SalesItemLineDetail 字段会在发票创建期间导致模式/验证错误。 |
| 分页 | QUICKBOOKS_LIST_INVOICES 使用 start_position 和 max_results。不完整的分页设置可能会遗漏较大账簿中的发票。 |
| 同步令牌 | 任何后续编辑都需要从新鲜发票读取中获取最新 SyncToken。过时的同步令牌会导致更新被拒绝。 |
| 速率限制 | QuickBooks 强制实施每分钟和每日 API 限制。高容量运行应包括退避以避免节流错误。 |
| DisplayName 唯一性 | 客户 display_name 必须在所有客户、供应商和员工对象中唯一。重复会导致创建失败。 |
快速参考
| 工具标识 | 描述 |
|---|---|
QUICKBOOKS_CREATE_INVOICE |
创建带有行项目的新发票 |
QUICKBOOKS_READ_CUSTOMER |
通过 ID 读取客户记录 |
QUICKBOOKS_CREATE_CUSTOMER |
创建新客户记录 |
QUICKBOOKS_QUERY_ACCOUNT |
使用类似 SQL 的语法查询账户 |
QUICKBOOKS_READ_ACCOUNT |
通过 ID 读取特定账户 |
QUICKBOOKS_LIST_INVOICES |
列出发票并支持分页 |
由 Composio 提供支持