问题标签 [qbwc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
713 浏览

xml - 使用 QBXML 添加多个付款

我正在尝试使用对Quickbooks Web Connector的 XML 请求将新付款批量添加到 Quickbooks ,我对单次付款的请求如下所示

我使用作为模板,我可以在 Quickbooks 中获得付款,但我需要了解如何在一个 XML 请求中处理多个付款,因为它应该作为一个批次进入。如果有人有任何见解,他们可以提供这将非常有帮助。我搜索了 Intuit 开发人员文档和其他一些文档,例如 ConsoliByte 的 wiki,但我只看到单个请求。

0 投票
1 回答
2573 浏览

php - Quickbooks Web 连接器突然抛出 0x80040400 错误

直到最近,我还能够很好地使用 Consolibyte PHP Web 连接器推送销售订单。现在,它正在抛出错误

0x80040400:QuickBooks 在解析提供的 XML 文本流时发现错误。

我已经删除了 XML 的所有可选元素,但它仍然抛出错误。我可以产生错误的最简单的 XML 位是:

我已经将此与 OSR 告诉我的预期进行了比较,并通过 QB SDK 中的 XML 验证器运行它,但一切都表明它格式正确。我还在CustomerQuery那个特定的 ListID 上运行了一个,它在 Quickbooks 中返回了一个有效的客户。任何想法这里可能有什么问题?

编辑:尽管 OSR 说除了可选之外的所有元素CustomerRef都是可选的,但我从最新的 SDK(我认为我以前使用过)重新运行了验证器,它说 XML 需要所有这些东西。这是验证器认为有效但仍抛出错误的完整 XML:

0 投票
1 回答
96 浏览

quickbooks - 无法使用 Quickbooks Web 连接器/CFML 进行身份验证

我正在尝试在 Railo 4.x 中实现 Quickbooks Web 连接器 (QBWC)

这是我的 QWC 文件:

QBWC 跟踪显示了问题:

我能够进一步深入研究并发现Railo可能存在铸造问题?

无法将复杂对象类型结构转换为字符串


使用内置函数 "serialize(Struct):String" 从 Struct 创建一个字符串

现在我知道你们中的一些人正在考虑“只是序列化”结构。好吧,Railo 中没有这样的功能(据我所知)。

任何想法都非常感谢。

0 投票
0 回答
242 浏览

python - Quickbooks Webservice 连接器未连接到 python Web 服务

我正在尝试将 Quickbooks Webservice 连接器连接到 python 网络服务,但未建立连接。我认为问题出在我的 .qwc 文件上。下面是 .qwc 文件的代码。

谁能告诉我有什么问题?我已经使用 ZSI 框架制作了 web 服务。

QBWC 日志:

0 投票
1 回答
1596 浏览

python - Quickbooks Desktop 如何与 Python 集成

我正在尝试使用 Quick Books Web 连接器(必须在 Python 中完成)与 QuickBooks 桌面应用程序进行通信。我对 SOAP 不是很熟悉——我想知道是否有人有与 QBWC 通信的模板/指南。我已阅读 QuickBooks Web 连接器程序指南,但没有示例 Python 代码。

0 投票
1 回答
216 浏览

integration - 通过 Web 连接器在 Quickbooks 中接收超额付款

我是一家销售基于 Web 的商业软件产品的公司的程序员,该产品让用户经营他们的业务。它有一个 A/R 模块。我们的用户使用我们的软件从他们的客户那里输入付款,并将付款应用到我们系统中的客户发票上。

我们的系统还需要将所有财务信息同步到我们用户的桌面 QuickBooks。我们使用 QB Web 连接器来执行此操作。当他们在我们的系统中输入付款时,我已经编写了向他们的 QB 发送 ReceivePaymentAdd 的代码,并且效果很好。唯一需要注意的是,当我们用户的客户向他们发送多付时。

例如,他们的客户向他们发送了一张 50.00 美元的支票,但该客户只有一张 45.00 美元的未结发票。

我现在处理的方式是将支票金额减少到 45.00 美元,并在我们的系统中创建一个 5.00 美元的贷项通知单。然后将 45.00 美元的付款导入他们的 QB(应用于 45.00 美元的发票),并导入 5.00 美元的贷项凭单(作为 QB 中的贷项凭单)。

我们已经意识到这种方法行不通,因为它会从他们的银行账户中扣除(他们手中有一张 50.00 美元的支票,而我们只向他们的 QB 添加了 45.00 美元的付款)。

我知道我可以发送一个 ReceivePaymentAdd 全额 50.00 美元,并且只有 45.00 美元适用于发票。如果我这样做,他们的客户将在 QB 中有 5.00 美元的贷方余额。如果我删除减少付款金额的代码并在我们的系统中创建贷项通知单,那么我们的系统还将为客户记录 5.00 美元的贷项。

我可以对我们的“接收付款”屏幕进行编程,以允许我们的用户在输入新付款时将此类客户信用应用于发票,但我如何告诉 QB 这样做?当我查看 ReceivePaymentAdd 请求时,我在IDN 统一 OSR中没有看到任何内容。

所以继续上面的例子,假设我们的用户通知他们的客户他们有 5.00 美元的信用额度,并且用户进行了 25.00 美元的购买并发送了 20.00 美元的支票。然后,我将收到一个 ReceivePaymentAdd 请求,其中包含 20.00 美元的支票付款金额,并将 25.00 美元应用于发票。这行得通吗?QB 不会抛出一个错误,即应用于发票的金额大于支付的金额吗?

我如何告诉 QB(通过 Web 连接器)用完客户信用?

0 投票
1 回答
98 浏览

quickbooks - 为什么 Web 服务提供公司文件名?

我了解要访问当前未在 QuickBooks 中打开的公司,Web 服务需要向 QuickBooks Web 连接器提供文件位置作为authenticate()调用的返回值。

这对我来说似乎倒退了。为什么网络服务要负责告诉网络连接器相关的公司文件在哪里?由 Web 连接器管理它不是更有意义吗?

这是我在QuickBooks Web Connector Programmer's Guide中找到的相关解释:

  1. 如果您的 Web 服务想要尝试不同的公司,请在返回的字符串中提供公司路径名。(如果您想使用碰巧打开的任何公司文件,您可以提供一个空字符串。)Web 连接器将通过尝试使用提供的字符串再次连接到 QuickBooks 来做出响应。

为什么 Web 服务会尝试不同的公司?

为什么 Web 服务会执行这些操作中的第二个,而不是简单地完全停止?在实践中,当 Web 服务记住从会话到会话的公司文件路径(推荐的做法)并希望回退以使用当前在 QuickBooks 中打开的任何公司文件时使用此方法(通过响应 connectionError 调用一个空字符串)。

这并不像看起来那么随意。将 Web 服务添加到 Web 连接器时,Web 连接器会将唯一的 FileID 作为专用数据扩展名存储在指定的公司中。因此,Web 服务始终可以通过检查在数据交换序列中 Web 连接器的第一个 sendRequestXML 调用中返回给您的 Web 服务的 CompanyRet 来验证它是否正在与预期的公司文件通信。(检查预期 FileID 的数据扩展名列表。)

这似乎是一种糟糕的最终用户体验;如果他们移动公司文件(假设他们希望 Web 连接器在没有打开 QuickBooks 的情况下运行),则 Web 服务将失败,直到该路径在服务器端更新。最终用户可以在不知道会破坏事物的情况下执行此操作,这似乎是完全合理的。

为什么它是这样构造的?更重要的是:有没有办法解决这个问题?

0 投票
1 回答
516 浏览

node.js - 如何使用 Node.js 异步服务多个 QBWC 客户端

这个想法是使用 Node.js 实现一个 QBWC Web 服务,它可以以异步方式为多个传入请求提供服务。目前我正在研究qbws,它是 QuickBooks Desktop Web 连接器的 Node.js Web 服务。关于如何扩展它以支持服务方法的异步架构的任何想法?
提前致谢!

0 投票
1 回答
71 浏览

quickbooks - 使用 QB Web 连接器修改 RecievePayment

当我使用 RecievePaymentMod 请求修改付款时,我需要提供付款的 txnID。然后在response中,发回一个txnID(不知道是不是一样,还没实践)。

如果我必须再次修改相同的付款,我是使用从原始 ReceivePaymentAdd 请求返回的 txnID,还是从上次 RecievePaymentMod 请求返回的 txnID?

0 投票
1 回答
212 浏览

quickbooks - Quickbooks Desktop Web Connector 我可以根据项目的 id 或其他属性进行库存调整吗?

我有一个程序可以通过进行库存调整来调整 quickbooks 项目/产品的现有数量。目前我只能通过匹配项目名称来调整库存。我可以使用任何其他属性(项目序列号、项目 ID)来查询和更新现有项目数量吗?