Accounting integrations
Current availability and implemented capability coverage across AccountingKit providers.
Provider boundary / v1
One accounting contract. Provider depth where it matters.AccountingKit keeps one public resource contract while allowing each provider adapter to preserve the fields and actions that cannot be normalized honestly. Availability is deliberately stricter than code completion: an adapter becomes public only after credentials, persistence, tenant resolution, webhooks, rate budgets, and live-provider acceptance work together.
Xero
Production API, hosted or customer-owned OAuth, verified webhooks, and lossless writes.
QuickBooks Online
Executable OAuth and resource adapters, gated on shared persistence and live sandbox acceptance.
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 foundation for finance resources, dimensions, and safe contact writes.
What the labels mean
| Label | Contract |
|---|---|
| Available | Accepted by POST /v1/connect-sessions and supported by the production runtime. |
| Coming soon | Named in provider discovery, but rejected by connect-session creation until activation gates pass. |
| Foundation | Executable provider package exists; it is not registered or advertised by the public API. |
| Private preview | Foundation intended for controlled tenant validation before any public rollout. |
The live source of truth is GET /v1/providers. Never infer availability from a provider page or
send a provider key that the catalog reports as unavailable.
Shared behavior
Every activated adapter inherits the same platform guarantees:
- environment-scoped API keys and organization ownership proved in SQL;
- encrypted OAuth credentials, rotating tokens, and encrypted raw provider snapshots;
- immutable usage metering and per-connection provider budgets;
- idempotent mutations backed by persisted operation steps, leases, retries, and dead-letter state;
- verified inbound webhooks treated as reconciliation hints, followed by authoritative provider reads;
- signed customer webhooks for durable operation and resource lifecycle events.
Start with the API reference for the shared endpoints or open a provider page for its exact resource and rollout boundary.