English | हिन्दी | Español | 中文 | Português | اَلْعَرَبِيَّةُ | Français | Deutsch | Nederlands | Italiano | Українська
Django-CRM
Free Open-Source Python CRM with Task Management, Email Marketing, and Analytics
Django CRM is a free customer relationship management software built with Python and Django, designed for teams that need a self-hosted CRM, CRM task manager, mailing CRM, and CRM analytics software in one extensible platform.
Project status: Production / Stable Used in real business environments for many years.
⭐️ If you find this project useful, please star this repository — it helps others discover this free and open-source Python CRM.
Why Django-CRM?
Django CRM combines CRM and task management software, CRM with email integration, and CRM and email marketing software—without proprietary frameworks, vendor lock-in, or SaaS limitations..
For businesses and end users
- Manage leads, deals, contacts, tasks, projects, and email campaigns in one system
- Replace multiple tools with a single collaborative CRM
- Gain insights using built-in CRM analytics software
For developers and system integrators
- 100% Python CRM based on the Django framework
- No proprietary UI layer—everything runs on Django Admin
- Fast customization, predictable upgrades, and simple deployments
- Ideal for self-hosted CRM and on-premise installations
Core CRM Features
| CRM & Sales | Tasks & Collaboration | Email & Marketing |
|---|---|---|
| Lead management | CRM task manager | Mailing CRM |
| Deal tracking & forecasting | Projects & subtasks | CRM and email marketing software |
| Company & contact management | Internal chat | CRM with email integration |
| Role-based access control | Reminders & files | SMTP / IMAP support |
| CRM analytics software | Office memos | Email campaign automation |
🔎 Learn more in the CRM system overview.
Python CRM Built on Django Admin
Django-CRM is a Python CRM that fully leverages the Django Admin interface:
- Adaptive admin templates (desktop & mobile)
- Advanced filtering, sorting, and search
- Object-level permissions (view, add, change, delete)
- Single-page admin documentation
Instead of reinventing a UI framework, Django-CRM focuses on business logic, data integrity, and extensibility—making it ideal for small and mid-size businesses looking for a free customer relationship management software they can host and control.
Main Applications
CRM Application
- Requests (inquiries, incidents)
- Leads and opportunities
- Companies and contact persons
- Deals (sales pipeline)
- Products and payments
- Pricing framework
- Email messages linked to CRM objects
➡️ Over 80 interconnected CRM models for complex sales workflows.
Tasks & Project Management (CRM Task Manager)
A full CRM and task management software module:
- Tasks and subtasks
- Projects as task collections
- Office memos converted into tasks or projects
- Chat, files, reminders, tags
- Individual and team task assignment
Analytics Application (Analytical CRM)
Built-in CRM analytics software for actionable insights:
- Sales funnel analysis
- Income summary reports
- Lead source analytics
- Requests Summary
Mailing CRM & Email Marketing
Mailing CRM includes a complete CRM and email marketing software module:
- Email accounts (SMTP / IMAP)
- Email campaigns and newsletters
- Dynamic templates
- Email signatures
- Contact segmentation
This makes Django-CRM suitable as a CRM with email integration and internal email client.
Email Client & Integration
The built-in email client supports:
- SMTP and IMAP
- Gmail and other providers
- OAuth 2.0 (two-step authentication)
- Automatic email synchronization
All correspondence is:
- Stored in the CRM database
- Linked to requests, leads, and deals
- Organized using a ticket-style mechanism
Additional Functionality
- Web form integration with reCAPTCHA v3
- Automatic geolocation
- VoIP callback support
- Messenger integration (WhatsApp, Viber, etc.)
- Excel import/export
- Context-aware help pages
- Tooltips and inline documentation
Multilingual & Localization Ready
Available interface languages:
ar, cs, de, el, en, es, fr, he, hi, id, it, ja, ko, nl, pl, pt-br, ro, ru, tr, uk, vi, zh-hans
Full support for:
- Translations
- Time zones
- Locale-specific date and time formats
Why Choose This Free CRM?
- ✅ Free customer relationship management software
- ✅ Fully self-hosted
- ✅ Python & Django-based
- ✅ CRM, tasks, email, and analytics in one system
- ✅ Ideal for SMBs, agencies, and internal enterprise tools
- ✅ No SaaS fees or vendor lock-in
- ✅ Comprehensive unit tests covering ~90% of code for reliability
Getting Started
Django-CRM runs like a standard Django project.
For testing and evaluation:
- No external database required
- SQLite works out of the box
📘 Documentation:
REST API
Django-CRM is built around Django Admin, so its main user interface and business logic are centered on admin screens, model management, and server-side workflows rather than on a built-in standalone REST API.
Because Django-CRM is fully based on Django Admin, a full REST API can be added using third-party packages designed for Django Admin. In practice, this means using ready-made REST API solutions for Django models/admin workflows rather than creating a separate custom API layer from scratch.
This approach keeps the core CRM architecture intact while enabling external integrations, mobile apps, or headless clients through a standard API layer provided by external Django packages. Authentication remains based on Django's native auth/session model, and staff-only functionality continues to rely on Django permissions and admin access control.
Compatibility
Django 6.0+
Python 3.12+
MySQL 8.0.11+
PostgreSQL 14+
The CRM version compatible with Django 5.2.11 LTS is available here.
Contributing
Contributions are welcome—features, fixes, and documentation improvements.
📄 See the Contributing Guide.
License
Released under the AGPL-3.0 license. See the LICENSE file.
Support Open Source ❤️
If you found this project useful, please please ⭐ star this repository on GitHub — it helps others find this free Python CRM.
Metadata
Release files for django-crm-admin 3.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| django_crm_admin-3.1.0.tar.gz | 2.8 MB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| django_crm_admin-3.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 5.9 MB
Release files / django_crm_admin-3.1.0.tar.gz
| Download URL | django_crm_admin-3.1.0.tar.gz |
|---|---|
| Size | 2.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3de2268c9364b5f85a3b907261c74f226e5a286dcd45be640eb3e4b2c2eb7bcc
|
|
BLAKE2b-256 checksum How to use checksums |
81c795419f7d593dd7d84921f985429cceb4f4285e9cb6fc2a05e18f0f8775b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / django_crm_admin-3.1.0-py3-none-any.whl
| Download URL | django_crm_admin-3.1.0-py3-none-any.whl |
|---|---|
| Size | 3.1 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fcd2d82d6a2d86af3cd4e2927e0ea481132675715baf43a66f1b01819172846f
|
|
BLAKE2b-256 checksum How to use checksums |
b9c744239d0780b1c849d795a11fa4f5269bf8783d343bbb4191ad00741a1e15
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Security for django-crm-admin 3.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.