A lightweight, feature-rich CRM system built with PHP on a LAMP/WAMP stack, designed for U.S.-based small businesses.
Features
- Secure Authentication: Admin, staff, and client login/logout with role-based permissions.
- Customer Management: CRUD with CSV import/export.
- Call Logging: Log calls with dashboard, reports, and CSV support.
- Document Management (v1.1.0): Upload and version documents (e.g., contracts, tax forms).
- Payment Tracking (v1.1.0): Log payments with alerts and reports.
- Court Calendar (v1.2.0): Track deadlines (court, tax, contracts) with notifications.
- Compliance Checks (v1.2.0): Ensure compliance with U.S. regulations (e.g., wage garnishment, IRS, FLSA, contracts).
- Task Management (v1.3.0): Assign, track, and automate tasks with Kanban board.
- Invoicing (v1.4.0): Generate, send, and track invoices with payment integration.
- Analytics (v1.5.0): Visual reports on customers, payments, tasks, and compliance.
- Notifications (v1.6.0): Email and SMS for automated alerts and communication.
- Multi-User Roles (v2.1.0): Admin, staff, and viewer roles with permissions and activity logs.
- Client Portal (v2.0.0): Secure portal for clients to view status and communicate.
Tech Stack
- Backend: PHP
- Database: MySQL
- Frontend: HTML, Bootstrap 5.3, FullCalendar 5.11, Chart.js, Custom CSS
- Server: Apache (LAMP/WAMP)
- Libraries: PHPMailer, TCPDF (via Composer)
Prerequisites
- LAMP or WAMP stack (e.g., XAMPP)
- PHP 7.4+
- MySQL 5.7+
- Composer for PHPMailer and TCPDF
Installation
- Download: Get
crm.zip
from CountryCashflow.com. - Extract: Place files in web server root (e.g.,
htdocs
). - Install Dependencies: Run
composer require phpmailer/phpmailer tecnickcom/tcpdf
in the CRM directory. - Database: Run
setup.sql
in MySQL, replacing password hashes. - Config: Update
config.php
with MySQL credentials and SMTP settings. - Run: Start Apache/MySQL, visit
http://localhost/login.php
(admin/staff) orhttp://localhost/client_login.php
(client).
Usage
- Admin Dashboard: Manage all features with role-based access.
- Client Portal: View payments, messages, and reply.
- Import/Export: CSV for customers, calls.
- Reports: Analytics and payment reports.
File Structure
crm/ ├── config.php ├── login.php ├── client_login.php ├── logout.php ├── index.php ├── add_customer.php ├── edit_customer.php ├── import.php ├── export.php ├── calls_dashboard.php ├── add_call.php ├── edit_call.php ├── calls_report.php ├── import_calls.php ├── export_calls.php ├── documents_dashboard.php ├── upload_document.php ├── payments_dashboard.php ├── add_payment.php ├── payment_report.php ├── calendar.php ├── add_deadline.php ├── client_portal.php ├── compliance_dashboard.php ├── tasks_dashboard.php ├── add_task.php ├── invoices_dashboard.php ├── add_invoice.php ├── generate_invoice_pdf.php ├── analytics.php ├── notifications.php ├── users_management.php ├── edit_user.php ├── version_history.php ├── style.css ├── setup.sql ├── README.md ├── vendor/ (Composer dependencies)
Security Notes
- Prepared statements prevent SQL injection.
- Passwords hashed with
password_hash()
. - XSS protection via
htmlspecialchars()
. - Role-based permissions restrict access.
- Client portal and email assume SSL in production.
Version History
- 1.0.0 (2025-04-01): Initial release.
- 1.1.0 (2025-04-15): Document management, payment tracking.
- 1.2.0 (2025-05-01): Calendar, compliance checks.
- 1.3.0 (2025-05-15): Task management.
- 1.4.0 (2025-06-01): Invoicing.
- 1.5.0 (2025-06-15): Analytics.
- 1.6.0 (2025-07-01): Notifications.
- 2.0.0 (2025-07-15): Client portal.
- 2.1.0 (2025-08-01): Multi-user roles.
Copyright & License
- Copyright: © 2025 CountryCashflow.com
- Author: Rick Hayes
- Version: 1.0.0 (Current)
- License: MIT License
Contributing
Fork, modify, and submit pull requests. Suggestions welcome!