LedgerPilot Guides

Connecting QuickBooks Online to LedgerPilot

Connecting QuickBooks Online to LedgerPilot

LedgerPilot integrates deeply with QuickBooks Online to read transactions, write categorizations, and attach receipts directly to transaction records. This guide covers the connection process, permissions, and ongoing sync behavior.

Before You Connect

Make sure you have:

  • A QuickBooks Online Accountant (QBOA) account with admin privileges
  • At least one active client company in your QBOA dashboard
  • LedgerPilot requires the following QBO permissions: Read/Write Accounting, Read/Write Transactions, Read/Write Attachments

Connection Steps

  1. In LedgerPilot, go to Settings > Accounting Connection
  2. Click Connect QuickBooks Online
  3. You will be redirected to Intuit's OAuth consent page
  4. Sign in with your QBOA credentials
  5. Review the permissions and click Connect
  6. LedgerPilot begins the initial sync (this takes 2-5 minutes depending on client count)

What Gets Synced

Inbound (QBO to LedgerPilot):

  • Chart of accounts (all account names, types, and numbers)
  • Bank feed transactions (new transactions from connected bank accounts)
  • Vendor list (names, categories, default accounts)
  • Class and location tracking configuration (if enabled)
  • Existing categorization rules

Outbound (LedgerPilot to QBO):

  • Categorization decisions (account assignment for each transaction)
  • Class and location assignments (if the firm uses tracking)
  • Receipt images attached directly to transactions via the QBO Attachments API
  • New vendor records created when LedgerPilot identifies a new vendor

Sync Frequency

  • Transactions: Checked every 15 minutes during business hours, hourly overnight
  • Chart of accounts: Synced on connection and when changes are detected (real-time webhook)
  • Receipts: Attached within 60 seconds of client upload via magic link
  • Categorizations: Pushed to QBO immediately upon bookkeeper approval or auto-approval

Handling Edge Cases

Multi-currency clients: LedgerPilot reads the currency from QBO and categorizes in the original currency. No conversion is applied.

Voided transactions: If a transaction is voided in QBO after LedgerPilot has categorized it, the categorization is automatically removed on the next sync.

Merged vendors: If two vendors are merged in QBO, LedgerPilot detects the merge and consolidates its vendor-category mappings accordingly.

Disconnecting

To disconnect QBO:

  1. Go to Settings > Accounting Connection
  2. Click Disconnect QuickBooks Online
  3. LedgerPilot stops syncing immediately but retains your historical categorization data

Reconnecting restores the link and resumes syncing from where it left off. No data is lost.

Troubleshooting

"Token expired" error: QBO OAuth tokens expire after 100 days of inactivity. If your firm does not log into LedgerPilot for 100+ days, you may need to reconnect. This is a QBO platform limitation.

Missing transactions: Verify that bank feeds are connected and active in QBO. LedgerPilot reads from QBO's bank feed, not directly from your bank.

Categorization not appearing in QBO: Check that the transaction is in "For Review" status in QBO, not "Excluded." LedgerPilot cannot write to excluded transactions.