【问题标题】:Connecting remote PHP/Apache server to Quickbooks/Windows将远程 PHP/Apache 服务器连接到 Quickbooks/Windows
【发布时间】:2009-06-04 21:49:07
【问题描述】:

我们有一个装有 Apache 的 Linux 机器,运行 PHP。 我们在网络中有一台运行 Quickbooks Enterprise Edition 9.0 的普通台式计算机。

我正在尝试构建一个托管在 Linux 机器上的自定义 Web 应用程序,它能够与 Quickbooks 对话。

我是 Quickbooks 的新手,这对我来说很难。 环顾四周,我发现了许多技术,但没有一个看起来很简单。 在深入研究之前,我想知道是否有人有这方面的经验并可以就第一步给我建议。

我听说过 Quickbooks SDK、QODBC、Web 连接器等... 对这些技术和其他可用技术的澄清会非常好。 还要记住,PHP 代码将在不同的计算机 (linux) 上运行。

谢谢

PS。我知道已经有其他与 Quickbooks 相关的帖子,但它们要么不够清晰,要么涉及与 Quickbooks 在同一台机器上运行的 Web 代码。

【问题讨论】:

  • 您是否考虑过通过网络共享任何必要的文件,或者代理任何类型的数据访问?似乎使用现有的解决方案应该不难,只需做一些额外的工作。

标签: php quickbooks


【解决方案1】:

首先,给你一些链接和条款......

QuickBooks SDK - 它包含与其他应用程序集成的所有 QuickBooks 相关文档,无论是通过 COM、SOAP、RPC 请求等等等。它还有几个非常有用的测试和验证工具。无论您选择哪种路线,您都会想去下载它。 http://developer.intuit.com/

QuickBooks OSR - 这是主要参考点,它向您显示您可以发送到 QuickBooks 的所有请求,以及 QuickBooks 发回的响应。 https://developer.intuit.com/qbsdk-current/Common/newOSR/index.html

更新链接:https://developer-static.intuit.com/qbSDK-current/Common/newOSR/index.html

QuickBooks PHP 框架 - 这是一个专门为 PHP 设计的框架,用于与 QuickBooks 进行通信。免责声明:我是作者。它旨在与 QuickBooks Web 连接器一起使用(稍后会详细介绍): https://idnforums.intuit.com/messageview.aspx?catid=56&threadid=9164

更新链接:https://github.com/consolibyte/quickbooks-php

QuickBooks Integration Wiki - 讨论 QuickBooks 集成的 Wiki。免责声明:我是作者。这里: http://consolibyte.com/wiki/doku.php/quickbooks

QODBC - 这是 QuickBooks SDK XML 请求的包装器,它为 QuickBooks 数据提供 ODBC 驱动程序。这是一个商业产品,但据说效果很好。我听说有时对性能有一些担忧,所以我会在你承诺之前尝试一下。

AccessBooks - 这可能是您的另一种选择,它提供了一种将 QuickBooks 数据镜像到 SQL 数据库的方法。它是一种商业产品,我听说过它的实际效果好坏参半。

QuickBooks Web 连接器 - 这提供了一种使用 SOAP 和 qbXML 向 QuickBooks 发送请求并从 QuickBooks 接收响应的方法。这是您应该用来将 Apache/PHP 设置与 QuickBooks 链接的内容。它是唯一 Intuit 支持的将网站链接到 QuickBooks 的方法。

QBFC - 这是与 QuickBooks 通信的 Windows COM/DCOM 方式。不适用于您,因为您在单独的计算机上并使用 Linux。

RDS - QuickBooks 的远程数据共享。这不适用于您,因为它仅适用于 LAN。

IDN 论坛 - Intuit 开发人员论坛是发帖寻求帮助的好地方: http://idnforums.intuit.com/

更新链接:https://intuitpartnerplatform.lc.intuit.com

现在一些额外的想法/信息:

请记住,尽管 QuickBooks 由 SQL 数据库支持,但它不允许您直接访问其内部 SQL 数据库。因此,您不能只使用 SQL 查询它。

相反,Intuit 提供了一个基于 XML 的请求/响应,让您可以将 XML 请求发送到 QuickBooks 并返回 XML 响应。它非常全面,涵盖了您可以在 GUI 中执行的大部分(但不是全部)操作。

要从另一台机器上与 QuickBooks 对话,您需要使用 RDS、Web 连接器或自己构建一些东西。 RDS 是一场安全噩梦,并非真正用于集成 Web 应用程序。 Web 连接器正是您正在寻找的,也是您应该研究的。 Web 连接器的全部意义在于将一台机器上的 QuickBooks 与另一台机器上的 Web 应用程序链接起来。它使用 XML 和 SOAP 请求的组合来完成其工作。

QuickBooks 集成并不简单。由于多种原因,实现某些东西可能很复杂:大量外键、依赖项、税收规则、挑剔的 XML 解析器、奇怪的字段长度等。但是,它绝对是可行的,而且你不需要会计师或真正拥有超强 QuickBooks 背景的人能够做大多数事情。

我的 PHP 特定建议:

  • 使用上面链接的 PHP 代码
  • 熟悉 QuickBooks SDK 中的 XML 验证器工具
  • 开启 PHP 错误日志到文件
  • 熟悉 QuickBooks OSR

【讨论】: