php - 将远程 PHP/Apache 服务器连接到 Quickbooks/Windows

标签 php quickbooks

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

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

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

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

谢谢

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

最佳答案

首先,为您提供一些链接和术语...

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 Connector 配合使用(稍后会详细介绍): <罢工> 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 驱动程序。这是一个商业产品,但据说效果非常好。我听说有时对性能有一些担忧,所以我会在你 promise 之前尝试一下。

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

关于php - 将远程 PHP/Apache 服务器连接到 Quickbooks/Windows,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/953309/

相关文章:

php - Yii 无法访问 session 变量

php - Symfony 实体类似乎不是托管的 Doctrine 实体

c# - 有没有办法正确结束与 QuickBooks/QBW32.exe 的 session ,这样它就不会在后台运行?

c# - QuickBooks: Unresolved SDK 引用?

java - 在 Lotus Notes Xpages 按钮单击中调用 Java MVC View 方法时出错

php gd 像素化太锐利

php - 在 for 循环期间将文件输入 ID 存储在变量内 | PHP

php - 使用另一个文件中的 LESS 类 [Symfony2]

php - 联合字节 |示例_mysql_镜像 |同步相关问题