Ledger Copilot · Operations
Deployment runbook.
From prototype to a live, durable deployment. Every integration is a wired adapter that activates with credentials — deployment is configuration, not code. Check /status any time to see what's live.
Create a Postgres DB (Vercel Postgres, Neon, or Supabase), set DATABASE_URL in Vercel → Settings → Environment Variables, and redeploy. The documents table auto-creates on first connect. /status will show Postgres (durable).
Today the user scope is client-supplied (fine for one operator). Before onboarding multiple tenants, add an auth provider (Auth.js, Clerk, Supabase Auth) and derive the store tenant from the verified session in /api/store/[collection]. Every store already routes through that one place.
Set STRIPE_SECRET_KEY to collect cards online; add the webhook at /api/webhooks/stripe and copy its secret to STRIPE_WEBHOOK_SECRET so paid checkouts auto-update invoices.
Onboard TaxBandits (e-file), Plaid (bank feeds), QuickBooks (sync), Anthropic (AI) as needed — each independent. After setting vars in Vercel, redeploy and confirm on /status.
Off-platform applications with lead time: IRS TCC + SSA BSO (or a TaxBandits onboarding) and Form 8655 + EFTPS for payroll-tax e-file; a verified Stripe account; and for PHAs, the HUD/REAC FASS-PH path (audited FDS with an IPA "Agree", due 9 months after fiscal year-end). The app already builds + validates these artifacts.
Activation seams
Set in Vercel → Project → Settings → Environment Variables, then redeploy.
| Capability | Env vars | Where | Effect |
|---|---|---|---|
| Online payments | STRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRET | Stripe Dashboard ↗ | Hosted checkout links on invoices; webhook auto-marks paid. Start with sk_test_… |
| Payroll-tax e-file | TAXBANDITS_CLIENT_ID/_SECRET/_USER_TOKEN, TAXBANDITS_SANDBOX=false | TaxBandits (holds the IRS TCC) ↗ | 941/940/W-2/1099 transmit to IRS/SSA; dry-run otherwise. |
| Bank feeds | PLAID_CLIENT_ID, PLAID_SECRET, PLAID_ENVIRONMENT | Plaid Dashboard ↗ | Live transaction pulls for categorization + reconciliation. |
| QuickBooks sync | QBO_CLIENT_ID/_SECRET, QBO_ENVIRONMENT, QBO_REDIRECT_URI | Intuit Developer ↗ | OAuth sync with QuickBooks Online. |
| AI copilot | ANTHROPIC_API_KEY, ANTHROPIC_MODEL | Anthropic Console ↗ | LLM categorization, Q&A, receipt vision (heuristics otherwise). |
DEPLOYMENT.md, live in the repository. Verify any deploy with GET /api/health (machine-readable) or /status (rendered).