多年前,我在基于SQL Server的系统和QuickBooks之间编写了一个定制集成,它可以根据SQL Server中的数据在QuickBooks中自动创建发票。该XML字符串创建发票很简单:QuickBooks API发票<DueDate>标签
<QBXML>
<QBXMLMsgsRq newMessageSetID="10025027" onError="continueOnError">
<InvoiceAddRq requestID="10025027">
<InvoiceAdd>
<CustomerRef>
<FullName>Acme Corporation, Inc.</FullName>
</CustomerRef>
<TxnDate>2014-02-05</TxnDate>
<RefNumber>124</RefNumber>
<ShipAddress>
<Addr1>16-01 16th Avenue, Dock 3</Addr1>
<Addr2/>
<Addr3/>
<Addr4/>
<City>Astoria</City>
<State>NY</State>
<PostalCode>11105</PostalCode>
</ShipAddress>
<PONumber> 6028019</PONumber>
<SalesRepRef>
<FullName>H</FullName>
</SalesRepRef>
<Memo>1401106</Memo>
<InvoiceLineAdd>
<ItemRef>
<FullName>SALES</FullName>
</ItemRef>
<Desc> Semi Annual Sampling - M1; Day 1</Desc>
<Rate>5580</Rate>
</InvoiceLineAdd>
</InvoiceAdd>
</InvoiceAddRq>
</QBXMLMsgsRq>
</QBXML>
的基于SQL Server系统实际打印被交付给客户的发票细节,QuickBooks的只用来跟踪账户余额和支付。我现在想通过将下面的XML标签的交货期添加到发票:
<DueDate>2014-03-07</DueDate>
我试图把这个标签在几个地方的XML字符串中,但QuickBooks的拒绝与以下错误请求:
“QuickBooks解析提供的XML文本流时发现错误。”
簿记员能够在创建发票后手动更改截止日期,但出于某种原因,我无法在使用QuickBooks API创建发票时指定截止日期。有任何想法吗?
谢谢。
也许你应该发布你的XML请求*实际显示你试图放置DueDate *标签的位置? –