120 lines
4.8 KiB
Markdown
120 lines
4.8 KiB
Markdown
# 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)
|