Skip to main content

Pre-Built Tooling

CategoryDetails
AuthenticationOAuth 2.0 (Authorization Code with refresh tokens)
Two-Way SyncYes
Events SupportedYes (Webhooks)
RealtimeYes
Supports Rate LimitingYes (500 requests per minute per app)
Authentication Scopes Supportedcom.intuit.quickbooks.accounting (accounting data), openid (OpenID), email (email information), profile (profile information), address (address information), phone (phone information)

Objects Supported

Alloy Automation supports syncing the following objects from QuickBooks:
  • Account
  • Bill
  • BillPayment
  • Class
  • CompanyInfo
  • CreditMemo
  • Customer
  • Deposit
  • Employee
  • Estimate
  • Invoice
  • Item
  • JournalEntry
  • Payment
  • PaymentMethod
  • Purchase
  • PurchaseOrder
  • RefundReceipt
  • SalesReceipt
  • TaxCode
  • TaxRate
  • Term
  • TimeActivity
  • Transfer
  • Vendor
  • VendorCredit

Set Up Guide

Trial Access

QuestionAnswer
Offers free trial or requires paid sandbox?Yes. Intuit provides a free sandbox environment for development and testing. Create developer account
Requires partnership to obtain authentication?No. However, production apps require app review and approval from Intuit for public distribution.

Authentication (OAuth 2.0)

Create your OAuth app (Intuit Developer Portal)

  1. Go to Intuit Developer Portal (developer.intuit.com) and sign in.
  2. Create a new app and select QuickBooks Online and Payments as your platform.
  3. Configure your app settings:
  4. Note your Client ID and Client Secret from the Keys & credentials tab.
  5. Copy your Client ID and Client Secret into Alloy Automation.

Development vs. Production

  • Development mode: Limited to 25 connections. Use sandbox company files for testing.
  • Production mode: Requires app review by Intuit. Submit security questionnaire and app details for approval.

Sandbox environment

  • Create test company files in the Intuit Developer Portal.
  • Use sandbox credentials to test OAuth flow and API calls.
  • Data in sandbox companies is isolated from production QuickBooks accounts.

Use Cases

1) Automated invoice sync

Sync invoices from QuickBooks to your application in real-time, enabling custom dashboards, analytics, or customer portals without manual data entry.

2) Bill payment automation

Automatically create and manage bills and bill payments in QuickBooks based on events in your application—streamlining accounts payable workflows.

3) Customer and vendor management

Keep customer and vendor records synchronized between QuickBooks and your CRM or ERP system, ensuring data consistency across platforms.

4) Financial reporting & analytics

Extract accounting data (accounts, journal entries, transactions) to build custom financial reports, forecasting models, or compliance dashboards.

5) Time tracking integration

Sync time activity data from your time tracking tools into QuickBooks for accurate payroll processing and project billing.

API Gotchas

  • ⚠️ Minor versions: QuickBooks API uses minor versions that change periodically. Always specify the latest minor version in your requests to avoid deprecated behavior.
  • ⚠️ Rate limiting: QuickBooks enforces a 500 requests per minute limit per app. Implement exponential backoff for 429 responses.
  • ⚠️ Query limitations: The query API has limitations on complexity and result set size (max 1000 records per query). Use pagination for large datasets.
  • ⚠️ Sparse updates: Use sparse=true parameter when updating objects to only modify specified fields and avoid overwriting unchanged data.
  • ⚠️ Webhook verification: QuickBooks webhooks require payload verification using the Intuit-Signature header to ensure authenticity.
  • ⚠️ Realm ID: Each QuickBooks company has a unique Realm ID (Company ID) that must be included in all API requests after OAuth.
For questions or troubleshooting, contact support@runalloy.com.
I