← 返回
未分类 Key 中文

Intuit-quickbook

Production-grade integration and automation with the QuickBooks Online API. Covers OAuth 2.0 authentication, accounting entities (Customers, Invoices, Paymen...
生产级QuickBooks Online API 集成与自动化,涵盖 OAuth 2.0 认证及会计实体(客户、发票、付款等)。
simonpierreboucher02
未分类 clawhub v1.0.1 1 版本 100000 Key: 需要
★ 0
Stars
📥 167
下载
💾 0
安装
1
版本
#latest

概述

QuickBooks Online API Skill

This skill provides production-grade workflows, JSON schemas, and code patterns for integrating with the QuickBooks Online (QBO) REST API (v3) and the QuickBooks Payments API (v4).

Base URLs

EnvironmentAccounting API Base URL
:---:---
Sandboxhttps://sandbox-quickbooks.api.intuit.com
Productionhttps://quickbooks.api.intuit.com

All requests require the header Authorization: Bearer and Accept: application/json.


Reference Guides

Detailed schemas and code implementations are in the references/ folder. Load them as needed:

FileWhen to Read
:---:---
references/authentication.mdOAuth 2.0 flow, token exchange, token refresh, distributed locking
references/accounting_entities.mdCustomer, Invoice, Payment, Bill, JournalEntry CRUD payloads
references/webhooks.mdCloudEvents v1.0 payload, HMAC-SHA256 signature verification, async queue pattern
references/queries_and_errors.mdIDS-QL syntax, pagination, SQL injection prevention, exponential backoff
references/ai_and_mcp.mdQuickBooks MCP server deployment, LangGraph agent state machines

Core Workflows

Workflow 1: OAuth 2.0 Token Lifecycle

[User clicks "Connect to QuickBooks"]
          |
          v
[Redirect to Intuit Authorization URL]
          |
          v
[User grants consent → receives ?code=...]
          |
          v
[POST /oauth2/v1/tokens/bearer (code exchange)]
          |
          v
[Store access_token (60 min) + refresh_token (100 days)]
          |
          v
[On 401 → POST /oauth2/v1/tokens/bearer (refresh grant)]

> Critical: Encrypt both tokens at rest with AES-256-GCM. Use a distributed lock (e.g., Redis Redlock) to prevent concurrent refresh races.


Workflow 2: Robust Entity Update (SyncToken / Error 2030)

QuickBooks uses optimistic locking. Every entity carries a SyncToken. If another process updated the entity since your last read, the API returns error 2030 (Stale Object).

[POST update with local SyncToken]
          |
     +----+----+
     |         |
  200 OK    400 / 2030
     |         |
  [Done]  [GET entity → get new SyncToken]
               |
          [Merge changes]
               |
          [POST update again]

Workflow 3: Asynchronous Webhook Processing

QuickBooks requires an HTTP 200 OK response within 3 seconds.

[Incoming POST from Intuit]
          |
          v
[1. Verify HMAC-SHA256 signature]  ← raw bytes only, never parsed JSON
          |
          v
[2. Push raw payload to message queue (SQS / RabbitMQ / Redis)]
          |
          v
[3. Return HTTP 200 immediately]
          |
          v
[4. Background worker processes event]

API Quick Reference

Accounting Entities

EntityEndpointMethods
:---:---:---
Customer/v3/company//customerPOST (create), POST (update sparse), GET
Vendor/v3/company//vendorPOST, GET
Invoice/v3/company//invoicePOST, GET, DELETE (void)
Payment/v3/company//paymentPOST, GET
Bill/v3/company//billPOST, GET
CreditMemo/v3/company//creditmemoPOST, GET
JournalEntry/v3/company//journalentryPOST, GET
Account (CoA)/v3/company//accountPOST, GET
Item/v3/company//itemPOST, GET
Deposit/v3/company//depositPOST, GET
Transfer/v3/company//transferPOST, GET

Reports API

ReportEndpointKey Params
:---:---:---
Profit & Loss/v3/company//reports/ProfitAndLossstart_date, end_date, accounting_method
Balance Sheet/v3/company//reports/BalanceSheetdate, accounting_method
General Ledger/v3/company//reports/GeneralLedgerDetailstart_date, end_date, columns
A/R Aging/v3/company//reports/AgedReceivablesreport_date, aging_method

> Reports cell limit: 400,000 cells per response. Enforce a maximum 6-month date range per request to avoid timeouts.

Payments API (v4)

OperationEndpoint
:---:---
Tokenize cardPOST https://api.intuit.com/quickbooks/v4/payments/tokens
Create chargePOST https://api.intuit.com/quickbooks/v4/payments/charges
Refund chargePOST https://api.intuit.com/quickbooks/v4/payments/charges//refunds

Batch Operations

Bundle up to 30 independent operations into a single POST request:

POST /v3/company/<realmId>/batch

Change Data Capture (CDC)

Retrieve all changed entities since a given timestamp:

GET /v3/company/<realmId>/cdc?entities=Customer,Invoice&changedSince=2026-05-31T00:00:00Z

Production Checklist

Before going live, verify:

  • [ ] OAuth tokens encrypted at rest (AES-256-GCM).
  • [ ] Distributed lock on token refresh (no concurrent refresh races).
  • [ ] Exponential backoff with jitter on all API calls (handles HTTP 429, 100 req/min limit).
  • [ ] IDS-QL inputs sanitized (escape single quotes to prevent injection).
  • [ ] Reports date range capped at 6 months per request.
  • [ ] Webhook signature verified on raw bytes before any JSON parsing.
  • [ ] Webhook handler responds HTTP 200 within 3 seconds (async queue pattern).
  • [ ] PCI-DSS: raw card numbers never stored; use tokenization endpoint only.

版本历史

共 1 个版本

  • v1.0.1 当前
    2026-06-01 21:23

安全检测

腾讯云安全 (Keen)

队列中

腾讯云安全 (Sanbu)

队列中

🔗 相关推荐

Open Alex

simonpierreboucher02
利用 OpenAlex 进行元数据查询,无需 API 密钥,即可查找并引用学术作品、作者、机构和趋势。
★ 0 📥 196

Tavily api

simonpierreboucher02
教AI利用Tavily进行精准的实时网络搜索、内容抓取、站点映射和来源评估,确保正确引用与错误处理。
★ 0 📥 198
developer-tools

EODHD API

simonpierreboucher02
提供与EODHD(EOD历史数据)API交互的工具和工作流程,用于获取金融数据。使用此技能可以获取市场数据、基本面数据等。
★ 1 📥 550