SaaS (multi-tenant) Schema
A multi-tenant SaaS schema — organizations with members, per-org projects, and plan-based subscriptions with invoices — as an interactive ER diagram.
Open this schema in the editor → All examplesInteractive diagram
Drag to pan, scroll to zoom. Open it in the full editor to edit, rearrange and export.
About this schema
Each organization (tenant) has users joined through memberships (with roles), owns projects, and subscribes to a plan; invoices belong to a subscription.
Schema (SQL)
CREATE TABLE organizations ( id SERIAL PRIMARY KEY, name VARCHAR(120) NOT NULL, slug VARCHAR(120) UNIQUE, created_at TIMESTAMP ); CREATE TABLE users ( id SERIAL PRIMARY KEY, email VARCHAR(255) UNIQUE NOT NULL, name VARCHAR(120) ); CREATE TABLE memberships ( id SERIAL PRIMARY KEY, organization_id INT NOT NULL REFERENCES organizations(id), user_id INT NOT NULL REFERENCES users(id), role VARCHAR(20) ); CREATE TABLE projects ( id SERIAL PRIMARY KEY, organization_id INT NOT NULL REFERENCES organizations(id), name VARCHAR(160), archived BOOLEAN ); CREATE TABLE plans ( id SERIAL PRIMARY KEY, name VARCHAR(60), price_cents INT, seats INT ); CREATE TABLE subscriptions ( id SERIAL PRIMARY KEY, organization_id INT NOT NULL REFERENCES organizations(id), plan_id INT NOT NULL REFERENCES plans(id), status VARCHAR(20), renews_at TIMESTAMP ); CREATE TABLE invoices ( id SERIAL PRIMARY KEY, subscription_id INT NOT NULL REFERENCES subscriptions(id), amount_cents INT, issued_at TIMESTAMP, paid BOOLEAN );
Open in the editor → to export it as PNG, SVG, Mermaid or DBML.