Kaizen ShiftProposal System · Help

Troubleshooting

Common gotchas in roughly the order you'll encounter them.

Login

"Invalid email or password"

"User has no account membership"

You logged in successfully but the system can't find which account you belong to. This usually means the invite step didn't fully complete. Email us — quick fix on our side.

Invoices

"Save the invoice first" disabled buttons

The Send / Pay link / Mark paid buttons need an invoice to exist in the DB first. Hit Save draft at the top of the actions row, then the rest enable.

Public invoice page shows 404

The URL is /i/<invoice-id> — make sure the ID is correct. Common cause: the invoice is still in draft status. We don't show drafts publicly. Either send it (status flips to sent) or use the admin preview path.

Numbers don't add up

Tax math: rates are stored as decimals (5% = 0.05). If you typed 5 in the tax field expecting 5%, it'll calculate 500%. Editor accepts percent values and converts on save — but importer takes raw numbers.

Customer says they didn't get the email

  1. Check /kz-admin/sends — every email we send is logged with the send timestamp
  2. If status is sent but they don't see it: check spam, bounce reports
  3. If status is failed: their address might be wrong. Re-verify and try Gmail draft mode so you can manually fire from Gmail Drafts (different sender reputation)

Integrations

QuickBooks "Token expired"

Click Reconnect in /kz-admin/integrations. We refresh tokens automatically every hour, but if your account hasn't been used for 100+ days, the refresh token expires too.

GoHighLevel contacts not appearing

Stripe webhook missed

Real but rare. Detection: customer says they paid, but invoice still shows sent 5+ minutes later. Fix:

  1. Stripe Dashboard → Developers → Events → find their payment_intent.succeeded
  2. Click Resend — fires the webhook again
  3. Watch invoice flip to paid within 30 seconds

If still mismatched, click Mark paid manually as a backup.

Importing past invoices

Required field error after upload

The CSV importer requires three columns mapped: Invoice #, Client name, Line description. If your CSV calls them different things, adjust the dropdowns in the Map Columns step.

"Skipped" invoices in the result

Default behavior: invoices whose number already exists in your tenant get skipped (so re-uploading the same CSV is safe). Uncheck "Skip duplicates" if you want to overwrite — but consider deleting the old ones first instead.

QuickBooks one-time pull missing some invoices

We pull the last 90 days. For full history, contact us — we can run a deeper backfill manually.

Performance

Admin page loading slowly

Hard refresh (Ctrl+Shift+R / Cmd+Shift+R). If still slow, our diagnostics page at /kz-admin/health shows current service health — anything red explains the slowness.

"Couldn't load — check Vercel function logs"

That message means our backend hit an error on this page. Click ? Need help in the sidebar so we get a ticket; we'll look at the Sentry trace.

Still stuck?

Click ? Need help in the bottom-left of the sidebar inside the admin. Subject + body + priority. Lands directly in our inbox; Scott replies by email, usually within a few hours during business days.