Xero API - 如何在付款后将贷方票据标记为已发送?

问题描述 投票:0回答:1

我正在使用

xero-python
SDK 通过电子邮件向我的客户发送发票和贷方票据。发送发票/贷项通知单后,我希望在 Xero 中将其标记为已发送。我可以通过执行以下操作来对发票执行此操作:

updated_invoice = Invoice(sent_to_contact=True)
invoices = Invoices(invoices=[updated_invoice])

api_instance.update_invoice(TENANT_ID, invoice.invoice_id, invoices)

即使发票上有付款,这也没有问题。在 Xero 的历史记录中,它指出编辑是在付款后进行的:

日期 用户 行动 详情
2024 年 11 月 14 日上午 10:13 系统生成 已编辑 通过 Xero API 从电子邮件测试收到
2024 年 11 月 14 日上午 10:12 系统生成 付费 2024 年 11 月 14 日收到 Joe Morgan 的付款,金额为 11.05。此发票已全额支付

但是,当我尝试将其复制到贷方票据时,我收到以下错误 -

This document cannot be edited as it has a payment or credit note allocated to it

下面的代码遵循 Python API 文档

 updated_credit_note = CreditNote(sent_to_contact=True)
credit_notes = CreditNotes(credit_notes=[updated_credit_note])

api_instance.update_credit_note(TENANT_ID, credit_note.credit_note_id, credit_notes)

阅读完文档后,我明白这可能是预期的行为,因为信用票据是付款的。这篇 2011 年的 uservoice post 指出,发票和贷方票据只能在之前被标记为已付款,这也是 GUI 处理它的方式。不过,我已经演示了您可以在付款后将发票标记为通过 API 发送。付款后,还可以在 GUI 中将贷方票据标记为已发送。

这是 API 的限制吗?如果是,是否有解决方法?或者我在尝试更新贷方票据时是否进行了错误的 API 调用?

xero-api xero
1个回答
0
投票

API 已更新,以便您可以编辑已付款的 ACCREC 发票,但这尚未扩展到 ACCPAY 发票或任何类型的贷方票据

© www.soinside.com 2019 - 2024. All rights reserved.