跳转到内容

连接到 Acumatica

将 PlaidCloud 连接到 Acumatica 基于合约的 REST API,无需手写 OData 即可提取参考数据和交易数据,并将日记账交易、销售发票、账单和付款过账回 Acumatica。本指南涵盖连接、导入步骤和过账步骤。

您需要在 Acumatica 中具备:

  • 实例基础 URL(例如 https://yourcompany.acumatica.com)。
  • 公司名称(PlaidCloud 登录时使用的确切公司 ID);如果使用分支,还需要过账所用的分支。
  • 专供 PlaidCloud 使用的用户名和密码,其角色需有权访问您将读取的实体以及将过账到的单据屏幕。
  • 为该用户启用基于合约的 REST API 访问权限(System > Integration Preferences,在当前的 Acumatica 版本中默认开启)。
  1. 打开 Tools > Connections 并单击 New Connection。

  2. 从菜单中选择 Acumatica。

  3. 填写各字段:

    字段 值
    名称 易记的名称,例如 Acumatica Prod。
    实例基础 URL 您的实例 URL,例如 https://yourcompany.acumatica.com。
    端点名称 合约端点名称。除非发布了自定义端点,否则为 Default。
    端点版本 可选,例如 25.200.001。留空则使用端点的最新已发布版本。
    公司/租户 确切的 Acumatica 公司 ID。
    分支 可选。留空则使用登录用户的默认分支。
    用户名 PlaidCloud API 用户。
    密码 PlaidCloud API 用户的密码。
  4. 单击 Create。

  1. 将 Import Acumatica Entity 步骤添加到工作流。

  2. 将 Acumatica 连接设置为您的连接,将实体类型设置为 account,将目标表设置为一个临时表。

  3. 运行该步骤(请参阅在工作流中运行单个步骤)。

目标表中有数据,即表示登录、公司和分支均正确。如果出错,错误会指出问题所在,例如凭据错误、公司错误,或角色缺少 REST API 访问权限。

  1. 添加 Import Acumatica Entity 步骤,并设置 Acumatica 连接和目标表。

  2. 将实体类型设置为您想要的记录。主数据和参考列表有 account、subaccount、ledger、financial_period、branch、currency、currency_rate、customer、vendor、stock_item、warehouse、employee、tax_category、project;交易实体有 sales_invoice、bill、sales_order、shipment。

  3. 对于带有“活动”标志的实体,保持勾选仅活动,则只提取活动记录。

  4. 将更新时间晚于设置为 ISO 日期或日期时间,则只提取自该时间以来更改的行(这是请求端筛选器,而不是持久化的增量游标,每次运行都需要您提供截止时间)。

  5. 添加筛选器以限定大型提取的范围,每个筛选器都是一个 {field, operator, value} 子句(eq、ne、gt、ge、lt、le、contains)或一个 {field, from, to} 范围,并按实体限定为 Acumatica 实际能够在服务器端筛选的字段。如果某个实体不支持筛选器字段,PlaidCloud 会拒绝该字段,而不是悄悄丢弃。

  6. 运行该步骤并检查目标表。

Acumatica Post 步骤通过所有 ERP 过账步骤共用的同一条写入管道过账四种单据类型:JournalTransaction、SalesInvoice、Bill 和 Payment。

  1. 构建标题表,每个单据一行,包含以下列:ref(您的单据标识符)、doc_type(JournalTransaction、SalesInvoice、Bill 或 Payment)、posting_date、party_id(客户/供应商,仅在单据类型需要时)、memo、due_date 和 branch_id。单个批次可以混合多种单据类型,PlaidCloud 会在过账前按 doc_type 对其进行分区。

  2. 构建行表,每个 ref 有一行或多行,并根据单据类型确定结构:

    单据类型 行列
    JournalTransaction account、subaccount、branch、debit、credit
    SalesInvoice item、qty、unit_price、amount
    Bill account、amount
    Payment linked_txn_id、amount
  3. 添加 Acumatica Post 步骤,设置 Acumatica 连接、环境、标题表、行表以及结果表。

  4. 保持勾选 Validate Only 并运行该步骤,PlaidCloud 会构建并检查每个单据,既不占用总账声明,也不过账任何内容。

  5. 查看结果表(每个单据一行:ref、doc_type、natural_key、confirmation_id、status、message)。修复任何 error 行并重新验证。

  6. 取消勾选 Validate Only 并再次运行,以实际过账。除非希望批次在第一个失败的单据处立即停止,否则请保持勾选 Continue On Error。

Acumatica 会将每个单据创建为挂起(On Hold)状态,然后 PlaidCloud 调用释放操作,该操作以异步方式运行(返回 202 响应,轮询至完成,然后由 204 确认已释放)。只有在释放得到确认后,PlaidCloud 才会报告单据为 posted;已写入但释放始终未得到确认的单据会保持隔离,而不会被记录为已过账,因此卡住的挂起状态绝不会悄悄地被当作成功。