Sutra CRM
Features

Open-source CRM with customisation as a first-class concern.

Sutra ships ten capabilities most proprietary CRMs gate behind upgrade tiers — custom entities, relationships, duplicate detection, access control, inline edit, audit. All in the free tier, all self-hosted, all under GPL v3.

Custom entities

Build your own record types from the admin UI. Fields, layouts, picklists — no code, no plugin install.

Global Pick Lists

One picklist, used everywhere. Cascade Country → State. Deactivate values without losing history.

Relationships

One-to-Many, Many-to-Many, and Child-to-Parent as first-class concepts. Sub-tabs and counts auto-generate on parent records.

Duplicate detection

Per-entity rules with per-field operators (Equals, Starts with, Contains, Ends with). Warn or block on save, with exemption for false positives.

Inline edit

Edit any card on a record without leaving the page. Per-card save, concurrent-edit guard, group-scoped audit entry.

Access control

Role plus team voter sits in front of every read and write. Per-action, per-field guards. Counts respect the same policy.

Audit + restore

Append-only event stream on every record. Field-level diff, non-destructive restore, 21 CFR Part 11 foundation in place.

Filter builder

Visual filter on every list view. Save views per user, share them across the team. Filter evaluation stays server-side.

Plugin SDK

Composer + ZIP distribution. The bundled CRM module is just the first plugin. MIT-licensed SDK so you can sell what you build.

Self-hosted

Plesk shared hosting, Docker, or Kubernetes. Same codebase, no telemetry. Your data on your infrastructure.

See it in action

Dense, information-rich records. No bloat.

Dashboard — dense by design

KPI tiles for every entity, recent activity across all records, today’s calendar. Built for users who run their day from the dashboard, not from a slow tab-switching dance. Module nav stays a single keystroke away on every page.

demo.sutracrm.net
S Sutra CRM Search records, run actions… SA SutraCRM Admin
Dashboard Accounts Contacts Leads Opportunities Cases Calendar Email Reports
Dashboard Welcome back, SutraCRM Admin · last refresh just now
Overview My work Pipeline Recent Reports
Accounts130 new this week
Contacts300 new this week
Leads180 unconverted
Opportunities23$0 pipeline
Open cases80 overdue SLA
Tasks due00 overdue
My open items 0 of 0
Queue clear — nothing assigned to you
Recent activity
Migration 0012_duplicate_rules applied · 86ms2h ago
Acme Atlas Industries — Industry updated3h ago
Lead “Bruce Wayne” created5h ago
Today · May 27, 2026
No meetings scheduled
System healthy · MySQL 10.11 · PHP 8.4.21 · Sutra CRM v1.0-beta

Dashboard — KPIs, my open work, recent activity across all records, today’s calendar.

List views with filter builder and saved views

Sortable columns, type badges, humanised timestamps. The filter builder lives on every list view: build a query visually, save it as a personal view, share it with the team. Search is full-text across the indexed fields you configure per entity. Schema changes in the admin UI flow through to columns without redeploying.

demo.sutracrm.net/accounts
SSutra CRMSearch records…SA Admin
Dashboard Accounts Contacts Leads Opportunities Cases
Accounts 13 total · sorted by modified_at desc Export New account
All Customers Partners My accounts Recently added
NameTypeIndustryWebsiteRevenueModified
Acme Atlas IndustriesCustomerSoftwareacmeatlas.example.com$4,250,0002h ago
Acme CorporationCustomerManufacturingacme.com$14,200,0003d ago
Globex IndustriesCustomerIndustrialglobex.io$8,400,0006d ago
Wayne EnterprisesPartnerConglomeratewayne.enterprises$1,200,000,000May 11
Stark IndustriesCustomerTechnologystarkindustries.com$420,000,000May 8
Cyberdyne SystemsPartnerDefensecyberdyne.com$67,500,000Apr 26
Tyrell CorporationVendorBiotechtyrellcorp.com$290,000,000Apr 20
System healthy · Sutra CRM v1.0-beta

Accounts list — filter chips, sortable columns, type badges, currency formatting, humanised timestamps.

Record detail with inline edit, sub-tabs, and audit

Schema-driven layout: cards are derived from field groups, not hand-authored. Edit any card in place without losing the page; a concurrent-edit guard catches the race when two people open the same record. Sub-tabs (Contacts, Opportunities, Cases) auto-generate from Relationships and respect access control on both counts and reads. The right rail shows System metadata, the audit stream, and field-level diffs from any prior save.

demo.sutracrm.net/accounts/01KSHA4JVZ…
SSutra CRMSearch records…SA Admin
Dashboard Accounts Contacts Leads Opportunities Cases
Accounts › Acme Atlas Industries Back Follow
General Address Activity Contacts 4 Opportunities 2 Cases 1 Files
General Edit
TypeCustomer
Annual revenue$4,250,000.00
IndustrySoftware
Websitehttps://acmeatlas.example.com
Modified2h ago
Created2h ago
Primary address Edit
Street100 Atlas Way, Suite 200
CityChicago
StateIllinois
CountryUnited States
System Edit
Record ID01KSHA4JVZ5MWS2Q9F8W6QP1JQ
OwnerSutraCRM Admin
Modified2h ago
Version2
Activity
Industry — Information Technology → Software2h ago
Annual revenue updated5h ago
Record created by SutraCRM Admin2d ago
System healthy · Sutra CRM v1.0-beta

Account detail — schema-driven cards, inline edit per card with concurrent-edit guard, live activity stream with field-level diff, sub-tab counts gated by access control.

Forms with duplicate detection and validation

Grouped sections derived from the same field schema as the detail page. Duplicate rules fire as the user types: warn on save, block on save, or pair-exempt for known false positives. Picklists cascade automatically (Country → State). Inline validation in the browser, server-side enforcement on submit, audit entry on every successful save.

demo.sutracrm.net/accounts/new
SSutra CRMSearch records…SA Admin
Dashboard Accounts Contacts Leads Opportunities Cases
Accounts › New account Cancel Save
Possible duplicate — “Acme Atlas” matches an existing account by Name starts with. Review match or mark as not a duplicate.
Identity
Account name *Acme Atlas Industries
Type *Customer
IndustrySoftware
Websitehttps://acmeatlas.example.com
Annual revenue USD4250000.00
DescriptionTop customer in the Midwest region. Renewal due Q3.
Primary address
Street100 Atlas Way, Suite 200
CityChicago
CountryUnited States
StateIllinois
Saving as
SutraCRM Admin
Owner defaults to creator. Change via Access controls.
System healthy · Sutra CRM v1.0-beta

New account form — live duplicate detection banner, cascading Country → State picklists, grouped sections matching the detail page.

Foundations

The things you can’t put in a screenshot.

Access control with team scope

An ACL voter sits in front of every read and every write. Roles set the action policy; teams set the row scope. Queries are restricted at the source, so a user without access never sees the record — including in sub-tab counts.

Audit and non-destructive restore

Every save writes an event to the stream. Field-level diff stays queryable; restore to a prior version replays values without losing history. Same plumbing supports 21 CFR Part 11 sign-offs in the planned compliance module.

Plugin SDK

The bundled CRM module is the first plugin built on the SDK, not a hardcoded core. Composer install or ZIP drop-in. MIT-licensed SDK so you can sell what you ship.

Self-host on your stack

Plesk shared hosting boots in minutes. Docker for staging. Kubernetes for production scale. Same codebase across tiers, no SaaS dependency, no phone-home.

Open source

GPL v3 on the kernel, MIT on the SDK. Fork it, modify it, ship plugins, sell them. Public repository opens at v1.0 GA — private during beta so we can iterate without shipping broken state in public.

Zero telemetry

We don’t track installations, users, or records. The only signals we get are the ones you post on the community forum or send through the contact form.