Appearance
QuickBooks Online Integration
Hourli.ai integrates with QuickBooks Online (QBO) to sync time entries and import records. This eliminates double data entry and keeps your books accurate.
Connecting QuickBooks
- Go to Manage → Integrations
- Click Connect QuickBooks Online
- Sign in to your Intuit/QuickBooks account
- Authorize Hourli.ai
- You'll be redirected back and the connection status will show as Connected
Sandbox mode
If you want to test with a QuickBooks sandbox company, enable the sandbox toggle before connecting.
What Syncs Automatically
Time Entries → QuickBooks (Outbound)
New and updated time entries are pushed to QuickBooks as TimeActivity records. The sync runs every 5 minutes automatically.
| Hourli.ai Field | QuickBooks Field |
|---|---|
| Date | TxnDate |
| Hours | Hours + Minutes |
| Description | Description |
| Billable | BillableStatus |
| Rate | HourlyRate |
| Employee/Vendor | EmployeeRef / VendorRef |
| Customer | CustomerRef |
| Service | ItemRef |
External IDs required
For entities (employees, vendors), customers, and services to sync correctly, they need matching external IDs linking them to QuickBooks records. Import your records from QuickBooks to set this up automatically.
Sync Statuses
Each time entry has a sync status:
| Status | Description |
|---|---|
| Pending | Queued for the next sync cycle |
| Synced | Successfully created/updated in QuickBooks |
| Failed | Sync attempt failed (up to 5 retries) |
Failed Syncs
If a sync fails, it's retried automatically up to 5 times. You can also:
- Go to the Failed Syncs page in the sidebar
- View the error details
- Click Retry on individual entries or select multiple for bulk retry
Common failure reasons:
- Missing external ID on customer, service, or entity
- QuickBooks entity was deleted or inactivated
- Token expired (reconnect required)
Importing Records from QuickBooks
You can import the following from QuickBooks into Hourli.ai:
Customers, Services, Employees, Vendors
- Go to the respective Manage page (e.g., Manage → Customers)
- Click Import from QuickBooks
- Select the records you want to import
- Click Import
Imported records automatically get their QuickBooks external ID, so future sync works seamlessly.
Time Entries
- Go to Import Time Entries (via Integrations)
- Browse by month
- Filter by customer or employee
- Select entries to import
- Click Import
The import view highlights mismatches: entries referencing QuickBooks entities that don't exist in Hourli.ai yet, so you can import those first.
Integration Dashboard
The Integrations page shows a sync summary:
- Synced: entries successfully in QuickBooks
- Pending: entries waiting for next sync
- Failed: entries that need attention
Use the Sync Now button to trigger an immediate sync instead of waiting for the next 5-minute cycle.
Disconnecting
To disconnect QuickBooks:
- Go to Manage → Integrations
- Click Disconnect
This revokes the OAuth tokens and stops all syncing. Your existing time entries and imported records are preserved.
Troubleshooting
"Token Error" or "Reconnect Required"
QuickBooks OAuth tokens expire after ~100 days if unused. If you see a token error banner:
- Go to Manage → Integrations
- Click Reconnect
- Re-authorize with QuickBooks
Entries Not Syncing
Check that:
- The integration is connected and enabled
- The entity (employee/vendor) has an external ID matching a QuickBooks record
- The customer and service have matching external IDs
- The entry isn't in failed status (check Failed Syncs page)