使用Xero API重现总账:关联发票的银行交易未显示问题
关于Xero API中已匹配发票付款的银行交易问题
这是完全正常的Xero API设计行为,不用慌!当银行交易被标记为发票付款(不管是应收还是应付)时,它会从BankTransactions API端点的返回结果中移除,转而归类到Payments资源下——这是Xero为了避免总账数据重复计算而做的逻辑拆分。
你需要知道的关键点:
- 未匹配的银行交易(比如直接入账的费用、未关联发票的转账)会正常出现在
BankTransactions结果里; - 一旦银行交易和发票/贷项通知单完成匹配(作为付款),它就会被“转移”到
Payments端点,此时你只能通过调用Payments API来获取这些记录。
获取这些付款记录的建议:
- 调用
PaymentsAPI时,可以通过参数过滤来精准获取你需要的数据:- 用
InvoiceID参数筛选关联特定发票的付款; - 用
BankAccountID参数筛选对应银行账户下的所有付款; - 结合
DateFrom/DateTo来限定时间范围,和你下载其他交易的时间区间保持一致。
- 用
- 拿到Payments数据后,记得关联对应的
InvoiceID和BankTransactionID(如果存在),这样就能把付款和原发票、银行交易对应起来,确保总账重现的完整性。 - 注意区分
Type字段:ACCRECPAYMENT是应收发票的付款,ACCPAYPAYMENT是应付发票的付款,根据你的对账需求筛选对应类型。
额外验证小技巧:
你可以登录Xero后台,进入对应的银行账户页面,查看“已匹配”的交易——这些交易在后台显示为关联了发票的付款,和你通过Payments API拿到的数据是完全对应的,而在“未匹配”列表里的交易才会出现在BankTransactions结果中。
内容的提问来源于stack exchange,提问作者wizzardmr42
相关产品推荐
相关产品推荐

