# Open-Source CRM Comparison for DRE

**Researched:** Jul 7, 2026 via GitHub API + curl-based page extraction (web tools unavailable)
**Context:** B2B debt collection agency, ~10 staff, ~50-200 active claims, self-hosted on netcup KVM VPS (8C/15G)

---

## Comparison Matrix

| Feature | TwentyCRM | EspoCRM | Krayin CRM |
|---|---|---|---|
| **GitHub Stars** | 52,418 ★ | 3,122 ★ | 23,305 ★ |
| **GitHub Forks** | 7,816 | 895 | 1,517 |
| **Open Issues** | 92 | 59 | 149 |
| **License** | AGPL-3.0+ | AGPL-3.0 | MIT |
| **Stack** | TypeScript/NestJS/React | PHP/SPA | Laravel/Vue.js |
| **Deployment** | Docker Compose | Docker or bare metal | Composer + Docker |
| **Min RAM** | ~2GB | ~1GB | ~3GB |
| **Database** | PostgreSQL + Redis | MySQL/MariaDB/PostgreSQL | MySQL 8.0.32+ |

### API Quality

| Feature | TwentyCRM | EspoCRM | Krayin CRM |
|---|---|---|---|
| **API Type** | GraphQL + REST | REST | REST (Laravel) |
| **Documentation** | docs.twenty.com (excellent) | docs.espocrm.com (good) | devdocs.krayincrm.com (adequate) |
| **Auth** | API Keys, OAuth, SSO | API Keys | API Tokens |
| **Webhooks** | ✅ Built-in | ✅ Built-in | ✅ Via Laravel events |
| **MCP Server** | ✅ Native (AI assistant) | ❌ | ❌ |
| **Custom Objects** | TypeScript code + UI | Entity Builder UI | Custom Attributes UI |

### Business Features

| Feature | TwentyCRM | EspoCRM | Krayin CRM |
|---|---|---|---|
| **Custom Fields** | ✅ No-code + Code | ✅ Entity Builder | ✅ Custom Attributes |
| **Email (IMAP/SMTP)** | ✅ Built-in | ✅ Built-in | ⚠️ Sendgrid-based |
| **Workflows** | ✅ Built-in | ✅ Via formula/BP | ✅ Via Laravel |
| **File Storage** | ✅ Local/S3 | ✅ Local | ✅ Local |

### Self-Hosting Deployment

**TwentyCRM:**
```bash
curl -sL https://raw.githubusercontent.com/twentyhq/twenty/main/packages/twenty-docker/scripts/install.sh | bash
docker compose up -d
```
Access at http://localhost:3000. Requires: Docker, 2GB RAM, PostgreSQL, Redis. Includes backup/restore guide.

**EspoCRM:**
```bash
# Docker
docker pull espocrm/espocrm
docker run -d -p 80:80 espocrm/espocrm
```
Or manual install: PHP 8.3+, MySQL 8.0+/MariaDB 10.3+/PostgreSQL 15+, web server. Installation script available at docs.espocrm.com.

**Krayin CRM:**
```bash
composer create-project krayin/laravel-crm
php artisan krayin-crm:install
```
Requires: PHP 8.2+, Composer, MySQL 8.0.32+, 3GB RAM, web server.

### Pricing

| Platform | Self-Hosted | Cloud |
|---|---|---|
| **TwentyCRM** | Free (AGPL) | Pro $9/user/mo, Org $19/user/mo |
| **EspoCRM** | Free (AGPL) | ~$15-69/mo range |
| **Krayin CRM** | Free (MIT) | Cloud hosting available |

---

## Eliminated Candidates

### SuiteCRM (5,562 ★)
- Legacy SugarCRM fork, PHP/MySQL
- **1,414 open issues** — development velocity concerns
- REST API V8 documented but outdated architecture
- Not recommended for new projects

### ERPNext CRM Module (36,605 ★)
- Full ERP system with CRM module (Python/Frappe)
- Heavy deployment (Frappe Bench, MariaDB)
- Overkill for debt collection — massive overhead for CRM-only use
- Consider only if DRE later needs accounting/ERP

### Monica CRM (24,841 ★)
- **Personal** CRM for friends/family relationships
- No business workflow features (claims, case stages, pipelines)
- Disqualified — wrong category entirely

---

## DRE Use-Case Assessment

### Claim/Stage Tracking Requirements

**Needed:** Debtor info (name, address, SSN/TIN, amount owed), claim lifecycle stages (new → verified → sent demand → negotiated → in litigation → paid/closed), task assignments, notes/timeline, document attachments.

**TwentyCRM solution:** Define a `Claim` custom object with pipeline stages, a `Debtor` object with custom fields, linked via relationship. Everything version-controlled as TypeScript code in the Apps framework. Built-in email logging per claim.

**EspoCRM solution:** Create a custom `Claim` entity type, custom `Debtor` entity, define relationships. Entity Builder UI is mature and well-documented. Email integration per entity. Formula engine for calculated fields.

**Krayin CRM solution:** Custom attributes on lead/deal entities. Modular package system for extensions. Less mature entity system than EspoCRM or TwentyCRM.

### Data Sources

All data sourced from:
- GitHub API (`/repos/{owner}/{repo}`) — stars, forks, issues, license, topics, created/pushed dates, language
- Project README files (raw.githubusercontent.com) — deployment docs, features, requirements
- Project documentation sites — API docs, self-hosting guides
- Pricing pages — dollar amounts via grep, plan names from HTML
- Docker Hub API (`/v2/repositories/{owner}/{image}/`) — pull counts, image sizes

Referenced files:
- Full conversation analysis: `/root/crm-comparison-for-dre.md`
- This reference: `references/open-source-crm-comparison.md` (api-integration-research skill)
