qbxml QuickBooks XML BillAddress 根据 DTD 无效

qbxml QuickBooks XML BillAddress invalid according to DTD

qbxml 版本 13.0。为什么验证器列出 XML 元素,这些元素不在我的 XML 中并且不需要它所期望的东西?

在我看到的所有参考资料中,它在 BillAddress 之后为 InvoiceAdd 列出了 Memo。

https://developer-static.intuit.com/qbSDK-current/Common/newOSR/index.html

Line: 20
LinePos: 22
Src Text: <BillAddress>
Reason: Element content is invalid according to the DTD/Schema.
Expecting: ItemSalesTaxRef, Memo, CustomerMsgRef, IsToBePrinted, IsToBeEmailed, IsTaxIncluded, CustomerSalesTaxCodeRef, Other, Exchange....

<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="13.0"?>
<QBXML>
  <QBXMLMsgsRq onError="continueOnError">
    <InvoiceAddRq requestID="43">
      <InvoiceAdd>
        <CustomerRef>
          <FullName>GORILLA SPRAY FOAM LLC</FullName>
        </CustomerRef>
        <ARAccountRef>
          <FullName>Accounts Receivable</FullName>
        </ARAccountRef>
        <TxnDate>2017-12-01</TxnDate>
        <RefNumber>9690</RefNumber>
        <PONumber>JN 102317</PONumber>
        <ShipDate>2017-10-23</ShipDate>
        <ShipMethodRef>
          <FullName>x</FullName>
        </ShipMethodRef>
        <BillAddress>
          <Addr1>GORILLA SPRAY FOAM LLC</Addr1>
          <Addr2>2332 HIGHWAY 65</Addr2>
          <City>MORA</City>
          <State>MN</State>
          <PostalCode>55051</PostalCode>
        </BillAddress>
        <InvoiceLineAdd>
          <ItemRef>
            <FullName>S 8000</FullName>
          </ItemRef>
          <Desc>x</Desc>
          <Quantity>2</Quantity>
          <Amount>x</Amount>
        </InvoiceLineAdd>
        <InvoiceLineAdd>
          <ItemRef>
            <FullName>S 8020</FullName>
          </ItemRef>
          <Desc>x</Desc>
          <Quantity>2</Quantity>
          <Amount>x</Amount>
        </InvoiceLineAdd>
        <InvoiceLineAdd>
          <ItemRef>
            <FullName>Delivery Charge</FullName>
          </ItemRef>
          <Desc>Delivery Charge</Desc>
          <Amount>75.00</Amount>
        </InvoiceLineAdd>
        <InvoiceLineAdd>
          <ItemRef>
            <FullName>Sales Tax</FullName>
          </ItemRef>
          <Desc>Minnesota Sales Tax</Desc>
          <Amount>2.58</Amount>
        </InvoiceLineAdd>
      </InvoiceAdd>
    </InvoiceAddRq>
  </QBXMLMsgsRq>
</QBXML>

qbXML 中标签的顺序很重要。

如果 OSR 显示 ShipMethodShipDatePONumber 标签位于 BillAddress 标签之后,那么您必须遵循该顺序.

参考 OSR:

https://developer-static.intuit.com/qbSDK-current/Common/newOSR/index.html

确保您的标签顺序正确。目前它们不是因为 ShipDateShipMethodRefPONumber 标签在 BillAddress 之前。