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

Xero API问题:无法删除发票全部行项目

Xero API 删除发票所有行项问题排查与解决

我之前也踩过Xero API这个坑!你说的情况太真实了——发票行项的新增、更新,还有单个/多个行项删除都能正常跑,但传Invoices.LineItems: []空数组就是清不掉所有行项,最后那一个怎么删都没反应。

问题本质

这其实是Xero API的一个硬性限制:发票必须至少保留一个行项,哪怕是金额为0的占位行项也不能完全清空。这就是为什么空数组请求无效,且最后一个行项始终删不掉的原因。

可行的解决方案

如果确实需要实现“清空所有有效行项”的效果,别传空数组,而是传入一个金额为0的占位行项来覆盖原有所有行项,示例请求体如下:

{
  "Invoices": [
    {
      "InvoiceID": "你的目标发票ID",
      "LineItems": [
        {
          "Description": "Placeholder for empty invoice",
          "Quantity": 1,
          "UnitAmount": 0,
          "AccountCode": "你的默认收入账户编码"
        }
      ]
    }
  ]
}

之后如果要添加有效行项,直接更新这个占位行项或者替换成新的行项数组就可以了。

测试验证

你可以在Xero API Explorer里用这个请求体测试,会发现它能成功替换掉所有原有行项,达到近似“清空”的效果。这是目前官方默认的 workaround,毕竟Xero不允许发票完全没有行项存在。

Xero API Explorer测试截图

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 10:40:39