Education Data Model & Schema Architecture
Technical specifications of database models, foreign key relationships, constraints, and relational schemas governing SmartERP Education.
1. Overview & Business Value#
This comprehensive operational guide details the architecture, business workflows, configuration parameters, and execution steps for Education Data Model & Schema Architecture within SmartERP.
Technical specifications of database models, foreign key relationships, constraints, and relational schemas governing SmartERP Education.
{screenshot:education-data-model-and-relations-overview-dashboard}
2. Prerequisites & Security Access Groups#
- Required Modules:
smarterp_higher_education, smarterp_student_records - Security Groups:
Admissions Officer(Technical ID:smarterp_higher_ed.group_admissions_user)Registrar / Academic Dean(Technical ID:smarterp_higher_ed.group_registrar_manager)Faculty Member / Instructor(Technical ID:smarterp_higher_ed.group_faculty_user)
- Master Data Dependencies: Faculties, departments, ECTS modular curricula, academic semesters (Ethiopian/Gregorian calendar), tuition fee schedules, and student master files.
3. Step-by-Step Configuration & Execution#
Step 1: Navigating to the Module Interface#
- Log into your SmartERP instance at
https://smarterp.et/odoo. - Open the main App Switcher (grid icon in the top-left corner).
- Select the Higher Education app icon.
- From the top navigation bar, open Higher Education → Academic Registry → Students / Admissions / Courses / Grading.
{screenshot:education-data-model-and-relations-app-switcher-navigation}
Step 2: Creating and Parameterizing Records#
- Click the New button in the top-left control panel.
- Complete the mandatory fields in the record form:
- Student ID Number (Mandatory): Unique institutional student registration identifier
- Full Name & National ID (Mandatory): Legal name matching Ministry of Education (MoE) enrollment records
- Academic Program & Faculty (Mandatory): Approved undergraduate or postgraduate modular program
- Semester Term (Mandatory): Active academic term adhering to ETA curriculum guidelines
- Configure optional operational parameters and localized tags as required:
- Course Prerequisite Override (Optional): Authorized waiver for advanced module enrollment
- Tuition Sponsorship (Optional): Cost-sharing agreement or private employer corporate sponsorship
- Dormitory & Campus Facility (Optional): Assigned residential block and meal plan access
- Click the Save icon in the control bar to commit the record.
{screenshot:education-data-model-and-relations-record-creation-form}
Step 3: Validating and Processing Transactions#
- State Transitions: Execute operational state progression (Applied → Admitted → Registered / Enrolled → Active Study → Grades Finalized → Graduated).
- Ledger & System Impact: Semester registration automatically generates student tuition invoices in Accounts Receivable; fee settlement via Telebirr/CBE Birr marks student financially cleared.
- Audit Verification: Automated recording of author ID, timestamp, and immutable revision history.
{screenshot:education-data-model-and-relations-transaction-processing-state}
Relational Entity Architecture#
SmartERP Higher Education connects campus structures, student master records, course catalogs, grade registers, and financial ledgers into an ACID-compliant PostgreSQL relational schema:
[school-data-model]
Core Model Specifications#
1. Student Master: smarterp.school.student#
Represents the scholar profile:
name(Char): Full student name.student_id(Char, unique, index): Institutional identification number (UGR/NNNN/YY).dob(Date),gender(Selection):male,female.national_id(Char, index): Ethiopian National ID / Kebele number.program_id(Many2one->smarterp.school.program): Enrolled degree program.campus_id(Many2one->smarterp.school.campus): Base physical campus.partner_id(Many2one->res.partner): Financial accounting entity for billing.state(Selection):draft,admitted,enrolled,probation,graduated,withdrawn.
2. Academic Program: smarterp.school.program#
Defines degree program structures:
code(Char, unique): Program code (BSC-CS).name(Char): Degree program name.department_id(Many2one->smarterp.school.department).degree_level(Selection):diploma,bachelor,master,phd.total_credit_hours(Float),total_ects(Float).
3. Course Catalog: smarterp.school.course#
Maintains the institutional course inventory:
code(Char, unique, index): Course code (COSC-2011).title(Char): Course title.credit_hours(Float),ects(Float).lecture_hours(Integer),lab_hours(Integer),tutorial_hours(Integer).prerequisite_ids(Many2many->smarterp.school.course): Prerequisite courses.
4. Semester Registration: smarterp.school.registration#
Captures term course enrollments:
student_id(Many2one->smarterp.school.student, ondelete="cascade").term_id(Many2one->smarterp.school.academic.term).line_ids(One2many->smarterp.school.registration.line):course_id(Many2one->smarterp.school.course).section_id(Many2one->smarterp.school.section).grade_point(Float),letter_grade(Char).
sgpa(Float, computed),cgpa(Float, computed).state(Selection):draft,submitted,approved,locked.
5. Fee Structure & Billing: smarterp.school.fee.structure#
Governs automated student billing:
name(Char),program_id(Many2one).line_ids(One2many->smarterp.school.fee.line):product_id(Many2one->product.product): Billing service product.amount(Monetary),fee_type(Selection:per_credit,flat_semester).
4. Advanced Configuration Points#
- Automated Actions & Scheduled Tasks (Crons):
Education: Compute semester GPA and cumulative CGPA(smarterp_higher_ed.ir_cron_cgpa_calc): Runs at the end of each examination period to compute student academic standingFinance: Generate semester tuition fee invoices(smarterp_higher_ed.ir_cron_tuition_invoices): Runs prior to semester registration deadline
- Custom Print Templates & Reports:
- Official Student Academic Transcript (MoE & ETA Standards)
- Semester Course Registration & Clearance Slip
- Student ID Card with Cryptographic QR Verification
- Examination Results & Faculty Grade Distribution Ledger
- Multi-Company Rules: Record-level security isolation under Company 1 (
Ashewa Technology Solutions S.C.), preventing cross-company ledger leakage across parent and subsidiary legal entities.
5. Comprehensive Troubleshooting Matrix#
| Error Symptom / Exception | Probable Root Cause | Corrective Action / Resolution |
|---|---|---|
Prerequisite Blocked: Missing course prerequisite | Student has not successfully passed the prerequisite course code. | Register the student for prerequisite course or submit an academic dean prerequisite waiver. |
Grading Window Closed: Semester deadline passed | Faculty grade submission period has officially concluded. | Request temporary grade submission reopening from the Academic Registrar. |
Financial Hold: Outstanding tuition balance | Student examination entry or portal access blocked due to unpaid tuition invoice. | Process fee payment via Telebirr or record bank deposit voucher in the Finance office. |