<?xml version="1.0" encoding="utf-16"?><?qbxml version="13.0"?><QBXML>
<QBXMLMsgsRq onError="stopOnError">
<InvoiceModRq>
<InvoiceMod>
<TxnID>983C-1639586336</TxnID>
<EditSequence>1639586895</EditSequence>
<RefNumber>308_17</RefNumber>
<Other>INVU</Other>
<InvoiceLineMod>
<TxnLineID>-1</TxnLineID>
<ItemRef>
<FullName>MP3-C </FullName>
</ItemRef>
<Desc>Harley Davidson 1950 80hp bike </Desc>
<Quantity>1.00</Quantity>
<Amount>5.00</Amount>
<Other1>308_17</Other1>
<Other2>13041</Other2>
</InvoiceLineMod>
</InvoiceMod>
</InvoiceModRq>
</QBXMLMsgsRq>
</QBXML>
在我工作的公司,我们在Dev环境中拥有以下技术 - 公司自己的C#Web应用程序,名为companyABCDevapplication - 安装Quick Books Web Connector - 安装Quick books Quickbooks Desktop 2017 Premier试用版
我的任务是创建一个接口Web服务,该服务将由Quick Books Web Connector安装程序调用,以便与我们的公司ABCDevapplication进行通信
以下是用于本地开发的技术:
Intuit Quickbooks Desktop 2017卓越试用版
Intuit QuickBooks Web连接器版本2.2.0.71
Microsoft Visual Studio Enterprise 2015
版本14.0.25431.01更新3
Microsoft .NET FrameworkVersion 4.6.01055
不幸的是,当我将此帖子顶部显示的XML发送到Quickbooks Web连接器时,出现以下错误:
<?xml version=\"1.0\" ?><QBXML>
<QBXMLMsgsRs>
<InvoiceModRs statusCode=\"3140\" statusSeverity=\"Error\" statusMessage=\"There is an invalid reference to QuickBooks Item "MP3-C" in the Invoice. \" />
</QBXMLMsgsRs>
</QBXML>
我想修改一个Invoice,但是担心Quickbooks中是否已经知道了ItemRef。我基本上想要使用ItemInventoryAdd标签或ItemNonInventoryAdd标签将尚未输入Quickbooks的新项目。当我使用InvoiceModRq修改发票时,如何动态添加全新商品?
答案 0 :(得分:1)
当我使用InvoiceModRq修改发票时,如何动态添加全新商品?
你不能。
QuickBooks不允许您执行您尝试执行的操作。
> 始终尝试在开始发票之前重新创建项目。
如果该项目已存在,则添加将失败并显示错误,但仍会处理下一个请求。
如果您在一个ItemInventoryAddRq
中捆绑了这个,那么您将确保使用:
InvoiceAddRq
而不是:
InvoiceModRq
即使项目添加请求失败,QuickBooks也会继续处理其余请求。