ADR-048 — Subscriber onboarding

Architecture decision record — status: Accepted.

Source: docs/adr/ADR-048-organization-onboarding.md

ADR-048: Subscriber onboarding

Estado

Accepted — 2026-08-23
Amendment 2026-09-08: onboarding = Subscriber self-serve + Plan, no Organization + CSV/mailbox. Filename kept (organization-onboarding) for stable links.

Contexto

El primer uso SaaS no es “conectar QBO” ni “importar facturas”. Es: crear cuenta, (cuando billing esté vivo) elegir Plan, entrar al scanner / watchlist.

La fábrica copió signup → Organization + User OWNER + CTA CSV/mailbox. Eso es Cashlane. Rechazado para IVPrior.

Decisión

V1 happy path:

Sign up (email/password)
  → Subscriber
  → picker de Plan (si billing live; si no, cuenta abierta según signup.open)
  → app del producto (watchlist / scanner vacío)
  1. Self-serve signup abierto en local/staging; production puede ir detrás de invite-only (signup.open flag) durante Fase 0.
  2. Un signup = un Subscriber. No wizard de 12 pasos. No create-org. No invite de “compañeros” en V1.
  3. Verificar email antes de features de pago / envío (el flag puede permitir explorar el scanner en local sin verify).
  4. Demo/seed de cuentas: ADR-052 — no se usa en production.
  5. No CTA de import CSV, mailbox, ni Connect Stripe de marketplace.

Consecuencias

  • Scaffolding de auth de fábrica (Organization + OWNER) se interpreta como Subscriber único hasta remap.
  • Platform onboarding (tours de staff) es otro flujo; no mezclar.
  • Briefs de dominio SaaS citan este ADR + DOC-002.