A comprehensive ERP system designed for multi-tenant business management with hierarchical business lines, professional invoicing, and complete data portability.
- Complete tenant isolation using PostgreSQL schemas
- Secure multi-client management
- Independent data and configurations per tenant
- Advanced client management with soft-delete protection
- Service categorization (PERSONAL/BUSINESS)
- Automated payment tracking and remainder management
- Client service lifecycle management
- Up to 3-level business structure
- Dynamic business line management
- Revenue and client analytics per business line
- Flexible business organization
- Complete invoice generation with PDF support
- Multi-company invoice management
- Professional invoice templates
- Invoice item management with tax calculations
- Categorized expense tracking
- Monthly and yearly expense analytics
- Receipt attachment support
- Business expense reporting
- Complete data portability system with 4 export formats:
- CSV: Professional tabular format with section headers
- Excel: Multi-sheet workbooks with professional styling
- ZIP: Individual CSV files per data type
- JSON: Structured data for API integration
- Tenant-level data export with metadata
- Professional export interface integrated in navigation
- Real-time business metrics
- Revenue and expense analytics
- Client and service overview
- Business performance indicators
apps/
βββ authentication/ # User authentication and management
βββ tenants/ # Multi-tenant configuration and models
βββ core/ # Core utilities and export system
β βββ exporters/ # Data export engines (CSV, Excel, ZIP, JSON)
β βββ services/ # Export registry and serialization
β βββ management/ # Production management commands
βββ accounting/ # Client and service management
βββ business_lines/ # Hierarchical business structure
βββ invoicing/ # Professional invoicing system
βββ expenses/ # Expense tracking and categorization
βββ dashboard/ # Analytics and reporting dashboard
- Backend: Django 4.2 LTS (Long Term Support)
- Database: PostgreSQL 12+ with schema-based multi-tenancy
- Multi-tenancy: django-tenants 3.8.0
- Export System: openpyxl 3.1.2 for Excel generation
- PDF Generation: ReportLab 4.0.7
- Production: Gunicorn + WhiteNoise
- Frontend: Django Templates with Alpine.js components
- Python 3.8+
- PostgreSQL 12+
- Docker (recommended for development)
-
Clone the repository
git clone https://github.com/gmartincor/zento_erp.git cd zento_erp -
Start with Docker
docker-compose up -d
-
Access the application
- Main application: http://localhost:8001
- Admin interface: http://localhost:8001/admin
-
Create virtual environment
python -m venv venv source venv/bin/activate # On macOS/Linux # or venv\Scripts\activate # On Windows
-
Install dependencies
pip install -r requirements.txt
-
Configure database
createdb zento_erp cp .env.example .env # Edit .env with your database configuration -
Run migrations
python manage.py migrate_schemas
-
Create superuser
python manage.py create_tenant_superuser
-
Start development server
python manage.py runserver
docker-compose -f docker-compose.prod.yml up -d-
Set production environment
export DJANGO_SETTINGS_MODULE=config.settings.production -
Initialize production
python manage.py check_production_ready python manage.py init_production
-
Start with Gunicorn
gunicorn config.wsgi:application --config gunicorn.conf.py
The system includes a comprehensive data portability solution:
- CSV: Single file with section headers (
=== TABLE_NAME ===) - Excel: Multi-sheet workbook with professional styling
- ZIP: Individual CSV files compressed
- JSON: Structured data with metadata
- Client information and statistics
- Service details and payment history
- Business line hierarchy and analytics
- Company and invoice data
- Expense categories and records
- Tenant configuration and metadata
Access via navigation menu β "Export Data" β Select format β Download
# Production readiness check
python manage.py check_production_ready
# Initialize production environment
python manage.py init_production
# Verify production setup
python manage.py verify_production
# Reset migrations (development only)
python manage.py reset_migrations_after_synczento_erp/
βββ apps/ # Django applications
βββ config/ # Project configuration
βββ templates/ # Global templates
βββ static/ # Static files
βββ media/ # User uploaded files
βββ scripts/ # Deployment scripts
βββ requirements.txt # Python dependencies
βββ docker-compose.yml # Docker development setup
βββ Dockerfile # Container configuration
βββ manage.py # Django management script
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Repository: https://github.com/gmartincor/zento_erp
- Issues: https://github.com/gmartincor/zento_erp/issues
- Releases: https://github.com/gmartincor/zento_erp/releases
Developed with β€οΈ for modern business management