C# 如何使用qbxml和qbsdk13修改quickbooks中的发票?

C# 如何使用qbxml和qbsdk13修改quickbooks中的发票?,c#,quickbooks,qbxml,C#,Quickbooks,Qbxml,这是我的QBXML请求 <?xml version="1.0" ?> <?qbxml version="6.0"?> <QBXML> <QBXMLMsgsRq onError="stopOnError"> <InvoiceModRq requestID="1"> <InvoiceMod> <TxnID>85-1442639879<

这是我的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>

85-1442639879
1442639879
80000005-1442639850
布鲁斯·班纳
2015-09-19
5462
80000000A-1442469770
项目1
1.
1100
我犯了一个错误 QuickBooks在解析提供的XML文本流时发现错误


如果您参考QuickBooks OSR,请提供帮助:

您会注意到,在
元素中,此节点是必需的:

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

TxnLineID

交易行的标识号。(TxnLineID 从SDK的v2.0开始支持。使用qbXML v1.0和v1.1, TxnLineID始终返回为零。)

如果您需要在交易模式中添加新的交易行 请求时,可以将TxnLineID设置为-1

因此,您需要添加一个
节点。如果是新行项目,请将内容的
-1
放在节点内。如果您试图更新的是一个现有行,请将现有行的
TxnLineID
值放入其中

例如:

...
<InvoiceLineMod>
    <TxnLineID>-1</TxnLineID>
    <ItemRef>
        <ListID>8000000A-1442469770</ListID>
        <FullName>Item 1</FullName>
    </ItemRef>
    <Quantity>1</Quantity>
    <Rate>1100.00</Rate>
</InvoiceLineMod>
...
。。。
-1
80000000A-1442469770
项目1
1.
1100
...