在我工作的公司,我们在开发环境中拥有以下技术 - 公司自己的 C# Web 应用程序,名为 companyABCDevapplication - 安装 Quick Books Web Connector - 安装Quick books Quickbooks Desktop 2017 Premier试用版
我的任务是创建一个接口(interface) Web 服务,该服务将由 Quick Books Web 连接器安装调用,以便与我们公司的 ABCDev 应用程序进行通信
以下是用于本地开发的技术:
Intuit Quickbooks Desktop 2017 Premier 试用版
Intuit QuickBooks Web 连接器版本 2.2.0.71
Microsoft Visual Studio Enterprise 2015
版本 14.0.25431.01 更新 3
Microsoft .NET Framework版本4.6.01055
<?xml version="1.0" encoding="utf-16"?> <?qbxml version="13.0"?> <QBXML> <QBXMLMsgsRq onError="stopOnError"> <InvoiceAddRq requestID="0"> <InvoiceAdd defMacro="TxnID:8465928136"> <CustomerRef> <FullName>la lakers</FullName> </CustomerRef> <TemplateRef> <FullName>Intuit Product Invoice</FullName> </TemplateRef> </InvoiceAdd> </InvoiceAddRq> </QBXMLMsgsRq> </QBXML>
如果您查看上面的 QBXML 代码,您会注意到我们只想在 Quickbooks 中创建发票,但不包含项目列表,但是当我们的应用程序通过 Web 服务将其发送到 Quickbooks 时,它会出现以下错误和 Quickbooks Web 连接器:
<?xml version=\"1.0\" ?>
<QBXML>
<QBXMLMsgsRs>
<InvoiceAddRs requestID="0" statusCode="3180" statusSeverity="Error" statusMessage="There was an error when saving a Invoice. QuickBooks error message: The transaction is empty." />
</QBXMLMsgsRs>
</QBXML>
是否可以使用 QuickBooks Web Connector 版本 2.2.0.71 和 Quickbooks Desktop 2017 Premier 试用版创建不含任何发票行项目的发票?如果是,xml 应该是什么样子?有人可以提供样本吗?
最佳答案
就像手动使用 QuickBooks 时一样,您需要在行中输入一些内容才能保存发票。但是,您不需要在发票上包含项目或美元金额,您只需将信息添加到“说明”列即可。不过,您不能只包含一个空格,因此您可能需要使用句点或下划线作为描述:XML 如下所示:
<?xml version="1.0" encoding="utf-16"?>
<?qbxml version="13.0"?>
<QBXML>
<QBXMLMsgsRq onError="stopOnError">
<InvoiceAddRq requestID="0">
<InvoiceAdd defMacro="TxnID:8465928136">
<CustomerRef>
<FullName>la lakers</FullName>
</CustomerRef>
<TemplateRef>
<FullName>Intuit Product Invoice</FullName>
</TemplateRef>
<InvoiceLineAdd>
<Desc>.</Desc>
</InvoiceLineAdd>
</InvoiceLineAdd>
</InvoiceAdd>
</InvoiceAddRq>
'
关于c# - Quickbooks Qbxml 创建无行项目的发票(空交易),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44376943/