You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否通过Google Apps Script创建QuickBooks Desktop的API连接?

能否用Apps Script对接QuickBooks Desktop提取发票数据?

QuickBooks Desktop(QBDT)和QuickBooks Online(QBO)的API体系完全不同:

  • QBO基于RESTful API,可直接通过HTTP请求对接,这也是现有Apps Script教程能直接生效的核心原因
  • QBDT没有公开的云端REST API,它依赖QBXML协议或官方QuickBooks Desktop SDK,这些均针对本地/局域网环境设计,无法直接被云端的Apps Script调用

可行的实践方案

要实现Apps Script对接QBDT提取发票数据,必须通过中间层搭桥,常见两种落地方式:

1. 本地代理脚本+网络转发

  • 在安装QBDT的电脑上运行本地代理脚本(如Python、Node.js),脚本需完成两个核心动作:
    • 通过QBXML或QBDT SDK连接本地QBDT,执行发票查询指令
    • 搭建简单Web服务,将查询到的发票数据通过HTTP接口暴露
  • 在Apps Script中,调用UrlFetchApp请求该本地Web服务接口,获取发票数据
  • 注意:需确保本地电脑与Apps Script网络互通,可通过内网穿透工具将本地服务暴露到公网,或在同一局域网内配置访问权限

2. 第三方中间服务中转

  • 部分自动化平台(如Zapier、Make)或Intuit官方集成工具支持同时对接QBDT与Google服务
  • 先通过这类工具将QBDT发票数据同步至Google Sheets/Drive,再用Apps Script读取同步完成的数据
  • 该方案无需自行编写本地代理,适合非开发背景用户

关键细节提示

  • QBDT的QBXML查询需遵循官方语法规范,示例发票查询请求结构:
    <?xml version="1.0" encoding="utf-8"?>
    <?qbxml version="13.0"?>
    <QBXML>
      <QBXMLMsgsRq onError="stopOnError">
        <InvoiceQueryRq>
          <MaxReturned>100</MaxReturned>
          <!-- 可添加日期范围、客户ID等过滤条件 -->
        </InvoiceQueryRq>
      </QBXMLMsgsRq>
    </QBXML>
    
  • 本地代理脚本需通过QBDT管理员权限完成身份验证
  • 若使用内网穿透,建议采用HTTPS加密保障数据传输安全

内容的提问来源于stack exchange,提问作者viciousJester

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 05:33:11