Accounting integrations
The accounting providers AccountingKit supports, their keys, and what every provider shares.
Provider boundary / v1
One accounting contract. Provider depth where it matters.AccountingKit keeps one public resource contract while letting each provider preserve the fields and actions that cannot be normalized honestly. Write against the contract once and every provider below answers it; reach for a provider-native action only where the provider does something the portable model cannot express.
Xero
Production API, your own or hosted OAuth, verified webhooks, and lossless writes.
QuickBooks Online
OAuth with realm identity, contacts, invoices, payments, and purchase orders.
FreshBooks
OAuth, identity discovery, typed resources, writes, and verified webhook handling.
Wave
GraphQL adapter with scope-aware capabilities, invoice actions, and signed webhooks.
Sage Intacct
Typed REST coverage for finance resources, dimensions, and safe contact writes.
Provider keys
Send the key in provider when you create a connect session:
| Provider | Key |
|---|---|
| Xero | xero |
| QuickBooks Online | quickbooks_online |
| FreshBooks | freshbooks |
| Wave | wave |
| Sage Intacct | sage_intacct |
GET /v1/providers returns the same list at runtime, with each provider's capability version and
supported countries. Read it rather than hardcoding this table.
What every provider inherits
A provider page describes what is specific to that provider. Everything below is the same everywhere:
- environment-scoped API keys, with organization ownership proved on every query;
- encrypted OAuth credentials, rotating tokens, and encrypted raw provider snapshots;
- per-connection provider budgets and immutable usage metering;
- idempotent writes backed by persisted operation steps, leases, retries, and dead-letter state;
- inbound provider webhooks verified, then treated as hints for an authoritative provider read;
- signed outbound webhooks for operation and resource lifecycle events.
Start with the API reference for the shared endpoints, or open a provider page for its exact resource coverage.