【发布时间】:2014-02-17 10:43:02
【问题描述】:
多年前,我在基于 SQL Server 的系统和 QuickBooks 之间编写了一个自定义集成,它可以根据 SQL Server 中的数据在 QuickBooks 中自动创建发票。创建发票的 XML 字符串非常简单:
<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 添加到发票中:
<DueDate>2014-03-07</DueDate>
我已尝试将此标记放置在 XML 字符串中的多个位置,但 QuickBooks 拒绝该请求并出现以下错误:
“QuickBooks 在解析提供的 XML 文本流时发现错误。”
簿记员可以在创建发票后手动更改发票的到期日期,但由于某种原因,我无法在使用 QuickBooks API 创建发票时指定到期日期。有什么想法吗?
谢谢。
【问题讨论】:
-
也许您应该发布您的 XML 请求实际显示您尝试将 DueDate 标记放在哪里?
标签: api quickbooks