4.6 KiB
School Accounting ERP
This project is a comprehensive, enterprise-grade accounting and ERP system designed specifically for educational institutions, with a focus on the Ghanaian market. It provides a robust backend for managing all financial aspects of a school, from student billing to detailed financial reporting and auditing.
The system is built with a clear separation of concerns, ensuring that the core accounting engine remains reliable and independent, while allowing for intelligence and visualization layers to be built on top.
Core Principles
- Accounting First: The system is built around a solid, double-entry accounting engine, ensuring all financial data is accurate and balanced.
- Read-Only Insights: The intelligence and dashboard layers are strictly read-only, ensuring they can never corrupt the core accounting data.
- Auditability: A comprehensive audit trail logs every significant financial action, providing a complete and immutable history.
- Modularity: The system is designed in phases, allowing for incremental development and deployment.
Features (Phases 1-5)
The backend is functionally complete and provides the following features:
- Chart of Accounts: A flexible and customizable chart of accounts to categorize all financial transactions.
- Student Management: Manage student records and enrollment.
- Fee Structures: Define complex fee structures and assign them to students.
- Invoicing: Automatically generate and issue invoices to students.
- Payments: Record and track student payments.
- Expense Management: Manage vendors and track bills and bill payments.
- Journal Entries: Manually create journal entries for adjustments and other accounting tasks.
- Financial Reporting:
- Trial Balance: Ensure the books are always balanced.
- Income Statement: Track revenue, expenses, and profitability.
- Balance Sheet: Get a snapshot of the school's financial position.
- Accounts Receivable (A/R) Aging: Monitor outstanding invoices.
- Accounts Payable (A/P) Aging: Track outstanding bills.
- Financial Controls:
- Accounting Periods: Close accounting periods to prevent unauthorized changes to historical data.
- Audit Trail:
- Comprehensive Logging: Every key financial transaction is logged for full traceability.
Technology Stack
- Backend: PHP 8.x (Vanilla)
- Database: MariaDB / MySQL
- Web Server: Apache
- Frontend: React (rendered client-side)
Project Structure
├── api/ # API endpoints
│ ├── reports/ # Financial report endpoints
│ └── ...
├── db/ # Database scripts
│ ├── migrations/ # Database migration files
│ └── config.php # Database connection configuration
├── includes/ # Helper functions and utilities
├── mail/ # Email sending service
├── ai/ # AI/ML integration hooks
├── dashboard/ # Frontend React application
│ ├── src/
│ └── ...
├── .htaccess # Apache configuration
├── index.php # Main application entry point (serves the dashboard)
└── README.md # This file
Setup and Installation
- Environment: Set up a standard LAMP (Linux, Apache, MySQL, PHP) stack.
- Database:
- Create a new MySQL/MariaDB database.
- Update the credentials in
db/config.php.
- Migrations: Run the database migrations located in the
db/migrations/directory in sequential order to set up the database schema. - Web Server: Configure Apache to use the project's root directory as the
DocumentRoot. - Access: Open the project URL in your browser. The
index.phpfile will automatically load the React-based dashboard.
API Endpoints
The core backend functionality is exposed via a series of PHP-based API endpoints in the api/ directory. The frontend dashboard interacts with these endpoints to display data. Key endpoints include:
/api/students_post.php/api/invoices_post.php/api/payments_post.php/api/vendors_post.php/api/bills_post.php/api/reports/trial_balance.php/api/reports/income_statement.php/api/reports/balance_sheet.php/api/reports/ar_aging.php/api/reports/ap_aging.php
This README provides a high-level overview. For detailed API specifications and implementation details, please refer to the source code.