You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Xero Accounting API为无匹配记录的AR客户添加还款?

解决Xero中无对应单据的客户退款记账问题

针对你遇到的Xero银行交易限制,这里提供一个符合Xero账务逻辑的可行方案:

核心思路:先创建客户贷项通知单,再匹配付款交易

Xero的PAYMENTS类型交易必须关联已存在的客户单据(发票/贷项通知单),而预收款类型无法处理负数退款场景。通过以下两步可以绕过限制:

  1. 创建客户贷项通知单(Credit Note)
    先为目标客户生成一张贷项通知单,记录退款金额,为后续付款交易提供可匹配的单据:

    {
      "CreditNotes": [
        {
          "Contact": {"ContactID": "49445ede-1278-4f58-b3aa-0480236a95d2"},
          "Date": "2023-12-07",
          "Reference": "Job No : 110765",
          "LineItems": [
            {
              "Description": "Payment refunded to card on job 110765",
              "Quantity": 1,
              "AccountCode": "620",
              "UnitAmount": 375.31,
              "TaxType": "NONE",
              "LineAmount": 375.31
            }
          ],
          "Status": "AUTHORISED"
        }
      ]
    }
    

    这一步会在客户应收账款账户中记录贷方金额,明确需要退还客户的款项。

  2. 创建匹配贷项通知单的PAYMENTS交易
    基于生成的贷项通知单ID,创建PAYMENTS类型交易,完成银行资金流出和客户账户冲销:

    {
      "Payments": [
        {
          "CreditNote": {"CreditNoteID": "<生成的贷项通知单ID>"},
          "BankAccount": {"AccountID": "e12ec8b0-4a25-47d9-88e6-9e02e62c2d1f"},
          "Date": "2023-12-07",
          "Amount": 375.31,
          "Reference": "Job No : 110765 - Refund"
        }
      ]
    }
    

    该操作会从指定银行账户扣除375.31,同时冲销客户的贷项通知单,确保银行账户与客户账户的账务方向完全正确。

方案优势

  • 完全符合Xero的账务规则,避免了RECEIVE-PREPAYMENT的负数金额限制和SPEND-PREPAYMENT误入应付账款的问题;
  • 解决了PAYMENTS交易必须匹配前期单据的要求,不会触发"Document not found"错误;
  • 账务轨迹清晰,便于后续过账和审计。

内容的提问来源于stack exchange,提问作者Andy Hilton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 02:43:11