QuickBooks Online Integration

Connect Keito to QuickBooks Online (QBO) to sync invoices, reconcile payments, map employees, and push time entries — without manual data entry.

Overview

Note: Only one accounting integration can be active at a time. If you’re currently connected to Xero, you’ll need to disconnect before connecting QuickBooks.

The QuickBooks integration allows you to:

  • Push invoices from Keito directly into QuickBooks Online
  • Automatically create QBO customers from your Keito clients
  • Reconcile payments from QuickBooks back into Keito
  • Sync approved time entries as QBO TimeActivity records
  • Map Keito tasks to QBO Products/Services (items)
  • Map Keito team members to QBO employees
  • Optionally create sub-customers for project-level tracking

Requirements

  • A Keito Business plan subscription
  • A QuickBooks Online account with admin permissions
  • Administrator access in Keito

Connecting QuickBooks

  1. Go to Settings > Integrations > QuickBooks.
  2. Click Connect to QuickBooks.
  3. You’ll be redirected to Intuit to authorise the connection.
  4. Grant Keito access to your QuickBooks company.
  5. You’ll be returned to Keito with the connection active.

The connection uses OAuth 2.0 with automatic token refresh, so you won’t need to reconnect regularly.

Configuration

After connecting, configure your sync preferences:

Default Income Account

Select the QBO income account where invoice revenue should be recorded (e.g., “Sales” or “Services Revenue”). This account is used for invoice line items when syncing to QuickBooks.

Deposit Account

Select the bank account where payments are deposited. When payments are synced from QuickBooks, they’ll be routed to this account.

Task-to-Item Mapping

Map your Keito tasks to QuickBooks Products/Services (items). This controls how invoice line items appear in QBO:

  • Navigate to Settings > Integrations > QuickBooks > Item Mapping.
  • Each Keito task can be mapped to a specific QBO service or product item.
  • Unmapped tasks will use the default income account.

Employee Mapping

Map Keito team members to QuickBooks employees. This is required for time entry sync:

  • Navigate to Settings > Integrations > QuickBooks > Employee Mapping.
  • Use Auto-Match to automatically pair members with QBO employees by name.
  • Manually adjust any mappings that weren’t matched automatically.

Sub-customer Support

Optionally map Keito projects as QBO sub-customers under the parent client customer. This is useful for tracking revenue at the project level in QuickBooks.

Syncing Invoices

Sending an Invoice to QuickBooks

  1. Open a finalised invoice in Keito.
  2. Click Copy to QuickBooks.
  3. Keito creates the invoice in QuickBooks with matching:
    • Invoice number
    • Client (as a QBO customer)
    • Line items with descriptions, quantities, and amounts
    • Task-to-item mappings
    • Due date and payment terms

Customer Sync

When you sync an invoice for a client that doesn’t exist in QuickBooks:

  • Keito automatically creates a new QBO customer using your client’s name and details.
  • The QBO customer ID is stored so future invoices for that client are linked correctly.

Sync Status

Each invoice shows its QuickBooks sync status:

StatusMeaning
Not syncedInvoice hasn’t been sent to QuickBooks
PendingSync is in progress
SuccessSuccessfully created in QuickBooks
FailedSync failed — check the error details

If a sync fails, you can view the error message and retry.

Payment Reconciliation

Payments recorded in QuickBooks can be synced back to Keito:

  • Single sync — Sync an individual payment from a specific invoice.
  • Bulk sync — Sync all outstanding payments in one action.
  • Payments are routed to the configured deposit account.
  • Transaction IDs are stored for reconciliation.
  • Partial payments are supported.

Time Entry Sync

Push approved time entries from Keito into QuickBooks as TimeActivity records:

  • Time entries are synced with the associated employee, customer, and billable status.
  • Hourly rates from Keito are included on synced entries.
  • Employee mapping must be configured before time entries can be synced.
  • Only approved time entries are eligible for sync.

Disconnecting

To remove the QuickBooks integration:

  1. Go to Settings > Integrations > QuickBooks.
  2. Click Disconnect.
  3. The OAuth tokens are revoked.
  4. Previously synced data remains in both systems but no further syncing occurs.

Troubleshooting

Token Expired

If the connection shows as expired, click Reconnect to re-authorise. This can happen if the refresh token expires due to extended inactivity.

Sync Failures

Common causes of sync failures:

  • Missing income account — Ensure your default income account is configured.
  • Item mapping incomplete — Verify task-to-item mappings are set for all tasks used on the invoice.
  • QuickBooks permissions — Ensure your QBO user has invoice and payment permissions.
  • Rate limiting — QuickBooks has API rate limits. Retry after a brief wait.

Duplicate Invoices

Keito tracks which invoices have been synced and stores the QuickBooks invoice ID. If you see duplicates, check the sync status before re-syncing.

Time Entry Errors

  • Ensure the team member is mapped to a QBO employee before syncing time entries.
  • Verify the associated customer exists in QuickBooks (sync an invoice first if needed).