Skip to main content

Accounting integrations

Workspace owners can connect one Xero organisation and one QuickBooks Online company. After a connection is active, owners and reviewers can publish supported invoices from SnapIt to the connected accounting system.

Supported providers

QuickBooks publishes supplier payables as Bill and Vendor records. QuickBooks does not use Xero-style draft status; its records are posted according to the provider workflow.

Connect a provider

1

Open Integrations

Go to Settings → Integrations. Only workspace owners can connect or disconnect accounting providers.
2

Choose a provider

Select Connect Xero or Connect QuickBooks, then complete the provider’s consent screen in your browser.
3

Confirm the connection

Return to SnapIt and open Manage for the connection. A new connection starts as Waiting for setup while SnapIt copies the provider’s ledger data.
4

Configure and activate

As the workspace owner, review the per-document-type settings, defaults, tax behavior, required tracking, and automatic publishing options. Activate the connection when the settings are ready.
Connect only the organisation or company that belongs to this workspace. Xero selects the first accessible organisation returned by its OAuth flow; QuickBooks identifies the company with its returned company ID.

Publish an invoice

  1. Open a completed invoice.
  2. Review and correct the extracted fields and accounting coding.
  3. Select Publish in the accounting integration panel.
  4. Choose the active connection.
  5. Wait for the reference to move through publishing to published, or inspect publish_failed / update_failed.
Publishing is asynchronous. SnapIt queues the work, resolves the provider contact or customer, creates or updates the accounting record, and uploads all invoice files oldest first when available. The attachment state is tracked separately as none, pending, attached, or failed; failed attachments can be retried without creating another accounting record. The invoice page may stop polling after a minute while retries continue in the background; revisit the invoice to see the final status.

Re-publishing changes

When accounting fields change after a successful publish, SnapIt marks the external reference stale. Publishing again updates the existing provider record instead of creating a duplicate. Provider records that are already authorised, paid, locked, or otherwise version-conflicted may reject updates. Resolve those records in the provider before trying again.

Ledger reference data and coding

The Manage page provides read-only tabs for:
  • Accounts
  • Tax rates
  • Currencies
  • Contacts
  • Items
  • Tracking categories and options
SnapIt stores the latest provider snapshot locally. Search, pagination, and an include inactive option are available where supported. Rows no longer returned by the provider are retained as inactive so existing invoice references remain understandable. Owners can use Sync now to request a refresh; a nightly refresh also runs automatically. Workspace owners can configure vendor coding rules from the connection’s Rules tab. Rules can supply accounts, tax rates, items, and tracking options for matching vendors. Review the coding shown on an invoice before publishing. Ledger reference data is not accounting transaction synchronization. Provider invoices, bills, payments, and status changes are not imported back into SnapIt.

Disconnecting

Disconnecting revokes the provider authorization when possible and stops future publishing and ledger refreshes. Existing records already created in Xero or QuickBooks remain there. SnapIt keeps the local connection history and references, but you must reconnect before publishing again.
For provider setup, OAuth callback configuration, encryption keys, retries, and troubleshooting, operators should use the repository’s docs/integrations.md runbook.