Resolve Customer Account question; add commercial subscription research

Record B2B SaaS subscriber tenancy and Stripe billing source notes. Resolve
the Customer Account open question: reject it as canonical, add Commercial
Record and Commercial Relationship to the Record and relationship layers, and
document Subscriber as a convenience term only.
This commit is contained in:
2026-06-21 20:35:36 +02:00
parent 1c1b5c9bc6
commit 3ccf841095
11 changed files with 345 additions and 26 deletions

View File

@@ -20,15 +20,35 @@ explicit Organization + Tenant + Realm mapping in downstream adapters.
### Customer Account as canonical concept
**Status:** Open — leaning toward Organization + Customer role.
**Status:** Resolved — do not add Customer Account; add Commercial Record instead.
ZITADEL and Keycloak model customer-like boundaries as Organization with tenant
semantics, not a separate account type. No corpus source defines Customer
Account as distinct from Organization actor + Customer relationship role +
Tenant scope.
**Decision:** Customer Account is not a canonical concept. The term overloads
login Account, billing customer (Stripe), CRM account (Salesforce), and B2B
subscriber organization (Auth0/Stytch).
**Decision needed:** Whether billing/commercial account records warrant a
downstream-only model or a canonical Customer Account specialization.
**Canonical pattern:**
| Source label | Canonical mapping |
| --- | --- |
| B2B subscriber / customer org (Auth0, Stytch, ZITADEL) | Organization actor + Customer Relationship role + Tenant Scope |
| Login user / member | Account + Membership Relationship |
| Stripe Customer / CRM Account | Commercial Record (Record layer) |
| Individual subscriber (no company) | Natural Person + Tenant Scope + Commercial Record |
**New concepts added (not participation roots):**
- **Commercial Record** — Record layer entity for billing/commerce system records.
- **Commercial Relationship** — typed relationship linking vendor and customer
actors, optionally referencing a Commercial Record.
**Convenience term only:** Subscriber (map like User — resolve before use).
**Citations:**
- `research/commercial-subscription/b2b-saas-subscriber-tenancy.md`
- `research/commercial-subscription/stripe-customer-billing.md`
- `research/identity-provisioning/keycloak-organizations.md`
- `research/identity-provisioning/zitadel-organizations-projects.md`
### Team modeling