Accounting Integrations
Sync invoices, customers, and items with QuickBooks, Xero, FreshBooks, or Wave
On this page
Overview
BlueClerk integrates with QuickBooks, Xero, FreshBooks, and Wave to keep your books in sync automatically. Connect your accounting software once, then invoices, customers, and items sync automatically - no double entry required. BlueClerk monitors sync health and alerts you with notifications when sync failures occur, helping you identify and fix connection issues before they impact your books.
NEW: Resync Button for Already-Synced Invoices - The sync button now remains visible on SENT invoices even after they've been synced to QuickBooks. When an invoice already has a QuickBooks ID, the button label changes to "Resync to QuickBooks" and pushing it syncs BOTH the invoice data AND any unsynced payments recorded after the initial sync. This fixes the common workflow where you sync an invoice, then record a payment later - the payment now syncs automatically when you click Resync.
NEW: DB-Level Lock for Token Refresh - QuickBooks token refresh now uses a database-level lock to prevent race conditions when multiple serverless functions try to refresh the same token simultaneously. This eliminates the "invalid_grant" errors and security revocations that caused recurring disconnects.
NEW: Idempotent Payment Sync - When you record a payment or mark an invoice paid, BlueClerk now tracks which individual payments have been synced to QuickBooks/Xero/FreshBooks. If you click "Sync to QuickBooks" multiple times or automated syncs retry, duplicate payments are no longer created. Each Payment row gains a quickbooksPaymentId, xeroPaymentId, or freshbooksPaymentId field that's checked before pushing to your accounting provider.
NEW: Payment Sync on Manual Resync - When you click "Sync to QuickBooks" on an invoice, BlueClerk now pushes BOTH the invoice AND any recorded payments in one operation. Previously, the manual sync button only pushed invoice data, leaving payments unsynced even when the invoice showed as paid in BlueClerk. Now, if the invoice has a QuickBooks ID and has payments recorded, the payment sync fires automatically after the invoice sync completes.
NEW: Real Payment Sum Instead of Stale amountPaid - Payment sync now calculates the total payment amount by summing actual payment records (SUM(payments.amount)) instead of reading invoice.amountPaid. This fixes cases where amountPaid was stale (like INV-0047 showing $0 even though a $350 payment existed) due to recalcInvoice misfires or race conditions. QuickBooks always gets the true paid amount now.
NEW: Deduplicated Sync Notifications - When a sync fails, BlueClerk checks if you already have an unread notification for that specific entity before creating a new one. This prevents notification badge counts from inflating when the same invoice or payment fails to sync multiple times.
NEW: Sync Status Column - Invoice list rows now show a green checkmark (synced) or yellow dot (not synced) when your company has at least one synced invoice. This gives you instant visibility into which invoices have been sent to your accounting software.
NEW: Safe sync protections prevent duplicate invoices and unmapped items from corrupting your books. Duplicate syncs are debounced automatically, and items without income accounts are skipped with clear error messages.
NEW: Weekly Auto-Sync - Every Sunday at 6am UTC, BlueClerk automatically syncs customers, items, and invoices from your connected accounting provider. No manual action needed - your data stays current automatically.
NEW: Deterministic Customer Classification - After connecting QuickBooks or Xero, import all your customers at once with automatic classification based on your accounting data - no AI guessing. BlueClerk uses simple, deterministic rules to classify customers:
- Homeowner: Individual names with residential addresses (single-family homes, condos, apartments)
- Business: Companies with commercial addresses, multiple locations, or company-type suffixes (LLC, Inc, Corp)
- Builder: Construction/homebuilding companies identified by business type or industry keywords
Connecting Your Accounting Software
QuickBooks Online
- Go to Settings > Integrations
- Click "Connect QuickBooks"
- Sign in to QuickBooks and authorize BlueClerk
- Choose what to sync: Invoices, Customers, Items
- Map your accounts (income accounts for items)
Xero
- Go to Settings > Integrations
- Click "Connect Xero"
- Sign in to Xero and authorize BlueClerk
- Choose what to sync: Invoices, Customers, Items
- Map your accounts (revenue accounts for items)
FreshBooks
- Go to Settings > Integrations
- Click "Connect FreshBooks"
- Sign in to FreshBooks and authorize BlueClerk
- Choose what to sync: Invoices, Customers, Items
Wave
- Go to Settings > Integrations
- Click "Connect Wave"
- Sign in to Wave and authorize BlueClerk
- Choose what to sync: Invoices, Customers
What Syncs Automatically
Invoices
When you mark an invoice as SENT:
- Invoice is created in your accounting software with all line items
- Customer is linked automatically
- Items are linked to income/revenue accounts you've mapped
- Invoice number matches BlueClerk's invoice number
- Payments sync when you record them in BlueClerk
Payments
When you record a payment on an invoice:
- Payment is created in your accounting software
- Applied to the correct invoice automatically
- Payment method recorded (cash, check, card, etc.)
- Duplicate payments prevented - each payment syncs only once
Customers
- New customers in BlueClerk sync to your accounting software
- Customer updates (address, email, phone) sync automatically
- Imports from accounting software create BlueClerk customer records
Items
- New items in BlueClerk sync to your accounting software
- Price updates sync when you change item prices
- Items from accounting software can be imported to BlueClerk
Resyncing Invoices and Payments
When to Resync
Resync an invoice when:
- You've recorded payments after the initial sync
- Invoice details have changed (line items, amounts, dates)
- A sync failed previously and you want to retry
How to Resync
- Open the invoice you want to resync
- Click "Resync to QuickBooks" (or Xero/FreshBooks)
- BlueClerk pushes:
- Updated invoice data to your accounting software
- Any unsynced payments recorded in BlueClerk
- Both invoice and payments are now in sync
Troubleshooting
Sync Failures
If an invoice or payment fails to sync:
- Check the notification - BlueClerk sends an alert with the error details
- Common issues:
- Unmapped items - Go to Settings > Account Mapping and assign income accounts
- Duplicate invoice - The invoice number already exists in your accounting software
- Expired token - Reconnect your accounting integration in Settings > Integrations
- Missing customer - Sync the customer first from Settings > Integrations
Viewing Sync Status
- Invoice list shows sync status icons (green checkmark = synced, yellow dot = not synced)
- Invoice detail page shows QuickBooks/Xero/FreshBooks ID when synced
- Notifications alert you to sync failures immediately
Disconnecting
To disconnect your accounting integration:
- Go to Settings > Integrations
- Click your connected provider
- Click "Disconnect"
- Confirm - future invoices and payments won't sync until you reconnect
Note: Disconnecting does NOT delete data already synced to your accounting software. It only stops future syncs.