Ethiopian calendar and holiday synchronization
How SmartERP synchronizes Ethiopian civil and religious holidays into project timelines, resource working hours, and time-off calendars using Bahire Hasab and Hijri engines.
Operating projects in Ethiopia requires accurate accounting for the 13-month Ethiopian calendar (Ge'ez calendar) and its movable religious holidays. SmartERP Ethiopian Calendar (smart_et_calendar) provides seamless conversion between Gregorian and Ethiopian dates, computes movable holidays mathematically, and automatically updates project working schedules.
[projects-holiday-sync]
The holiday generation engine#
Ethiopian public holidays comprise fixed civil dates, Christian Orthodox movable feasts calculated using the Bahire Hasab computus, and Islamic holidays computed via the Hijri tabular calendar:
| Holiday type | Calculation algorithm | Typical examples |
|---|---|---|
| Fixed Civil & Religious | Fixed Ge'ez solar calendar dates converted to current Gregorian equivalents. | Enkutatash (Meskerem 1), Meskel (Meskerem 17), Genna (Tahsas 29 / 28 leap), Adwa Victory Day (Yekatit 23), Timket (Tir 11). |
| Movable Orthodox (Bahire Hasab) | Astronomical computus determining the solar cycle, lunar epact, and Paschal full moon. | Fasika (Ethiopian Easter), Siklet (Good Friday), Hosanna (Palm Sunday). |
| Movable Islamic (Hijri Tabular) | Astronomical lunar calculations based on the Umm al-Qura astronomical reference. | Eid al-Fitr, Eid al-Adha, Mawlid (Prophet's Birthday). |
A monthly background cron (ir_cron_generate_et_holidays) automatically projects holiday occurrences for the current and subsequent Ethiopian fiscal years.
Working-day policies and company calendars#
National holidays affect project delivery timelines by altering available labor capacity. SmartERP applies the company's configured Working-Day Policy:
- Company-Wide Leave Generation: When a public holiday is generated or modified, SmartERP creates a corresponding company-wide non-working leave record in the global resource calendar (
resource.calendar.leaves). - Conflict Resolution: If an existing leave is already registered on that date, SmartERP retains the holiday record for information without creating duplicate calendar deductions.
- Capacity Adjustment: Project task timelines, milestone target dates, and employee daily timesheet targets automatically skip the designated holiday.
Dual calendar UI toggle#
SmartERP features a non-intrusive dual-calendar toggle in the user interface:
- Calendar Switch: A toggle in the top-right toolbar of Calendar and Gantt views enables instant switching between Gregorian (e.g., October 2026) and Ethiopian (e.g., Meskerem 2019) date representations.
- Date Picker Localization: Form date and datetime fields accept and display dates in both formats according to user preference settings (
res.users.calendar_mode). - Reporting Headers: Financial and operational project reports print dates in both formats for dual compliance with local revenue authorities and international stakeholders.