我目前正在开发一个 Ruby/Rails 应用程序,它将在内部用作一种企业应用程序来支持我们的业务。

我们公司使用 Quickbooks Online 来完成我们几乎所有的会计工作,最重要的是用于开票。

我正在寻找一种方法来自动从我们的 Rails 应用程序生成发票到 Quickbooks,以及能够将客户余额和其他一些“基本”信息提取到 Rails 应用程序中以显示在客户信息屏幕上。

我对该主题进行了大量研究,但尚未找到可接受的解决方案来解决我们正在努力实现的目标。

  • Quickbooks Web 连接器 - 不适用,因为未运行 Quickbooks Pro
  • Intuit Anywhere 应用程序 - 我们使用的应用程序当然不是 SaaS 应用程序,因为它是专门为我们的业务设计的,并且它会看到的唯一 Quickbooks 文件/帐户是我们自己的
  • Quickbooks Online/qbXML Gateway 应用程序 - 这似乎是最合适的

  • 因此,我在 Keith Palmer 的 Consolibytes wiki 和 Intuit 的官方文档上花费了大量时间(入门很好,但实际上并没有为细节提供太多帮助),并且甚至无法使用https://qbo.intuit.com/redir/addsdkapp?appid=YOUR-ID-HERE&appreferer=&appdata=1 链接。

    我的服务器确实有一个 GoDaddy 生成的 SSL 证书,我访问了连接回调 URL 并确认那里一切正常。但是,我不断收到“无法通知第三方应用程序有关此连接的信息”错误。在我的任何日志中都没有证据表明 QB 向我的服务器发出请求。

    所以我在这里得到的是:
    我正在尝试做的可能和/或实用吗?
    我这样做对吗?

    我真的很想找到一个以前做过类似事情的人,也许可以对整个过程有所了解。

    谢谢!

    最佳答案


    是的。

    几乎。 :-)
    从你发布的内容来看:

    听起来您是在托管模式下注册的。
    不幸的是,Intuit 服务器不认为 GoDaddy 证书有效,因此无法通过 HTTP POST 将您的连接票证发送到这些服务器。这就是为什么你会看到这个:

    此外,我相信他们会进行反向 DNS 检查,这很可能会失败,因为 GoDaddy 通常不会设置 rDNS 条目。
    解决办法是:

  • 不要在托管模式下注册

  • 相反,在桌面模式下注册。
    注册后,使用此 URL 注册获取连接票:
  • https://login.quickbooks.com/j/qbn/sdkapp/confirm?appid=YOUR-APPLICATION-ID-HERE&serviceid=2004&appdata=1
    (确保将您的实际应用程序 ID 插入 URL)

  • Intuit HTTP 将连接票证发送给您,而不是显示连接票证,您可以复制/粘贴它。从那时起,它就像 HTTP POST 向 Intuit 的服务器发送额外的 HTTP 请求一样简单。
    示例 XML 请求可以在我们的 QuickBooks integration wiki 上找到 - 请确保您使用桌面模式示例。
    希望这有助于澄清事情!

    关于ruby-on-rails - Rails、QBOE、qbXML 并将它们集成在一起,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16224312/

    10-12 20:00