如何在c#中使用qbxml和qbsdk13修改quickbooks中的发票
本文关键字:quickbooks qbsdk13 修改 qbxml | 更新日期: 2023-09-27 18:13:54
我已经做了一个像这样的InvoiceModquery
<?xml version="1.0" ?>
<?qbxml version="6.0"?>
<QBXML>
<QBXMLMsgsRq onError="stopOnError">
<InvoiceModRq requestID="1">
<InvoiceMod>
<TxnID>79-1442638826</TxnID>
<EditSequence>1442638826</EditSequence>
<CustomerRef>
<ListID>80000004-1442638803</ListID>
<FullName>Chris Evans</FullName>
</CustomerRef>
<TxnDate>2015-09-19</TxnDate>
<RefNumber>5461</RefNumber>
<InvoiceLineMod>
<ItemRef>
<ListID>8000000A-1442469770</ListID>
<FullName>Item 1</FullName>
</ItemRef>
<Quantity>1</Quantity>
<Rate>100.00</Rate>
</InvoiceLineMod>
<InvoiceLineMod />
<InvoiceLineMod>
<ItemRef>
<ListID>8000000B-1442469788</ListID>
<FullName>Item 2</FullName>
</ItemRef>
<Quantity>1</Quantity>
<Rate>200.00</Rate>
</InvoiceLineMod>
</InvoiceMod>
</InvoiceModRq>
</QBXMLMsgsRq>
</QBXML>
当我将此请求发送到sdk时,我得到一个错误,说quickbooks无法解析提供的xml。
对于初学者,您需要为QuickBooks提供有效的XML来处理它。您的请求不是有效的XML。
它不是有效的XML,因为你在你的请求中有连字符(我猜你从某个地方复制/粘贴了这个,把破折号):
-<QBXML>
-<QBXMLMsgsRq onError="stopOnError">
-<InvoiceModRq requestID="1">
删除连字符,然后重试。
您还应该考虑将XML复制/粘贴到在线找到的任何XML Validator工具中,因为这样会立即显示错误。