HRSanad — Ireland Deployment Gap Analysis

What to add, remove, and modify to localise the GCC-built HRMS for the Republic of Ireland market
Prepared: 2026-04-20 Owner: Waheed Rahuman Kamaludeen Source system: HRSanad v1.0 (GCC/UAE) Target market: Republic of Ireland (EU)
42
Features to Add
18
Features to Remove
21
Features to Modify
24
Features to Keep As-Is
7
Compliance Risks
✚ Add — new capability needed
✖ Remove — UAE-only, not applicable
✎ Modify — exists but needs rework
✔ Keep — works as-is for Ireland
⚠ Risk — compliance gap if not addressed
💶

1. Payroll & Tax Engine

12 Add 6 Remove 5 Modify

⚠ Critical Compliance Gap

  • The entire UAE payroll tax model (no income tax, WPS, gratuity end-of-service) must be replaced with Ireland's PAYE/USC/PRSI system and Revenue PMOD real-time reporting.
  • Failure to implement Revenue PMOD before go-live is a legal violation — all Irish employers must file a Payroll Submission Request (PSR) on or before each pay date.
FeatureCurrent (UAE)Ireland RequirementPriorityAction
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
👤

2. Employee Master & Data Fields

7 Add 5 Remove 4 Modify
FeatureCurrent (UAE)Ireland RequirementPriorityAction
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
🗓️

3. Leave Management

8 Add 3 Remove 4 Modify
FeatureCurrent (UAE)Ireland RequirementPriorityAction
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
⏱️

4. Time & Attendance

3 Add 1 Remove 3 Modify 4 Keep
FeatureCurrent (UAE)Ireland RequirementPriorityAction
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
🔒

5. Compliance & Data Protection

8 Add 3 Remove 3 Modify 7 Risk

⚠ 7 Active Compliance Risks for Ireland

  • RISK-1: UAE PDPL compliance ≠ GDPR compliance. PDPL is modelled on GDPR but lacks key mechanisms: DPO appointment, 72-hour breach notification, DSAR response procedure. System has no DSAR workflow.
  • RISK-2: Religion, blood group, and biometric data stored without documented lawful basis — all three are GDPR Special Categories (Article 9). Requires explicit consent or substantial public interest basis.
  • RISK-3: GPS location data captured at clock-in — GDPR Article 5 proportionality test required. Must have privacy notice before first use.
  • RISK-4: No Data Retention Schedule. GDPR Article 5(1)(e): data must not be kept longer than necessary. System has no automated deletion/anonymisation.
  • RISK-5: Audit log stores IP address and user_agent but no documented lawful basis for processing this personal data.
  • RISK-6: Data residency currently Azure UAE North. Must move to Azure Ireland (West Europe) or another EEA region for GDPR adequacy.
  • RISK-7: No consent management or privacy notice acknowledgement system. GDPR Articles 13/14 require notice at point of data collection.
FeatureCurrent (UAE)Ireland RequirementPriorityAction
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
🌍

6. Localisation, Language & Calendar

2 Add 5 Remove 3 Modify
FeatureCurrent (UAE)Ireland RequirementPriorityAction
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

7. Modules That Transfer Directly to Ireland (Keep As-Is)

24 Keep

Significant Reuse — Core HR is Universal

  • The following features require no structural change — only configuration (holiday calendar, currency symbol, weekend definition) differs.
  • These represent ~40% of the total codebase that transfers with zero rework.
Module / FeatureWhy It TransfersMinor AdjustmentsAction
Multi-Tenant ArchitectureTenant 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 Master3-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 ModuleJob requisitions, applicant pipeline, scorecards, agencies — fully universal.Update salary range to EUR. Remove GCC-specific visa sponsorship tracking from applicant record.Minor
Appraisal & Performance ManagementKPI cycles, templates, scoring, increment matrices are universal HR practice.Keep as-is. Ireland uses same appraisal concepts.None
Training & DevelopmentCourse 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 AlertsDocument 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 ManagementEmployee 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 ControlHR 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 TrailChange 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
📊

8. Development Effort Estimate

🔴 PAYE / USC / PRSI Tax Engine

35 dev-days
  • PAYE two-band calculation with credits
  • USC progressive bands
  • PRSI class engine (8 classes)
  • BIK calculation
  • Cumulative YTD logic
  • Payslip template redesign

🔴 Revenue PMOD Integration

20 dev-days
  • PSR XML/JSON generation
  • RPN import from Revenue
  • PMOD submission status tracking
  • Amended PSR (corrections)
  • Employment Detail Summary (EDS)
  • Revenue ROS API integration

🟠 GDPR / Data Protection

25 dev-days
  • DSAR workflow + data export
  • Right to Erasure workflow
  • Consent management module
  • ROPA register
  • Breach notification system
  • Retention schedule automation
  • DPO role and dashboard

🟠 Irish Leave Types

15 dev-days
  • SSP (Statutory Sick Pay) engine
  • Parent's Leave (9 weeks)
  • Force Majeure Leave (3-day limit)
  • Carer's Leave (104 weeks)
  • Domestic Violence Leave
  • Irish annual leave calculation
  • Maternity / Paternity law updates

🟡 Payroll Engine Localisation

10 dev-days
  • Remove gratuity engine
  • Add redundancy calculator
  • SEPA payment file (pain.001)
  • Weekly/fortnightly payroll
  • Pension auto-enrolment
  • JV format additions (Xero, Sage)

🟡 Data Migration & Schema

12 dev-days
  • Remove _ar columns from all tables
  • Remove UAE-specific fields
  • Add PPS Number, PRSI Class, ERN
  • Add Eircode to address
  • New migrations + RLS policies
  • Irish holiday seed data
  • Shared TypeScript type updates

🟡 Working Time Compliance

8 dev-days
  • 48-hour week average checker
  • Rest period monitoring
  • Night work classification
  • 3-year retention policy job
  • WRC complaint log module
  • Attendance report updates

🟢 Localisation Cleanup

6 dev-days
  • Remove Arabic locale + RTL
  • Remove Hijri calendar
  • EUR currency formatting
  • Europe/Dublin timezone
  • Sat–Sun weekend
  • Phone number validation update

📦 Total Estimate

131 dev-days
  • ~26 weeks solo / ~7 weeks with 4 devs
  • Excludes: QA, UAT, Revenue PMOD certification
  • Revenue PMOD certification: +4–6 weeks
  • Infrastructure migration (Azure): +5 days
  • GDPR DPO sign-off: +2 weeks advisory
🗺️

9. Recommended Implementation Phases

1
Weeks 1–4 — Blocker: Cannot Go Live Without These

Legal & Compliance Foundations

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.

2
Weeks 5–12 — Core Payroll Tax Engine

PAYE / USC / PRSI + Revenue PMOD

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.

3
Weeks 13–20 — GDPR & Irish Leave

Data Protection + Statutory Leave Types

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.

4
Weeks 21–28 — Enhancements & Polish

Working Time Compliance + Pension + Reports

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.

📋

10. Quick Reference — UAE vs Ireland Feature Map

Feature AreaUAE / CurrentIreland / RequiredAction
Income TaxNone (0% income tax)PAYE: 20% standard / 40% higher rateAdd
Social InsuranceGOSI (Gulf nationals only)PRSI: Employee 4% + Employer 11.15% (Class A)Add
Social ChargeNoneUSC: 0.5%–8% progressiveAdd
Tax ReportingWPS SIF to CBUAE monthlyRevenue PMOD PSR on every pay dateAdd
End-of-Service BenefitGratuity (21–30 days/year)Statutory Redundancy (2 wks/year)Modify
Government IDEmirates ID (15-digit)PPS Number (7 digits + letter)Modify
Social Insurance IDGOSI NumberPPS Number + PRSI ClassModify
Immigration DocumentUAE Visa + Labour CardWork Permit (non-EEA) or EU freedomModify
Annual Leave30 days (UAE Art. 29)4 weeks OR 8% of hours (OWTA 1997)Modify
Maternity Leave45 days paid + 15 unpaid26 weeks + 16 optional unpaidModify
Paternity Leave5 days2 weeks (Paternity Leave Act 2016)Modify
Sick PayEmployer policy (no statutory min)5 days SSP @ 70% (Sick Leave Act 2022)Add
Parent's LeaveNone9 weeks (Parent's Leave Act 2019)Add
Force MajeureNone3 days/year for family emergencyAdd
Domestic Violence LeaveNone5 days paid (Work Life Balance Act 2023)Add
WeekendFriday + SaturdaySaturday + SundayModify
Public Holidays~14 UAE national + Islamic12 Irish bank holidays (fixed)Modify
Calendar SystemGregorian + HijriGregorian onlyRemove
LanguageEnglish + Arabic (RTL)English only (optionally Irish/GA)Remove
CurrencyAED (د.إ) primaryEUR (€) onlyModify
Payment FileWPS SIF (fixed-width)SEPA XML pain.001.001.03Add
Data ResidencyAzure UAE North (PDPL)Azure Ireland / EEA (GDPR)Modify
Data Protection LawUAE PDPLGDPR + Irish Data Protection Act 2018Modify
DSAR ProcessNone30-day DSAR workflow (GDPR Art. 15)Add
Right to ErasureManual onlyAutomated workflow (GDPR Art. 17)Add
Diversity ReportingEmiratization (UAE nationals)EEO — 9 protected grounds (EEA 1998)Modify
Working Time ComplianceShift hours tracked onlyOWT Act: 48h avg, 11h rest, 30min breakAdd
Payroll TimezoneAsia/Dubai (UTC+4, no DST)Europe/Dublin (UTC+0/+1 with DST)Modify
PensionNoneAuto-Enrolment (NAERSA 2025)Add
Postal CodePO Box (no standard format)Eircode (A65 F4E2 format)Add