一个 Rails 网站应用,QuickBooks,和 MySQL。

4

我需要在我的Rails Web应用程序中使用QuickBooks的库存...如果我能让QuickBooks使用MySQL,那就太好了,因为这样我就可以在应用程序和QuickBooks之间只使用MySQL,这会使事情变得容易。

有人知道如何让QuickBooks使用MySQL吗?还是说我必须让我的应用程序直接与QuickBooks通信,但我想避免这种情况 :P


我最终使用了CSV文件,因为对于我所做的事情来说它已经足够好了,并且定期导入到Web应用程序也很好。我所需要的只是Web应用程序中是否有库存商品。 - Robyn Smith
4个回答

10
有几种集成QuickBooks的方法,但如果是Web应用程序,最好的选择是使用QuickBooks Web Connector,或者使用商业软件包访问SQL。 Web Connector是唯一受Intuit支持的解决方案,可从Web应用程序集成QuickBooks。基本上,您构建一个SOAP服务器/ Web服务,该服务器使用特定的方法进行通信。然后在运行QuickBooks的机器上安装Web Connector,并轮询您的Web服务,询问“嘿,有什么任务可以做吗?” 然后,您的Web服务可以用qbXML请求响应(qbXML示例在此处:QuickBooks qbXML Examples),告诉Web Connector“添加此客户:…”或“发送与之匹配的发票:…”等等。 Web Connector然后将这些请求中继到QuickBooks,QuickBooks对其进行处理,并将响应中继回您的Web服务。您的Web服务可能会以某种方式处理响应,然后将下一个请求发送到Web Connector。这可以继续循环,直到您想要为止,继续向QuickBooks发送请求并接收响应。
您还可以查看AccessBooks和QODBC。两者都是QuickBooks qbXML SDK周围的商业外壳,允许直接访问QuickBooks的SQL。
有关如何将应用程序与QuickBooks集成的更多信息,请参见我的QuickBooks Integration Wiki上的如何集成应用程序与QuickBooks
您还可以在Google上搜索一下。我知道有一些QuickBooks Rails软件包/ gem,但最后我看了看它不支持QuickBooks Web Connector。相反,Rails应用程序必须安装在与QuickBooks相同的机器上,并通过COM通信。

3

我相信你需要直接与Quickbooks进行接口交互。另一个问题是因为Quickbooks是客户端应用程序,所以您需要在客户端上安装一个应用程序来将数据推送到服务器。这是可行的。

或者,您可以使用Quickbooks的导出功能定期将库存导出为CSV文件。


这听起来是最简单的方法。然后,您只需导入CSV文件,而不是尝试直接连接到QuickBooks。 - nitecoder
在你开始使用CSV或IIF之前,请确保你已经了解了相关知识。Intuit明确建议不要使用IIF和CSV格式。IIF是一种已弃用的格式,它绕过数据逻辑规则并可能导致损坏,而CSV则绕过一些会计逻辑并可能影响总额和余额。在这里阅读更多信息:http://wiki.consolibyte.com/wiki/doku.php/quickbooks_integration_methods - Keith Palmer Jr.

1

http://behindlogic.com提供了一个Rubygem(收费),可以为您处理所有与QBXML有关的烦恼,以及用于QuickBooks的HTTP连接器,可以通过HTTP发送/接收与QuickBooks的消息,这为从另一台计算机连接打开了大门。该gem还内置了一个适配器,可使用连接器,因此您可以非常快速地在Windows上启动并运行QuickBooks,在Linux上或在您的开发Mac上运行Rails应用程序。


编辑:不幸的是,Behind Logic网站和上述gem的维护者已经离世。我很遗憾提出这个问题,但我花了一些时间才弄清楚GitHub仓库为何无法使用,网站也关闭了。


0
我们已经使用Web连接器有一段时间了,让我告诉你,到目前为止一切都很顺利。虽然Intuit Quickbooks SDK不允许您像QB UI一样做某些事情。问题尤其在您想使用SDK将组合项目输入QB时出现。使用Web服务,让它构建请求和处理响应,并将所需数据推送到您的数据库中,该数据库可以是从SQL服务器到MySql / Oracle等任何东西。使用这种方法可以进行大量错误处理。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接