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

如何在QBXML中通过InvoiceQuery查询获取InvoiceLine发票行数据?

QBXML查询发票行数据方法

核心配置

你需要在构造InvoiceQueryRq请求时,手动添加<IncludeLineItems>true</IncludeLineItems>配置,该字段默认值为false,因此默认查询接口不会返回发票行数据。

完整请求示例

<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="13.0"?>
<QBXML>
  <QBXMLMsgsRq onError="stopOnError">
    <InvoiceQueryRq requestID="1">
      <!-- 可选:填入目标发票的TxnID,仅查询单条发票;删除该行则返回全量发票 -->
      <TxnID>目标发票的TxnID</TxnID>
      <!-- 关键配置:开启发票行数据返回 -->
      <IncludeLineItems>true</IncludeLineItems>
    </InvoiceQueryRq>
  </QBXMLMsgsRq>
</QBXML>

响应数据结构说明

请求成功后,返回内容的InvoiceRet节点(对应单张发票的完整信息)下会包含多个InvoiceLineRet节点,每个节点对应一条你之前通过InvoiceLineAdd添加的发票行数据,核心字段如下:

  • TxnLineID:当前发票行的唯一标识,可用于后续修改、删除对应行数据
  • ItemRef:该行关联的商品/服务引用信息
  • Desc:发票行描述内容
  • Quantity:商品/服务数量
  • Amount:该行合计金额
  • 你添加发票行时传入的其余自定义字段也会对应返回

响应结构示例:

<InvoiceRet>
  <!-- 发票主信息 -->
  <TxnID>xxxx-xxxx-xxxx</TxnID>
  <CustomerRef>
    <FullName>客户名称</FullName>
  </CustomerRef>
  <TotalAmt>200.00</TotalAmt>
  <!-- 第一条发票行 -->
  <InvoiceLineRet>
    <TxnLineID>yyyy-yyyy-yyyy</TxnLineID>
    <ItemRef>
      <FullName>商品A</FullName>
    </ItemRef>
    <Desc>测试商品A</Desc>
    <Quantity>1</Quantity>
    <Amount>100.00</Amount>
  </InvoiceLineRet>
  <!-- 第二条发票行 -->
  <InvoiceLineRet>
    <TxnLineID>zzzz-zzzz-zzzz</TxnLineID>
    <ItemRef>
      <FullName>商品B</FullName>
    </ItemRef>
    <Desc>测试商品B</Desc>
    <Quantity>1</Quantity>
    <Amount>100.00</Amount>
  </InvoiceLineRet>
</InvoiceRet>

注意事项

如果查询全量发票,每个InvoiceRet节点下都会携带对应发票的所有InvoiceLineRet数据,无需单独发起多次查询。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 10:24:04