Connecting QuickBooks Online
What syncs in which direction, how fees reconcile against payouts, and what to do when the sync pauses itself.
Updated September 21, 2026
Browse all guides
If your accountant lives in QuickBooks Online, connect it once and your PoolChecker money flows over on its own, in the shape an accountant expects.
Connect
Settings, Integrations, QuickBooks Online: tap Connect QuickBooks, sign in with your Intuit account, and approve. Only the company owner can connect.
Connecting copies nothing by itself. From then on, paid invoices post to QuickBooks automatically, and each one brings its customer along if QuickBooks does not have them yet. Other customers move only when you run a sync (below). Disconnecting later is one tap and never deletes anything on either side.
What syncs, and in which direction
- Customers: both ways, when a sync runs.
- Full Sync first sends every PoolChecker customer to QuickBooks (prospects and inactive customers go over marked inactive). Customers already linked, and QuickBooks customers with exactly the same name, are updated with PoolChecker's details, including the billing address. So if you changed anyone in QuickBooks, tap Sync Now before Full Sync, or those changes are overwritten. Anyone else is created in QuickBooks. Then it brings in up to 1,000 active QuickBooks customers that PoolChecker does not have yet, with their billing address and no pools. Someone here with the same first and last name is linked instead of added, and takes the QuickBooks billing address.
- Sync Now brings in QuickBooks customers added or changed since the last sync that finished without errors (on a brand-new connection, the last 24 hours). For a linked customer it copies QuickBooks' name, email, phone, and billing address over what is here, so a blank email or phone in QuickBooks clears it here too. Nothing does this on a schedule, so tap Sync Now after editing customers in QuickBooks.
- A customer's address here is their billing address. Each pool keeps its own address, which is what routes use, and it never syncs.
- Importing your customer list from a CSV? Do it before your first Full Sync. The import recognizes existing customers by name and address, so a customer who came in from QuickBooks with a different billing address would be added a second time.
- Invoices and payments: into QuickBooks. When a PoolChecker invoice is paid, the invoice, its line items, its tax, and the payment post to QBO automatically. Recurring monthly charges arrive the same way, because every recurring charge creates a real invoice first.
- Processing fees: into QuickBooks as expenses. The gross payment lands in a "Stripe Clearing" account and the card fees post out of it to "Merchant Fees" (both created for you), so the clearing account nets to what actually hits your bank. Your accountant will recognize this pattern immediately, and payout reconciliation stops being a monthly puzzle.
- Tax is carried, not recalculated, so the QBO invoice total always matches what the customer actually paid.
Keeping an eye on it
The QuickBooks panel in Settings, Integrations shows sync history (every run, with per-record results) and entity mappings (which PoolChecker record links to which QBO record, with manual linking for the odd mismatch). If a customer shows as failed there, the usual cause is an inactive QuickBooks customer with the same name: make it active or rename it, then sync again.
When it pauses itself
After several consecutive failures (usually an expired Intuit session or a permissions change), the connection deliberately stops trying rather than hammering away: you will see it marked inactive with the errors listed. Reconnect from the same settings screen and it resumes.
Two habits
- Let PoolChecker be where money starts. Create invoices here, let them flow to QBO; running both directions by hand recreates the double-entry problem the sync exists to kill.
- After the first week connected, have your accountant glance at the clearing account once. If it reconciles (it should), you never think about this again.