How invoices sync to QuickBooks
Once QuickBooks Online is connected, every PoolStamp invoice you send pushes to QBO automatically. Payment events follow.
The sync flow
- You create an invoice in PoolStamp and tap Send
- PoolStamp emails the invoice PDF to the customer (and renders a Pay now button if Stripe is connected)
- Simultaneously, PoolStamp creates the invoice in QBO under the same customer
- If the customer doesn't exist in QBO yet, PoolStamp creates the QBO customer record first
- The QBO invoice is created in Open state
When the customer pays via Stripe, PoolStamp marks the invoice Paid in your PoolStamp dashboard. Automatic Paid-status push into QBO is on the post-launch roadmap — for now, mark the QBO invoice paid manually (or use QBO's bank-feed match against the Stripe deposit).
What QBO sees
- Customer — name, email, phone, billing address copied from PoolStamp
- Invoice line items — one line per visit, with the visit date and a short description
- Tax — pass-through. If you set a tax rate on the PoolStamp invoice, the same rate is applied to the QBO invoice. We use QBO's tax rate IDs you've already configured
What QBO does NOT see
- Visit photos, chemical readings, or notes — those stay in PoolStamp
- Repair items (until they become an invoice)
- Customer language preference (it's a PoolStamp concept, not a QBO field)
- Route plans
Editing in QBO
If you edit the invoice in QBO (e.g., change a description, adjust an amount), the edit stays in QBO and does not flow back to PoolStamp. The sync is one-way. To keep them aligned, edit in PoolStamp instead.
Sync errors
If a push to QBO fails (expired token, validation error, QBO API downtime), PoolStamp records the error on the invoice. The invoices integration page surfaces unsynced PAID/SENT invoices and exposes a Sync invoices now action to retry in bulk. Automatic timed retries are on the post-launch roadmap.
Manual re-sync
From Settings → Integrations → QuickBooks Online, tap Sync invoices now to re-push any invoice that hasn't successfully synced yet.