QBXML - 当我使用InvoiceModRq修改发票时,如何动态添加全新商品?

时间:2017-08-09 18:08:37

标签: c# wcf quickbooks invoice qbxml

<?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 &quot;MP3-C&quot; in the Invoice. \" />
  </QBXMLMsgsRs>
</QBXML>

我想修改一个Invoice,但是担心Quickbooks中是否已经知道了ItemRef。我基本上想要使用ItemInventoryAdd标签或ItemNonInventoryAdd标签将尚未输入Quickbooks的新项目。当我使用InvoiceModRq修改发票时,如何动态添加全新商品?

1 个答案:

答案 0 :(得分:1)

  

当我使用InvoiceModRq修改发票时,如何动态添加全新商品?

你不能。

QuickBooks不允许您执行您尝试执行的操作。

> 始终尝试在开始发票之前重新创建项目。

如果该项目已存在,则添加将失败并显示错误,但仍会处理下一个请求。

如果您在一个ItemInventoryAddRq中捆绑了这个,那么您将确保使用:

InvoiceAddRq

而不是:

InvoiceModRq

即使项目添加请求失败,QuickBooks也会继续处理其余请求。