2015-09-28 51 views
1

这是我QBXML要求如何使用qbxml和qbsdk13修改quickbooks中的发票?

<?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> 

我得到一个错误 QuickBooks的解析提供的XML文本流时发现错误。

请帮助

回答

1

如果你指的是QuickBooks的OSR:

你会发现<InvoiceLineMod>元素中,这个节点是需要

  • <TxnLineID>

的OSR也为您提供了更多的信息:

TxnLineID交易行的

识别号码。 (TxnLineID 支持作为SDK的2.0版。随着qbXML V1.0和V1.1, TxnLineID始终返回零。)

如果你需要在一个事务国防部添加新的交易行 请求,您可以通过将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> 
... 
相关问题