| Feature | Current (UAE) | Ireland Requirement | Priority | Action |
|---|---|---|---|---|
| PAYE Income Tax | No income tax deduction — UAE has no income tax. Payroll outputs gross = net. | Implement two-band Irish income tax: 20% (standard rate) up to the Standard Rate Cut-Off Point (SRCOP); 40% (higher rate) above. SRCOP varies by marital status and year. Tax credits reduce liability. Emergency tax applied when no TCC on file. | Critical | |
| USC (Universal Social Charge) | Not applicable — no USC in UAE/GCC. | Implement progressive USC bands (exempt below €13,000; 0.5%, 2%, 4%, 8% tiers per Revenue). Exempt categories: medical card holders, certain social welfare recipients. Calculate per pay period on cumulative basis. | Critical | |
| PRSI (Pay Related Social Insurance) | Not applicable. GCC uses GOSI (Gulf Social Insurance) for Gulf nationals only. | Implement PRSI class engine: Class A (most employees) — employee 4%, employer 11.15%. Classes B, C, D, H, J, S, M each with different rates. PRSI class stored per employee. Weekly/monthly earnings threshold determines contribution. Used to fund state pension and social welfare. | Critical | |
| Revenue PMOD (Real-Time Reporting) | WPS file submitted monthly to CBUAE after payroll is finalized. | Implement Payroll Submission Request (PSR) generation in Revenue XML/JSON format. File must be submitted to Revenue on or before each pay date (weekly, fortnightly, or monthly). Include: employer registration number, employee PPS number, pay period, gross pay, PAYE deducted, USC deducted, PRSI employee/employer, LPT. Must support correction submissions (amended PSR). | Critical | |
| Tax Credit Certificates (TCC) | No equivalent — no tax credits in UAE payroll. | Store Revenue-issued TCC per employee: tax credits amount, SRCOP, USC status. TCC updated annually (Jan) or mid-year when employee circumstances change. If no TCC on file, apply emergency tax rates. Import TCC from Revenue RPN (Revenue Payroll Notification) file. | Critical | |
| Revenue Payroll Notification (RPN) Import | Not applicable. | Ability to download and import RPNs from Revenue via ROS (Revenue Online Service) API or file upload. RPN file updates employee tax credits and SRCOP in bulk at start of tax year or when changed by Revenue. | High | |
| Benefit In Kind (BIK) Calculation | No BIK system — accommodation/car allowances are just pay components in UAE. | Implement BIK engine: company car (CO2 table-based OMV percentage), medical insurance (actuarial value), accommodation, preferential loans, travel allowances. BIK added to notional pay and taxed through PAYE/USC/PRSI. Revenue BIK tables updated annually. | High | |
| SEPA Credit Transfer (Payment File) | WPS SIF file for CBUAE — fixed-width bank transfer format specific to UAE. | Generate SEPA XML pain.001.001.03 credit transfer file for Irish bank salary payments. Fields: debtor IBAN, creditor IBAN (IE prefix), BIC, amount in EUR. SEPA replaces WPS entirely for Ireland. | High | |
| Employment Detail Summary (EDS / P60) | No equivalent — UAE payroll has no year-end tax certificate. | Generate annual Employment Detail Summary for each employee (replaces P60 since 2019 PAYE Modernisation). Accessible via myAccount on Revenue. System must retain full cumulative pay/tax data per employee per tax year. | High | |
| Payroll Frequency (Weekly/Fortnightly) | Monthly-only payroll runs. Mid-month run supported as a special type. | Add Weekly (52 periods) and Fortnightly (26 periods) payroll cycles. Tax/USC/PRSI must be calculated on cumulative basis per Revenue rules, not simply divided by periods. Many Irish retail, hospitality, and construction workers are paid weekly. | High | |
| Local Property Tax (LPT) Deduction | Not applicable. | Support LPT deduction at source when Revenue instructs employer to deduct. Stored as a fixed monthly amount per employee from Revenue notification. Included in PMOD submission. | Medium | |
| Pension Auto-Enrolment | No pension module. Staff accommodation deduction exists. | Implement Irish auto-enrolment pension scheme (launching 2025): employees aged 23–60 earning >€20,000 auto-enrolled. Employee 1.5% (rising to 6%), Employer 1.5% (rising to 6%), State top-up 0.5% (rising to 2%). Opt-out after 6 months. Contribute to National Automatic Enrolment Retirement Savings Authority (NAERSA). | High | |
| WPS SIF File Generation | Full CBUAE WPS implementation — EDR/EER/ETR fixed-width format, MOL employer ID, agent ID. Required for all UAE employers. | Remove entirely. Replace with SEPA XML payment file. Keep the payroll approval workflow (finalize → payment file) but change the output format. | Critical | |
| Gratuity Calculation Engine | UAE Labour Law Article 51 gratuity: 21 days basic per year for years 1–5, 30 days for years 5+. DB-driven slabs (finance.gratuity_slabs). Daily rate = basic/30. | Remove gratuity slabs table, gratuity calculation service, and all gratuity accrual from salary slips. Ireland has no end-of-service gratuity — redundancy pay is a separate statutory obligation handled differently. | Critical | |
| Gratuity Slabs DB Table | finance.gratuity_slabs — tenant & contract-type specific slabs. | Drop table. Add Statutory Redundancy Pay calculator instead (2 weeks per year of service + 1 bonus week, capped at €600/week, 2-year minimum service). Different legal basis entirely. | High | |
| MOL / WPS Employer IDs | Companies table stores wps_mol_id, wps_agent_id for CBUAE compliance. | Remove wps_mol_id, wps_agent_id columns. Replace with: Revenue Employer Registration Number (ERN), Companies Registration Office (CRO) number. | High | |
| GOSI Number on Employee | employees.gosi_number — Gulf Social Insurance Organisation number for Saudi nationals. | Remove gosi_number field. Replace with PRSI Class field and PPS Number (see Employee section). | High | |
| Multi-Currency Payroll (AED, SAR) | payroll_currency per company and salary_currency per employee to handle expatriate salary structures in AED, SAR, OMR etc. | Ireland payroll is EUR-only. Remove multi-currency payroll engine. Retain EUR as fixed currency. Remove salary_currency field from employees. Foreign currency expense claims remain in EUR equivalent. | Medium | |
| JV Oracle GL / SAP BAPI Formats | Journal Voucher export targets Oracle GL, Temenos T24, SAP BAPI formats common in GCC banking. | Remove Temenos T24 format. Keep generic CSV and SAP BAPI. Add Sage Ireland, Xero (popular in Irish SMB), and QuickBooks Journal formats. | Medium | |
| Payroll Run Status Machine | draft → calculated → approved → finalized → paid. Approval workflow required by UAE rules. | Add PMOD_submitted status after finalized. Revenue PSR must be submitted and acknowledged before payment is made. Track Revenue acknowledgement reference number per run. | Critical | |
| Payroll Calculator Core | 3-layer component hierarchy. Calculates basic, allowances, deductions, gratuity accrual, leave accrual. No tax engine. | Add PAYE, USC, PRSI calculation layers after gross calculation. Must be cumulative (year-to-date basis). Add tax credit application logic. Gross-to-net becomes: Gross → BIK → Taxable pay → PAYE → USC → PRSI → Employee pension → LPT → Net pay. | Critical | |
| Salary Slip Layout | Shows: basic, allowances by component, total earnings, deductions (loans, accommodation), net pay, gratuity accrual. Bilingual EN/AR. | Replace gratuity accrual with pension contribution. Add: taxable pay, PAYE deducted, USC deducted, PRSI (employee), employer PRSI (shown separately), cumulative totals (YTD). Single language (English). Remove Arabic payslip. | High | |
| Pay Component Types | earning | deduction | employer_contribution | accrual. UAE-specific: housing, transport, mobile, meals allowances. | Add BIK component type (taxable non-cash benefit). Rename/relabel allowance types to Irish context: Cycle to Work, Travel Pass, Medical Insurance premium. Remove: housing allowance, labour card fee, visa fee components. Add: redundancy provisions. | Medium | |
| Tax Year / Pay Period Logic | Payroll periods are calendar months. Year-end accruals follow company fiscal year. | Irish tax year = calendar year (Jan 1 – Dec 31). PAYE Modernisation requires cumulative tax calculation from Jan 1 each year. Year-to-date (YTD) counters must reset on Jan 1. Support tax year reporting extracts. | Critical | |
| Final Settlement Payroll Run | final_settlement run type calculates gratuity, accrued leave encashment, and last month salary in one run. | Remove gratuity from final settlement. Add: statutory redundancy pay calculator, accrued annual leave encashment at termination (required by law), PAYE on ex-gratia payments (exempt up to €10,000 from PAYE). Final PSR to Revenue required. | High |
| Feature | Current (UAE) | Ireland Requirement | Priority | Action |
|---|---|---|---|---|
| PPS Number | No equivalent. UAE uses Emirates ID as primary government ID. | Add pps_number field (Personal Public Service Number — Irish national ID for tax/social welfare). Format: 7 digits + 1–2 letters (e.g., 1234567T). Required for PRSI and PMOD submissions to Revenue. Must be validated (check digit algorithm). Treat as sensitive — mask in UI for non-HR roles. | Critical | |
| PRSI Class | Not applicable. | Add prsi_class field (enum: A, A1, B, C, D, H, J, J1, M, S). Defaults to A (most private sector employees). Determines employer and employee PRSI contribution rates. Must be validated against Revenue PRSI class tables. | Critical | |
| Revenue ERN (Employer Reg. No.) | Companies table stores MOL ID and WPS agent ID for CBUAE. | Add revenue_ern field to companies table (format: 1234567T — same as PPS but for employer). Required for all PMOD submissions. Also add cro_number (Companies Registration Office number). | Critical | |
| Eircode (Irish Postal Code) | Address fields exist (line1, line2, city, country_code, PO_box). No postal code format enforcement. | Add eircode field to employee address (format: A65 F4E2 — 3+4 alphanumeric with space, e.g., D01 AB12). Validate with regex. Rename PO_box to po_box and keep optional. Remove country-specific address formats for UAE. | Medium | |
| Work Permit / Visa Type (Irish) | visa_type field covers UAE visa categories (employment, residence, visit). Labour card tracking. | Replace UAE visa model with Irish work permit types: Critical Skills Employment Permit, General Employment Permit, Intra-Company Transfer, EU/EEA (no permit), Stamp 1G (graduate), Stamp 4 (settled). Non-EEA employees must have valid permit tracked with expiry alerts same as current document expiry system. | High | |
| Emergency Contact (Revised) | Emergency contact stored on employee record (name, phone, relation). | Keep emergency contact fields. Add next_of_kin_address field — required under Irish employment law for accident/death notification. Keep existing structure otherwise. | Low | |
| Working Hours Record | TNA attendance records capture hours worked. No statutory retention obligation tracked. | Add statutory_hours_compliant flag and retention policy: under Organisation of Working Time Act 1997, working time records must be retained for 3 years. Tag attendance records with required_retention_until = recorded_date + 3 years. GDPR-compatible: auto-anonymise after 3 years. | High | |
| Emirates ID Field | emirates_id and emirates_id_expiry stored on employee. Check digit validation (15-digit format 784-YYYY-XXXXXXX-C). Document expiry alerts active. | Remove emirates_id and emirates_id_expiry fields. Replace with PPS Number. Update employee form and validator schemas. Update document expiry checker cron job to drop Emirates ID alert. | Critical | |
| Labour Card Number & Expiry | labour_card_number and labour_card_expiry — UAE Ministry of Labour document required for all workers. | Remove entirely. No Irish equivalent. Work permit serves this function and is already addressed separately above. | High | |
| GOSI Number | gosi_number — Saudi Gulf Social Insurance registration number for GCC nationals. | Remove field. Replace with PRSI Class (see above). PPS Number covers the social insurance identification role. | High | |
| Iqama Number | iqama_number — Saudi Arabia residence permit number for expatriates. | Remove entirely. Saudi-specific. No Irish equivalent. | High | |
| UAE PO Box | po_box field on employee address — common in UAE where street addresses are not standard. | Remove po_box (Ireland uses Eircode instead). Add eircode field. Ireland has full street addressing so PO Box is not needed. | Low | |
| Passport Tracking | passport_number, passport_expiry tracked and included in document expiry alerts (30/60/90 days). | Keep for non-EEA employees. For EU/EEA nationals, passport is optional (not required for employment in Ireland). Update expiry alert logic: only trigger alerts if employee is non-EEA AND working under a permit. | Medium | |
| Visa / Immigration Compliance Schema | compliance.visa_applications — tracks UAE visa processing steps (medical, fingerprint, MOL submission). | Repurpose as Irish work permit tracker: application date, permit type, permit number, expiry, renewal due date. Remove UAE-specific steps (medical fitness, fingerprinting at GDRFA). Add Irish permit renewal workflow. | High | |
| Employee Code Format | employee_code — free-text with prefix convention (EMP-001, etc.). | Keep existing format. No Irish statutory requirement for specific employee number format. Ensure Revenue PMOD uses PPS Number not internal employee_code as the employee identifier. | Low | |
| Religion Field | religion stored on employee (Muslim, Christian, Hindu, etc.) — used for Islamic holiday scheduling, prayer time, Hajj leave. | Under Irish GDPR, religion is a Special Category of Personal Data requiring explicit consent and DPO sign-off. If retained, must have documented lawful basis, explicit consent record, and access restricted to HR Admin only. Consider removing if no operational need. | High |
| Feature | Current (UAE) | Ireland Requirement | Priority | Action |
|---|---|---|---|---|
| Irish Annual Leave Calculation | Annual leave = fixed days per grade (30 days standard per UAE Law Article 29). Accrual is monthly or annual. | Irish Organisation of Working Time Act 1997: annual leave = whichever is GREATEST of: (a) 4 working weeks, (b) 1/3 of a working week for each calendar month in which employee works ≥117 hours, (c) 8% of hours worked capped at 4 working weeks. Must calculate dynamically based on actual hours worked for part-time staff. | Critical | |
| Statutory Sick Pay (SSP) | Sick leave exists as a leave type but with no statutory minimum payment rule — employers set their own policies. | Implement Irish SSP (Sick Leave Act 2022): 5 statutory sick days in 2024 (increasing to 10 days by 2026), paid at 70% of gross daily earnings, capped at €110 per day. After SSP exhausted, employee may claim Illness Benefit from DEASP. Track SSP days separately from contractual sick leave. | Critical | |
| Parent's Leave | No Parent's Leave type exists. | Add Parent's Leave type: 9 weeks per parent for each child born/adopted on or after 1 Nov 2019. Can be taken in first 2 years of child's life. Paid via Parent's Benefit from DEASP (currently €274/week). Employer may top up. Non-transferable between parents. | Critical | |
| Force Majeure Leave | Not implemented. UAE has emergency family leave provisions but not the Irish Force Majeure model. | Add Force Majeure leave type: max 3 days in any 12-month period (or 5 days in 36 months). For urgent family illness/injury of immediate family only. Must be paid. No carry-forward. Auto-reject if limit exceeded. Requires incident details to be recorded. | High | |
| Carer's Leave | Not implemented. | Add Carer's Leave type (Carer's Leave Act 2001): up to 104 weeks per relevant person being cared for. Unpaid but protected employment. 6-week minimum per period. Employee must apply to DEASP for Carer's Benefit. Requires Decision Officer (HSE) medical certification. Track per care recipient. | High | |
| Domestic Violence Leave | Not implemented. No GCC equivalent. | Add Domestic Violence Leave type (Work Life Balance Act 2023): 5 days paid leave per year. Confidential — manager cannot ask for proof. HR can only see as "special leave." No carry-forward. Highest confidentiality — restrict visibility to HR Admin only, do not show reason in team calendars or reports. | High | |
| Jury Service Leave | Not implemented. | Add Jury Service leave type: unpaid (or employer tops up — configurable). Employee must produce jury summons. Duration varies. Not deducted from annual leave. Required by law to grant. | Medium | |
| Statutory Redundancy Leave Entitlement | No redundancy leave — final settlement run covers end-of-service. | Under Irish Redundancy Payments Acts, employees on notice of redundancy are entitled to reasonable paid time off to seek new employment. Add Time Off to Seek Work leave type: record entitlement, attach to separation workflow when separation_reason = 'redundancy'. | Medium | |
| Hajj / Pilgrimage Leave | Hajj leave type exists (up to 30 days unpaid for Muslim employees, once per service). Dates calculated from Hijri calendar (Dhu al-Hijja 8–12). | Remove Hajj leave type. Not an Irish statutory leave type. Muslim employees may use annual leave entitlement instead — no special provision in Irish law. | High | |
| Eid Leaves (Al-Fitr & Al-Adha) | Eid holidays in UAE public holiday calendar, computed from Hijri lunar calendar. Employees given Eid leave based on moon sighting. | Remove Eid-specific public holiday types and Hijri-based holiday computation. Irish public holiday calendar is fixed (see Holiday Calendar section). | High | |
| UAE National Day Leave | UAE National Day (2 Dec) and other UAE public holidays baked into holiday calendar. | Remove all UAE national holidays from the default holiday master. Replace with Irish statutory bank holidays calendar. | High | |
| Maternity Leave | Maternity leave exists as a leave type. UAE law: 60 days (45 paid, 15 unpaid) per Article 30. | Update to Irish law: 26 weeks' ordinary maternity leave + 16 weeks' additional (unpaid). Maternity Benefit paid by DEASP (currently €274/week) — employer may top up. Employee must give 4 weeks' written notice. Protect against dismissal. Track Maternity Benefit claim separately from employer payment. | Critical | |
| Paternity Leave | Paternity leave exists. UAE: 5 days per Article 32. | Update to Irish law: 2 weeks (Paternity Leave and Benefit Act 2016). Paternity Benefit from DEASP (€274/week). Must be taken within 6 months of birth/adoption. Employer may top up. Extend to adoptive fathers and same-sex couples. | High | |
| Gender-Restricted Leave Types | Leave types have gender_restricted field (maternity = Female only, paternity = Male only). | Update gender restriction logic: use legal gender recognition (Gender Recognition Act 2015 Ireland). Parent's Leave, adoptive leave not gender-restricted. Maternity Leave tied to birth parent specifically. Review all gender-restricted types for legal accuracy. | Medium | |
| Public Holiday Entitlement | Public holidays are non-working days. Employees get the day off or a substitute day. UAE has ~14 official public holidays per year. | Ireland has 12 public bank holidays: New Year's Day (1 Jan), St. Brigid's Day (first Mon Feb or 1 Feb if a Friday), St. Patrick's Day (17 Mar), Easter Monday, May Day (first Mon May), June Holiday (first Mon Jun), August Holiday (first Mon Aug), October Holiday (last Mon Oct), Christmas Day (25 Dec), St. Stephen's Day (26 Dec). Employee entitled to full day's pay OR substitute day OR extra day's annual leave OR extra day's pay — employer's choice. | Critical |
| Feature | Current (UAE) | Ireland Requirement | Priority | Action |
|---|---|---|---|---|
| Shift Management | Fixed shifts with grace periods, break time, minimum hours. Biometric import. Roster-based scheduling. | Keep as-is. Shift definitions work for Irish context. Grace period, break time, overtime calculation logic is universal. | Low | |
| GPS / Location Attendance | GPS clock-in/out implemented (FEAT-003/005). Coordinates stored with attendance records. Map view for HR Admin. | Keep as-is. GPS attendance is relevant for Irish field-based workers (construction, care, delivery). Note: GDPR Article 9 — location data requires lawful basis and employee notice. Add explicit consent record and privacy notice acknowledgement on first clock-in. | Medium | |
| Biometric Import | CSV/raw swipe import from biometric terminals. Processes into attendance records. | Keep as-is. Biometric systems used in Ireland (construction, manufacturing, healthcare). Note: biometric data under GDPR is Special Category — add consent workflow and DPO approval gate before enabling biometric import per tenant. | Medium | |
| Supervised Team Logging | Supervisors can log attendance for their team. Access granted per grade level. | Keep as-is. Common in Irish construction and care sectors. | Low | |
| Working Time Compliance Alerts | No statutory working time compliance checking beyond shift hours. | Organisation of Working Time Act 1997 (Ireland): maximum average 48 hours/week over 4 months; minimum 11 hours rest per 24 hours; 24 consecutive hours rest per 7 days; 15-minute break after 4.5 hours work; 30-minute break after 6 hours. Implement automatic compliance flag when these limits are breached. Dashboard alert for HR. | Critical | |
| Night Work Tracking | No night work designation on shifts. | Organisation of Working Time Act: night work = work between midnight and 7am for at least 3 hours on 50+ nights/year. Night workers cannot average more than 8 hours per 24-hour period. Add night_work_shift flag. Generate night worker classification report. Track cumulative night hours per employee annually. | High | |
| 3-Year Attendance Retention Policy | No automated retention/purge policy on attendance records. | Organisation of Working Time Act requires 3-year retention of time records. Add retention_required_until to attendance records. Implement scheduled job: after 3 years + 1 month, anonymise employee reference (retain hours/date/shift data but replace employee_id with anonymised hash). GDPR-compliant. | High | |
| Friday–Saturday Weekend | Weekend = Friday and Saturday for UAE/GCC market. Business day calculations for leave/OT exclude Fri–Sat. | Change weekend definition to Saturday–Sunday throughout the system. Update: leave day calculations, overtime rate triggers (OT on Sunday should be double-time per Irish convention), attendance reports, roster defaults. | Critical | |
| Overtime Rates | UAE Article 67: 1.25× on weekdays, 1.5× on weekends, 2× on public holidays. Rates hardcoded per UAE Labour Law. | Ireland has no statutory OT rate — rates are contractual. Make OT rates fully configurable per company (not hardcoded). Common Irish convention: 1.5× on weekday OT, 2× on Sunday, 2× on public holidays. Add Sunday Premium Pay tracking (Sunday pay is often enhanced by contract). | High | |
| Attendance Import Format | Biometric CSV import expects employee_code as identifier. Format tuned for common GCC biometric brands (ZKTeco, Suprema). | Keep ZKTeco/Suprema support (both used in Ireland). Add support for Mifare/HID card format. Allow import via employee_code OR PPS Number. Irish construction sector uses Optika/CSCS card-based attendance on some sites. | Medium | |
| Attendance Report (PDF) | FEAT-006 implemented — HR generates PDF for employee over date range, showing clock-in/out times and hours. | Keep report format. Update: replace "working days" calculation (Fri–Sat) with Mon–Fri. Add working time compliance column (hours this week, running 4-month average, flag if approaching 48h limit). Retain for 3 years per statute. | Medium |
| Feature | Current (UAE) | Ireland Requirement | Priority | Action |
|---|---|---|---|---|
| DSAR Workflow (Data Subject Access Request) | No DSAR process. Employee can view own profile via ESS but no formal data export. | GDPR Article 15: employee can request all personal data held about them. Must be fulfilled within 30 days. Implement: DSAR request form (ESS), automated data export (all tables where employee_id appears), HR review step before release, audit trail of DSAR requests. Include: salary history, audit change log, attendance, leave, documents. | Critical | |
| Right to Erasure Workflow | PDPL erasure: personal data anonymisable after 7-year retention. Manual process only. | GDPR Article 17: implement Right to Erasure request workflow. For ex-employees: after legal retention period (7 years for payroll per Irish Revenue, 3 years for time records), auto-anonymise name, address, PPS, contact details. Retain payroll aggregates for tax purposes. HR must be able to manually trigger early erasure with DPO approval. | Critical | |
| Data Breach Notification System | No breach notification workflow. | GDPR Article 33: must notify Data Protection Commission (DPC) within 72 hours of discovering a personal data breach. Implement: security incident log, breach severity classifier, automatic DPC notification template, employee notification workflow (Article 34). DPO must be notified immediately. | Critical | |
| DPO (Data Protection Officer) Management | No DPO role in system. Security is managed by HR Admin. | Add DPO user role. DPO has read access to all data processing activities, consent records, and DSAR queue. Add dpo_contact_info to tenant configuration (published in privacy notice). DPO approval required for: enabling biometric attendance, processing Special Category data, new data sharing arrangements. | High | |
| Records of Processing Activities (ROPA) | No processing register. Audit log records changes but not purpose of processing. | GDPR Article 30: maintain ROPA documenting: data category, purpose, lawful basis, retention period, third-party recipients, cross-border transfers. Generate ROPA report for DPC inspection. Store in system as admin-only configuration module. | High | |
| Consent Management | No consent system. Employees activate ESS via invite link. | Add consent module: employee must acknowledge privacy notice on first login. Track consent version, timestamp, IP. For Special Category data (biometrics, health, religion), capture explicit consent separately with purpose stated. Consent withdrawal must trigger data erasure request. | High | |
| WRC (Workplace Relations Commission) Tracking | No dispute/complaint tracking module. | Add WRC complaint log: employee name, complaint date, claim type (unfair dismissal, discrimination, payment, working time), WRC case number, hearing date, outcome. Restrict to HR Admin. Used for compliance reporting and legal exposure tracking. Triggers document hold on affected employee record. | High | |
| Employment Equality Act Monitoring | Emiratization headcount report exists (nationality = AE flag). No discrimination monitoring. | Employment Equality Acts 1998–2015 (Ireland): 9 protected grounds (gender, civil status, family status, sexual orientation, religion, age, disability, race, traveller community). Add voluntary EEO data collection (anonymous). Generate diversity headcount report. Used for equal pay audits. Store separately from payroll with restricted access. | High | |
| Emiratization Reporting | Nationality = 'AE' flag on employees. Headcount reports for UAE government Emiratization quota compliance (Nafis scheme). | Remove Emiratization flag, Nafis reports, and UAE national headcount quota tracking entirely. No equivalent in Ireland. | High | |
| UAE PDPL Compliance References | PDPL (UAE Personal Data Protection Law) references in data residency configuration and employee data masking rules. | Replace PDPL with GDPR throughout. Update privacy notices, lawful basis documentation, data masking rules. Ensure all PDPL-specific data handling rules are reviewed against GDPR equivalents. | Critical | |
| Azure UAE North Data Residency | Infrastructure requirement: all data in Azure UAE North (Abu Dhabi) for PDPL compliance. | Move to Azure Ireland (West Europe region, Dublin) or another EEA-region Azure datacenter. Update deployment scripts, Kubernetes cluster, Redis, Supabase (must use self-hosted or EEA Supabase instance), Blob Storage account. Ensure no data transits outside EEA. | Critical | |
| Audit Change Log | audit.change_log — immutable, captures field-level diffs for employees, payroll, loans. Stores IP and user_agent. | Keep core audit log. Add: GDPR lawful basis for storing IP/user_agent (legitimate interest — security). Add retention policy (audit logs: 7 years for payroll, 3 years for attendance, 1 year for general changes). Add DPO access role. Log DSAR requests and Right to Erasure actions in audit log. | High | |
| Special Category Data Handling | Sensitive fields masked by role (salary visible to HR Admin only). Health/biometric data captured but no special treatment. | GDPR Article 9 Special Categories in the system: biometric data (attendance), health data (sick leave reasons, medical insurance claims), religion, sexual orientation (if EEO collected). Each requires documented lawful basis, explicit consent, and DPO sign-off. Add special_category_consent_required flag to data fields. Restrict access to minimum necessary. | Critical | |
| Employee Data Retention | PDPL: 7-year retention on separated employee records. No automated deletion. | Irish retention requirements differ by data type: payroll records 6 years (Revenue); time/attendance records 3 years (Working Time Act); personnel files generally 7 years after separation (employment law). Implement retention schedule table with automated anonymisation job. GDPR Article 5(1)(e) requires enforcement not just policy. | Critical |
| Feature | Current (UAE) | Ireland Requirement | Priority | Action |
|---|---|---|---|---|
| Arabic Language (AR) | Full Arabic UI translation via next-intl. All database fields have _en and _ar variants (name_en, name_ar). RTL layout via dir="rtl" on html tag. | Remove Arabic language pack, RTL stylesheet, and AR locale from next-intl configuration. Remove _ar suffix database columns from all tables (retain _en as the primary column, rename to just the base name). Significant DB migration required. Simplifies codebase considerably. | High | |
| RTL Layout Support | dir="rtl" on html element when locale = 'ar'. Tailwind RTL plugin active. Components handle both LTR and RTL. | Remove RTL layout entirely. English and Irish (Gaeilge) are both LTR. Remove Tailwind RTL plugin, RTL-specific CSS, and dir attribute logic from layout. | Medium | |
| Hijri Calendar | hijri-date npm package. Date pickers show dual Gregorian/Hijri. Holiday dates stored in hijri_month/hijri_day. Locale 'ar' shows Hijri by default. | Remove hijri-date dependency. Remove Hijri date picker variant. Remove hijri_month and hijri_day columns from holidays table. All dates are Gregorian only in Ireland. | High | |
| Bilingual Pay Components (_en / _ar) | Pay component names, leave types, grade names all stored in EN and AR. Payslip renders in selected employee language. | Remove _ar columns from: pay_components, leave_types, grades, designations, departments, divisions. Payslip is English-only for Ireland. Reduces schema complexity. | High | |
| UAE/GCC Holiday Calendar Seed Data | seed.sql includes UAE public holidays: UAE National Day, Commemoration Day, Islamic New Year, Prophet's Birthday, etc. | Remove UAE holiday seed data. Replace with Irish public holiday seed: New Year's Day, St. Brigid's Day, St. Patrick's Day, Easter Monday, May–October Bank Holidays, Christmas Day, St. Stephen's Day. Add annual holiday generator for floating dates (Easter, bank holidays). | Critical | |
| Irish Gaeilge (GA) Locale — Optional | Not present. | Optional: public sector clients may require Irish language (Gaeilge) under Official Languages Act 2021. Add GA locale to next-intl. Not needed for private sector. Flag as Tier 2 feature — implement only if public sector go-to-market is planned. | Low | |
| Euro Currency Formatting | Currency formatting defaults to AED (د.إ). Locale-aware formatting not fully implemented. | Default currency = EUR (€). Format all monetary amounts as €1,234.56 (European decimal format). Remove AED, SAR, OMR currency symbols. Update all salary display components, payslip PDF, and report generators. | Critical | |
| Date Format | Dates displayed in DD/MM/YYYY (UAE/UK convention). date-fns used throughout. | Keep DD/MM/YYYY — Ireland uses the same date format. No change needed for date display. Ensure Revenue PMOD submissions use YYYY-MM-DD ISO format as required by Revenue API. | Low | |
| Timezone | Tenant timezone defaults to Asia/Dubai (UTC+4). Date/time stored in UTC. | Change default timezone to Europe/Dublin (UTC+0 in winter, UTC+1 IST in summer — Ireland observes DST). All clock-in/out times must convert correctly across DST transitions. Critical for attendance records near March/October DST changeover dates. | Critical | |
| Phone Number Validation | Mobile validation accepts UAE international format (971XXXXXXXXX for clock-in via FEAT-010). | Update to accept Irish numbers: 353XXXXXXXXX (international) or 08X XXXXXXX (local mobile). ESS login by mobile (FEAT-010) must detect Irish number format. Update Zod validator. Use libphonenumber-js for international format validation. | Medium |
| Module / Feature | Why It Transfers | Minor Adjustments | Action |
|---|---|---|---|
| Multi-Tenant Architecture | Tenant isolation via RLS and tenant_id is universal. Irish clients are just new tenants. | Set country = 'IE', currency = 'EUR', timezone = 'Europe/Dublin' in tenant setup wizard. | None |
| Organisation Structure (Company/Division/Dept) | Hierarchical org charts are universal across all markets. | Add Revenue ERN and CRO Number to company master. Remove WPS fields. | Minor |
| Grade & Pay Component Master | 3-layer salary hierarchy works in any market. | Rename component types for Irish context (remove UAE-specific names). Labels only. | None |
| Employee Master (Core Form) | Name, DOB, gender, marital status, address, contact, employment fields are universal. | Add PPS Number, PRSI Class, Eircode. Remove UAE-specific fields (see Section 2). | Minor |
| Recruitment Module | Job requisitions, applicant pipeline, scorecards, agencies — fully universal. | Update salary range to EUR. Remove GCC-specific visa sponsorship tracking from applicant record. | Minor |
| Appraisal & Performance Management | KPI cycles, templates, scoring, increment matrices are universal HR practice. | Keep as-is. Ireland uses same appraisal concepts. | None |
| Training & Development | Course management, nominations, completions are universal. | Consider adding Health & Safety training tracking (Safety, Health and Welfare at Work Act 2005 — mandatory safety training records). | None |
| Workflow Engine (Approvals) | Multi-level approval engine is universal. Leave, loan, appraisal workflows work as-is. | Add Revenue PMOD submission as a new workflow step in payroll approval chain. | None |
| Document Management & Expiry Alerts | Document tracking with 30/60/90 day alerts is universally useful. | Update document types: remove Emirates ID / Labour Card. Add Work Permit (non-EEA employees). Keep passport, qualification certs. | Minor |
| Loan Management | Employee loans with installment schedules, 40% salary ratio rule is common HR practice globally. | Keep as-is. Verify 40% rule is appropriate for Ireland (no statutory cap but good practice). | None |
| Role-Based Access Control | HR Admin, Payroll Admin, HR Officer, Employee roles are universal. | Add DPO role (GDPR requirement). Consider adding Payroll Bureau role for Irish accountancy firms that run payroll for clients. | Minor |
| ESS Portal (Core) | Employee self-service for payslips, leave requests, profile is universal. | Update payslip template to show Irish tax breakdown. Add DSAR request button to ESS profile page. | Minor |
| Audit Trail | Change log is universally required for compliance. Already comprehensive. | Extend with GDPR-specific audit events (DSAR requests, consent changes, erasure actions). Update retention period. | Minor |
| Bulk Employee Import/Export (FEAT-007/008) | Excel import/export with field mapping UI is universally useful for Irish deployments. | Update template columns to include PPS Number, PRSI Class, Eircode. Remove Emirates ID / Labour Card columns. | Minor |
Move infrastructure to Azure Ireland (EEA data residency). Replace UAE holiday calendar with Irish bank holidays. Fix weekend definition (Sat–Sun). Remove WPS, remove gratuity engine. Remove Emirates ID / Labour Card fields. Add PPS Number and PRSI Class. Update timezone to Europe/Dublin. Set currency to EUR. These changes make the system legal to operate in Ireland.
Build the Irish tax calculation engine (PAYE, USC, PRSI). Implement Revenue PMOD Payroll Submission Request generation. Add Tax Credit Certificate management and RPN import. Redesign payslip PDF for Irish format. Add SEPA payment file generation. Implement weekly/fortnightly payroll frequency. This phase makes payroll legally compliant — required before processing any Irish payroll.
Implement DSAR workflow, Right to Erasure, Consent Management, ROPA register, Breach Notification. Add DPO role. Implement Irish leave types: Statutory Sick Pay (SSP), Parent's Leave, Force Majeure, Carer's Leave, Domestic Violence Leave. Update Maternity/Paternity to Irish law. Implement Irish annual leave calculation (Organisation of Working Time Act). Remove Arabic/Hijri/RTL.
Working time compliance engine (48-hour week, rest periods, night work). Pension auto-enrolment (NAERSA scheme). Benefit In Kind (BIK) calculation. LPT deduction. WRC complaint tracking. Employment equality monitoring. Statutory Redundancy Pay calculator. Xero/Sage GL integration. Employment Detail Summary (P60 replacement). QA, Revenue PMOD certification, UAT with pilot Irish client.
| Feature Area | UAE / Current | Ireland / Required | Action |
|---|---|---|---|
| Income Tax | None (0% income tax) | PAYE: 20% standard / 40% higher rate | Add |
| Social Insurance | GOSI (Gulf nationals only) | PRSI: Employee 4% + Employer 11.15% (Class A) | Add |
| Social Charge | None | USC: 0.5%–8% progressive | Add |
| Tax Reporting | WPS SIF to CBUAE monthly | Revenue PMOD PSR on every pay date | Add |
| End-of-Service Benefit | Gratuity (21–30 days/year) | Statutory Redundancy (2 wks/year) | Modify |
| Government ID | Emirates ID (15-digit) | PPS Number (7 digits + letter) | Modify |
| Social Insurance ID | GOSI Number | PPS Number + PRSI Class | Modify |
| Immigration Document | UAE Visa + Labour Card | Work Permit (non-EEA) or EU freedom | Modify |
| Annual Leave | 30 days (UAE Art. 29) | 4 weeks OR 8% of hours (OWTA 1997) | Modify |
| Maternity Leave | 45 days paid + 15 unpaid | 26 weeks + 16 optional unpaid | Modify |
| Paternity Leave | 5 days | 2 weeks (Paternity Leave Act 2016) | Modify |
| Sick Pay | Employer policy (no statutory min) | 5 days SSP @ 70% (Sick Leave Act 2022) | Add |
| Parent's Leave | None | 9 weeks (Parent's Leave Act 2019) | Add |
| Force Majeure | None | 3 days/year for family emergency | Add |
| Domestic Violence Leave | None | 5 days paid (Work Life Balance Act 2023) | Add |
| Weekend | Friday + Saturday | Saturday + Sunday | Modify |
| Public Holidays | ~14 UAE national + Islamic | 12 Irish bank holidays (fixed) | Modify |
| Calendar System | Gregorian + Hijri | Gregorian only | Remove |
| Language | English + Arabic (RTL) | English only (optionally Irish/GA) | Remove |
| Currency | AED (د.إ) primary | EUR (€) only | Modify |
| Payment File | WPS SIF (fixed-width) | SEPA XML pain.001.001.03 | Add |
| Data Residency | Azure UAE North (PDPL) | Azure Ireland / EEA (GDPR) | Modify |
| Data Protection Law | UAE PDPL | GDPR + Irish Data Protection Act 2018 | Modify |
| DSAR Process | None | 30-day DSAR workflow (GDPR Art. 15) | Add |
| Right to Erasure | Manual only | Automated workflow (GDPR Art. 17) | Add |
| Diversity Reporting | Emiratization (UAE nationals) | EEO — 9 protected grounds (EEA 1998) | Modify |
| Working Time Compliance | Shift hours tracked only | OWT Act: 48h avg, 11h rest, 30min break | Add |
| Payroll Timezone | Asia/Dubai (UTC+4, no DST) | Europe/Dublin (UTC+0/+1 with DST) | Modify |
| Pension | None | Auto-Enrolment (NAERSA 2025) | Add |
| Postal Code | PO Box (no standard format) | Eircode (A65 F4E2 format) | Add |