Skip to main content
你可以为任何交易添加并丰富一个备注、一个类别,以及/或者一个附件(例如收据、发票、采购订单)。可在原始交易时添加注释,或在事后通过 updateTransactionMetadata 变更进行更新。 对于启用了 ERP 集成且已连接 QuickBooks Online 的账户,你还可以管理 ERP 交易元数据:会计类别、供应商、客户、可计费状态,以及 ERP 专属备注。ERP 元数据与注释相互独立。 支持注释的交易:
  • 入金(depositCashBalance
  • 礼品卡购买(purchaseGiftCard
  • 钱包转账(createTransfertransferInternalBalance
  • 虚拟卡创建(createVirtualCard
    • 不支持 attachment
支持 ERP 元数据的操作:
  • 已有交易(updateTransactionMetadata.input.erpTransactionMetadata
  • 批量交易更新(bulkUpdateErpTransactionMetadata
  • 交易读取(Transaction.erpMetadataerpTransactionMetadataerpTransactionMetadataList

工作原理

  1. 可选:如果你想附加文件,请先通过 REST 上传端点上传。你将获得一个 attachmentId
  2. 在交易时或之后通过 updateTransactionMetadata,将 memotransactionCategory,以及/或者 attachmentId 传入你的变更输入。
  3. 对于 ERP 元数据,先查询已导入的 QuickBooks Online 参考项,或直接传入需要在 QuickBooks Online 中解析或创建的名称。
  4. 使用 updateTransactionMetadata.input.erpTransactionMetadata 更新单笔交易的 ERP 元数据,或用 bulkUpdateErpTransactionMetadata 一次更新最多 100 笔交易。
  5. 通过 getTransactionsgetUserPurchases 或变更响应读取注释。通过 Transaction.erpMetadataerpTransactionMetadataerpTransactionMetadataList 读取 ERP 详情。attachmentUrl 字段返回用于访问文件的短期签名 URL。

步骤 1:上传附件(可选)

这是一个 REST 端点,而非 GraphQL 变更

端点

POST /api/v1/file-upload/transaction-memo-attachment

认证

Authorization: Bearer <YOUR_USER_ACCESS_TOKEN>

请求

multipart/form-data 发送文件,字段名为 file 接受的类型: application/pdfimage/png
⚠️ 交易附件不接受 JPEG。

示例请求

响应

复制该 attachmentId —— 你将在下一步把它传入变更输入中。
attachmentId 作用域限定在你的账户内。提交变更时,系统会验证该文件存在于你账户的存储中。来自其他账户的 ID 将被拒绝。

上传错误


步骤 2:为交易添加注释

你可以在原始交易发生时提供注释,在事后更新。

选项 A — 交易发生时

以下变更的输入均接受可选字段 memotransactionCategoryattachmentId
  • depositCashBalanceDepositCashBalanceInput
  • purchaseGiftCardPurchaseGiftCardInput
  • createTransferCreateTransferInput
  • transferInternalBalanceTransferInternalBalanceInput

注释字段

示例 — 购买礼品卡并添加注释


选项 B — 交易发生后(updateTransactionMetadata

使用此变更为任意已存在的交易添加或更新注释。
部分更新语义:仅更新你传入的字段。未包含的字段保持不变。传入 null 可清空字段。

变更

UpdateTransactionMetadataInput

必需的权限范围

LIST_PAYMENTLIST_PURCHASES。如果包含 erpTransactionMetadata,还需要 MANAGE_ERP_TRANSACTION_METADATA

示例 — 添加备注和类别

示例 — 为已有交易附加文件

示例 — 清空备注

示例响应

错误


步骤 3:管理 ERP 元数据

ERP 元数据用于在导出到已连接的会计提供方之前对交易进行分类。目前可用的提供方是 QuickBooks Online。 ERP 元数据字段与注释相互独立:
  • 注释的 memo 最长 255 个字符。
  • ERP 的 erpTransactionMetadata.memo 最长 4000 个字符。
  • 注释的 transactionCategory 是 Fluz 的类别标签。
  • ERP 的 categoryReferenceItemId 指向 QuickBooks Online 会计科目表项。

UpdateErpTransactionMetadataInput

当你不想更新 ERP 元数据时,请不要在请求中包含 erpTransactionMetadata

示例:同时更新注释与 ERP 元数据


步骤 4:查找 ERP 参考项

在设置 categoryReferenceItemIdvendorReferenceItemIdcustomerReferenceItemId 之前,使用以下查询查找已导入的 QuickBooks Online 参考项。

参考项字段

参考项过滤器

示例:搜索会计科目表

示例:搜索供应商与客户


步骤 5:读取 ERP 元数据

可以从交易对象或通过专用的 ERP 元数据查询读取 ERP 元数据。

在 getTransactions 中读取 ERP 元数据

当账户没有启用 ERP 连接,或该交易没有 ERP 元数据时,erpMetadatanull

读取单笔交易的 ERP 元数据

当交易没有 ERP 元数据或账户没有激活的 ERP 连接时,此查询返回 null(不是错误)。

列出 ERP 元数据记录

ERP 元数据列表过滤器


ERP 同步状态


批量更新 ERP 元数据

使用 bulkUpdateErpTransactionMetadata 在一次请求中更新最多 100 笔交易的 ERP 元数据。 每个条目使用与 UpdateErpTransactionMetadataInput 相同的字段。省略的字段保持不变;可为空的参考字段、memoisBillable 可传 null 以清空。

变更

变量

示例响应

对于单项的 ERP 校验失败,会在 failed 中返回,其他有效项仍可成功。

读取注释

以下接口会返回注释:
⚠️ attachmentUrl 是签名 URL。它会在生成后不久过期。请不要存储它 —— 需要展示或访问文件时重新获取交易。

常见错误


说明与限制

  • recordId 是交易查询返回的交易记录 ID。
  • 注释更新为部分更新:省略的字段保持不变,传 null 即清空。
  • ERP 元数据更新同样为部分更新:省略的字段保持不变,支持为空的字段可用 null 清空。
  • updateTransactionMetadata 中,erpTransactionMetadata: null 是空操作(no-op),不是清空。
  • updateTransactionMetadata 中,erpTransactionMetadata: {} 是无效的。请省略该字段。
  • 若同时提供 ERP 参考 ID 与名称,则参考 ID 优先。
  • categoryName 会创建或选择一个 QuickBooks Online、账户类型为 Expense 的科目。
  • vendorName 会创建或选择一个 QuickBooks Online 供应商。
  • customerName 会创建或选择一个 QuickBooks Online 客户。
  • GraphQL 分页使用 OffsetInputlimit 默认为 20,并受 API 分页上限限制。