Kaizen ShiftProposal System · Help

Connect QuickBooks

Auto-sync paid invoices into your QuickBooks account. One-time setup, ~3 minutes.

What it does

Every time an invoice flips to paid in our system (Stripe webhook, manual Mark Paid, QB Payments — any path), we:

  1. Look up your customer in QB by email — create if missing
  2. Create a corresponding QB invoice with the same line items
  3. Mark the QB invoice as paid

Result: your QB books match your sent invoices automatically. No double entry.

Setup

  1. Go to /kz-admin/integrations
  2. Click Connect QuickBooks
  3. You'll be redirected to Intuit's authorization page
  4. Pick the QB company you want to sync to (most users have one)
  5. Confirm the permissions (we need read + write on Customers, Invoices, Items)
  6. Intuit redirects you back to us — you'll see "QuickBooks connected" with a green pill

That's it. From now on, every paid invoice flows through.

What gets synced

What doesn't get synced (yet)

Token refresh

QB access tokens expire after 1 hour. We auto-refresh in the background using the refresh token (which lasts 100 days). Long story short: connect once, stays connected as long as you use the system.

If you ever see "QB token expired" errors, click Reconnect in /kz-admin/integrations.

Disconnecting

/kz-admin/integrations → click Disconnect under QuickBooks. We delete the access + refresh tokens immediately. Past synced invoices stay in QB; we just stop pushing new ones.

Sandbox vs production

If you're testing, you can connect a QuickBooks sandbox company first. We auto-detect which environment based on what you authorize. Switch to production by clicking Disconnect → Reconnect with a production-tier QB company.

Common issues