这是我的QBXML请求
<?xml version="1.0" ?>
<?qbxml version="6.0"?>
<QBXML>
<QBXMLMsgsRq onError="stopOnError">
<InvoiceModRq requestID="1">
<InvoiceMod>
<TxnID>85-1442639879</TxnID>
<EditSequence>1442639879</EditSequence>
<CustomerRef>
<ListID>80000005-1442639850</ListID>
<FullName>Bruce Banner</FullName>
</CustomerRef>
<TxnDate>2015-09-19</TxnDate>
<RefNumber>5462</RefNumber>
<InvoiceLineMod>
<ItemRef>
<ListID>8000000A-1442469770</ListID>
<FullName>Item 1</FullName>
</ItemRef>
<Quantity>1</Quantity>
<Rate>1100.00</Rate>
</InvoiceLineMod>
</InvoiceMod>
</InvoiceModRq>
</QBXMLMsgsRq>
</QBXML>
我收到了错误消息 解析提供的XML文本流时,QuickBooks发现错误。
请帮助
答案 0 :(得分:1)
如果您参考QuickBooks OSR:
您会注意到<InvoiceLineMod>
元素中的此节点必需:
<TxnLineID>
OSR也为您提供了更多信息:
<强> TxnLineID 强>
交易行的标识号。 (TxnLineID 从v2.0开始支持SDK。使用qbXML v1.0和v1.1, TxnLineID始终返回为零。)
如果您需要在事务Mod中添加新的事务行 请求,您可以通过将TxnLineID设置为-1来实现。
因此,您需要添加<TxnLineID>
节点。如果是新订单项,请为节点内的内容添加-1
。如果它是您尝试更新的现有行,请将现有行的TxnLineID
值放在那里。
示例:
...
<InvoiceLineMod>
<TxnLineID>-1</TxnLineID>
<ItemRef>
<ListID>8000000A-1442469770</ListID>
<FullName>Item 1</FullName>
</ItemRef>
<Quantity>1</Quantity>
<Rate>1100.00</Rate>
</InvoiceLineMod>
...