All Irish employers must file a Payroll Submission Request (PSR) with Revenue on or before each pay date under PAYE Modernisation (2019). Failure to comply carries financial penalties. The PAYE/USC/PRSI engine and Revenue PMOD integration are legal prerequisites before processing any Irish payroll.
| Req ID | Requirement | Description & Business Rules | Legal Basis | Priority |
|---|---|---|---|---|
| PAY-001 | PAYE Income Tax Calculation | Calculate Pay As You Earn (PAYE) income tax using two-band rates: 20% (standard rate) on income up to the Standard Rate Cut-Off Point (SRCOP); 40% (higher rate) above SRCOP. SRCOP varies by marital status and year. Apply tax credits to reduce liability. Apply emergency tax (40% flat) when no Tax Credit Certificate is on file. Calculate on cumulative year-to-date basis from 1 January each tax year. | Taxes Consolidation Act 1997 | Critical |
| PAY-002 | USC (Universal Social Charge) | Calculate USC on gross income using progressive bands. Exempt below โฌ13,000 annual income. Current bands: 0.5% (โฌ0โโฌ12,012), 2% (โฌ12,013โโฌ25,760), 4% (โฌ25,761โโฌ70,044), 8% above โฌ70,044. Additional 3% surcharge on non-PAYE income above โฌ100,000. Full exemption for medical card holders and recipients of certain social welfare payments. Calculate cumulatively per tax year. | Finance Act (annual) | Critical |
| PAY-003 | PRSI (Pay Related Social Insurance) | Calculate PRSI contributions by PRSI class. Class A (majority of private sector employees): employee 4%, employer 11.15% on all earnings. Support all Revenue PRSI classes: A, A1, B, C, D, H, J, J1, M, S โ each with distinct employee/employer rates and earnings thresholds. PRSI class stored per employee; default to Class A on new hire. Used to fund state pension, Illness Benefit, Maternity Benefit, and Jobseeker's Benefit. | Social Welfare Acts | Critical |
| PAY-004 | Revenue PMOD โ Payroll Submission Request (PSR) | Generate and submit a Payroll Submission Request (PSR) to Revenue in XML/JSON format on or before each pay date. PSR must include: employer ERN, employee PPS number, pay period dates, gross pay, PAYE deducted, USC deducted, employee PRSI, employer PRSI, LPT (if applicable). Support correction submissions (amended PSR) for errors discovered after original filing. Track Revenue acknowledgement reference number per payroll run. Add PMOD_submitted status to payroll run state machine. | PAYE Modernisation 2019 | Critical |
| PAY-005 | Tax Credit Certificate (TCC) Management | Store Revenue-issued Tax Credit Certificate (TCC) per employee: personal tax credits amount, Standard Rate Cut-Off Point (SRCOP), USC status indicator. TCC updated annually each January or mid-year when employee circumstances change (marriage, new child, medical card). Import TCC data from Revenue Payroll Notification (RPN) file. If no TCC on file, auto-apply emergency tax rates. TCC changes logged in audit trail. | TCA 1997 s.530 | Critical |
| PAY-006 | Irish Tax Year (Calendar Year) Logic | Irish tax year runs 1 January to 31 December. All PAYE, USC, and PRSI calculations must be cumulative from 1 January (year-to-date basis). YTD counters must auto-reset on 1 January each year. Support tax year boundary payrolls (final December run + first January run). Retain full YTD totals per employee per tax year for historical reporting and Revenue queries. | TCA 1997 | Critical |
| PAY-007 | Revenue Payroll Notification (RPN) Import | Ability to download and import Revenue Payroll Notifications (RPNs) from Revenue via ROS (Revenue Online Service) API or manual file upload. RPN updates employee tax credits, SRCOP, and emergency tax flags in bulk at start of tax year or when Revenue issues a change notification. Auto-match RPN records to employees by PPS number. Log all RPN imports with timestamp and imported values. | PAYE Modernisation | High |
| PAY-008 | Weekly & Fortnightly Payroll Frequency | Support three payroll frequencies: Monthly (12 periods), Fortnightly (26 periods), and Weekly (52 periods). PAYE, USC, and PRSI must be calculated on a cumulative basis per Revenue rules โ not simply divided by number of periods. Many Irish retail, hospitality, healthcare, and construction workers are paid weekly or fortnightly. Frequency set per company and can differ across employee groups. | Revenue Employer Guide | High |
| PAY-009 | Benefit In Kind (BIK) Calculation | Implement BIK engine for taxable non-cash benefits. Company car: calculate taxable BIK using Revenue CO2-based Original Market Value (OMV) percentage table (updated annually). Medical insurance: actuarial value of premium added to notional pay. Other BIK types: accommodation, preferential loans (below-market interest), travel passes, vouchers. BIK added to taxable gross pay and processed through PAYE, USC, and PRSI. Revenue BIK tables must be updateable annually without code changes. | TCA 1997 Part 5 | High |
| PAY-010 | SEPA Credit Transfer Payment File | Generate SEPA Credit Transfer XML file (ISO 20022 pain.001.001.03 format) for Irish bank salary payments. Required fields: debtor IBAN, creditor IBAN (IE-prefix), creditor BIC, payment amount in EUR, employee name, payment reference. Batch all employees in a single SEPA file per payroll run. File submitted to company's bank for bulk payment. Replace WPS SIF format entirely. Validate Irish IBANs (IE + 2 check digits + 4-char bank code + 14-digit account). | SEPA Regulation EU 260/2012 | High |
| PAY-011 | Employment Detail Summary (EDS) | Generate annual Employment Detail Summary (EDS) for each employee โ the replacement for the P60 since PAYE Modernisation 2019. EDS summarises total gross pay, PAYE, USC, PRSI, and LPT for the tax year. Data is made available to employees via Revenue myAccount. System must retain complete cumulative annual pay and tax data per employee per tax year to produce accurate EDS. Generate and archive EDS annually in January for the prior tax year. | PAYE Modernisation 2019 | High |
| PAY-012 | Irish Pension Auto-Enrolment (NAERSA) | Implement Irish auto-enrolment pension scheme: auto-enrol employees aged 23โ60 earning above โฌ20,000/year who are not already in an occupational pension scheme. Contribution rates phase in over 10 years โ starting at Employee 1.5% / Employer 1.5% / State top-up 0.5%. Employees may opt out after 6 months but must be re-enrolled after 2 years. Contributions paid to National Automatic Enrolment Retirement Savings Authority (NAERSA). Track opt-out and re-enrolment dates. | Automatic Enrolment Retirement Savings Scheme Act 2024 | High |
| PAY-013 | Statutory Redundancy Pay Calculator | Calculate statutory redundancy payment per Irish Redundancy Payments Acts: 2 weeks' gross pay per year of service PLUS 1 bonus week, capped at โฌ600 per week. Minimum 2 years' continuous service required. Service counted from commencement date to termination date. Calculate automatically when separation_reason = 'redundancy' or 'collective_redundancy'. Include in final settlement payroll run. Track in payroll records separately from regular pay for Revenue reporting. | Redundancy Payments Acts 1967โ2022 | High |
| PAY-014 | Payslip โ Irish Format | Payslip must display: employee name, PPS number (masked), pay period, payroll frequency, gross pay, itemised earnings and allowances, Benefit In Kind (if applicable), taxable pay, PAYE deducted, USC deducted, employee PRSI, employer PRSI (shown separately), pension contributions, Local Property Tax (if applicable), total deductions, net pay. YTD (year-to-date) cumulative totals for each line. Available in PDF and via ESS portal. English language only. | Payment of Wages Act 1991 | High |
| PAY-015 | Local Property Tax (LPT) Deduction at Source | Support LPT deduction at source when Revenue instructs the employer to collect it via payroll. LPT amount stored as a fixed monthly deduction per employee, loaded from Revenue instruction. Included in Revenue PMOD PSR submission each pay period. LPT deduction shown separately on payslip. Must handle scenarios where employee changes employer mid-year (stop deducting on separation, start on joining). | Finance (Local Property Tax) Act 2012 | Medium |
| PAY-016 | Journal Voucher Export โ Irish Accounting Software | Generate payroll Journal Voucher (JV) in formats compatible with accounting software popular in Irish SMB market: Xero (CSV import format), Sage Payroll Ireland (CSV), QuickBooks (IIF/CSV), and generic CSV with cost centre breakdown. Remove Temenos T24 format (GCC-specific). Retain SAP BAPI format for enterprise clients. JV must include employer PRSI as a separate cost line for management accounts. | Company Law / Accounting Standards | Medium |
| PAY-017 | Gross-to-Net Calculation Flow | Gross-to-net payroll calculation must follow this sequence: (1) Gross Pay (basic + allowances + OT), (2) Add Benefit In Kind (notional), (3) Taxable Pay = Gross + BIK โ pension contributions, (4) PAYE = apply standard/higher rate bands minus tax credits, (5) USC = progressive bands on gross, (6) Employee PRSI = 4% (Class A) on gross, (7) Employee pension contribution, (8) LPT (if applicable), (9) Other deductions (loans), (10) Net Pay. Employer PRSI calculated separately as a cost but not deducted from employee net pay. | Revenue Employer Guide | Critical |
| PAY-018 | Final Settlement Payroll โ Irish Rules | Final settlement run must include: (1) Salary pro-rated to last working day, (2) Accrued annual leave balance encashment (mandatory under OWTA 1997 โ all unused leave paid on termination), (3) Statutory redundancy pay (if applicable), (4) Ex-gratia payment (PAYE-exempt up to โฌ10,000; above that, taxed normally), (5) Employer PRSI on all taxable elements. Final PSR must be submitted to Revenue. Employee receives final payslip with all YTD totals. Trigger Employment Detail Summary generation. | Organisation of Working Time Act 1997 s.23 | High |
| PAY-019 | Cycle to Work Scheme | Support the Revenue-approved Cycle to Work scheme: employer purchases bicycle and safety equipment (up to โฌ1,500 for e-bikes, โฌ1,250 for standard bikes) for employee; employee repays via salary sacrifice over up to 12 months. Amount is exempt from PAYE, PRSI, and USC. Limit once per 4-year period per employee. Track scheme participation, repayment schedule, and exemption amounts. Integrate with payroll deductions. | TCA 1997 s.118(5G) | Medium |
| PAY-020 | Travel Pass Scheme | Support employer-funded Tax Saver Commuter Ticket scheme: employer purchases annual or monthly public transport pass for employee. Cost is exempt from PAYE, PRSI, and USC. Track pass type, cost, and tax relief applied. Include in payslip as a non-cash benefit exempt from tax. Reduce employer PRSI cost accordingly. Available through Dublin, Cork, Galway, Limerick transport networks. | TCA 1997 s.118B | Medium |
| PAY-021 | Payroll Bureau / Agent Mode | Support payroll bureau model where an external accountancy firm (registered Revenue PMOD agent) runs payroll on behalf of multiple Irish SMB clients. Add Payroll Bureau user role with cross-tenant access (limited to payroll processing, PSR submission, report generation). Log all bureau actions in audit trail with bureau agent name. Common in Irish SMB market where companies outsource payroll to accountants. | Revenue Agent Registration | Low |
| PAY-022 | Illness Benefit Integration (DEASP) | When an employee is absent on certified sick leave beyond Statutory Sick Pay entitlement, they may claim Illness Benefit from DEASP (Dept of Social Protection). Track: sick leave start date, SSP days consumed, Illness Benefit claim reference. Reduce employer gross pay by Illness Benefit amount when employer tops up. Show Illness Benefit offset on payslip. Illness Benefit currently โฌ232/week (taxable via PAYE, not PRSI/USC). | Social Welfare Acts | Low |
| Req ID | Requirement | Description & Business Rules | Legal Basis | Priority |
|---|---|---|---|---|
| EMP-001 | PPS Number | Store Personal Public Service (PPS) Number for each employee. Format: 7 digits + 1 or 2 letters (e.g., 1234567TW). Required for Revenue PMOD PSR, PRSI records, social welfare entitlements, and Revenue correspondence. Validate check digit on entry. Treat as highly sensitive โ mask in UI for all roles except HR Admin and Payroll Admin. Encrypted at rest in database. Must be included in SEPA payroll submission references. | Social Welfare Acts | Critical |
| EMP-002 | PRSI Class | Store PRSI class for each employee. Supported classes: A, A1, B, C, D, H, J, J1, M, S. Default to Class A (standard private sector employees) on new hire. Class determines both employee and employer PRSI contribution rates. Must be validated against current Revenue PRSI class table. Changes to PRSI class must be logged in audit trail with effective date. Displayed on payslip for employee reference. | Social Welfare Acts | Critical |
| EMP-003 | Revenue Employer Registration Number (ERN) | Store Revenue Employer Registration Number (ERN) on the company record. Format: 7 digits + letter (e.g., 1234567T). Required on every Revenue PMOD submission. Also store Companies Registration Office (CRO) number. Both fields mandatory before first payroll run can be approved. Validate ERN format on entry. Displayed in SEPA file header and EDS report. | PAYE Modernisation 2019 | Critical |
| EMP-004 | Eircode (Irish Postal Code) | Store Eircode for employee home address. Format: 3-character routing key + space + 4-character unique identifier (e.g., D01 AB12, A65 F4E2). Validate with regex. Used for correct payslip address display and Revenue correspondence. Optional for employees with non-Irish addresses (cross-border workers). Every residential address in Ireland has a unique Eircode since 2015. | Communications Act | High |
| EMP-005 | Irish Work Permit Tracking | Track Irish work permit details for non-EEA employees. Supported permit types: Critical Skills Employment Permit, General Employment Permit, Intra-Company Transfer Permit, Atypical Working Scheme, Stamp 1G (graduate), Stamp 4 (settled/long-term residency). Store: permit type, permit number, issue date, expiry date. EEA/EU/Swiss nationals and Irish citizens require no permit โ mark as 'No permit required'. Trigger document expiry alerts at 90, 60, and 30 days before expiry. | Employment Permits Acts 2003โ2014 | High |
| EMP-006 | Employment Contract Type | Record employment contract type: Permanent Full-Time, Permanent Part-Time, Fixed-Term, Specified Purpose, Temporary Agency Worker, Zero-Hours Contract, If-and-When Contract. Ireland restricts zero-hours contracts (Employment (Miscellaneous Provisions) Act 2018) โ band hours must be offered based on average worked. Flag fixed-term employees for renewal tracking; after 4 years of continuous fixed-term employment, the employee is entitled to a contract of indefinite duration. | Employment (Misc Provisions) Act 2018 | High |
| EMP-007 | Right to Disconnect Policy Acknowledgement | Record employee acknowledgement of the employer's Right to Disconnect policy. Irish Code of Practice on the Right to Disconnect (2021) requires employers to have a written policy. Store: policy version, employee acknowledgement date, method (digital signature on ESS). Employees must re-acknowledge when policy is updated. HR Admin can generate a report of employees yet to acknowledge current policy version. | WRC Code of Practice 2021 | High |
| EMP-008 | Banded Hours Record | For employees on variable-hours or if-and-when contracts, track average weekly hours worked over each 12-month reference period. If average hours fall into a higher band, employer must offer contract reflecting actual hours. Bands per Employment (Miscellaneous Provisions) Act 2018: Band A (3โ6 hrs), B (6โ11 hrs), C (11โ16 hrs), D (16โ21 hrs), E (21โ26 hrs), F (26โ31 hrs), G (31โ36 hrs), H (36+ hrs). Generate banding review report annually. | Employment (Misc Provisions) Act 2018 | Medium |
| EMP-009 | Probation Period Tracking | Track employee probation period with start and end dates. Irish Employment (Amendment) Act 2023 limits probation to 6 months (extendable to 12 months by employer only where objectively justified). Probationary employees still have significant employment rights. Alert HR 30 days before probation end. Record outcome: confirmed, extended (with reason), terminated. Probation extension must have written notice to employee. | Employment (Amendment) Act 2023 | Medium |
| EMP-010 | Next of Kin / Emergency Contact | Store emergency contact details: name, relationship, phone number, and address. Address field required under Irish employment law for accident/death notification procedures. Minimum one emergency contact per employee. Visible to HR Admin only. Not displayed in team views or reports. GDPR: treat as personal data of a third party โ include in privacy notice that this data is collected. | Health and Safety Act 2005 | Medium |
| EMP-011 | Pension Scheme Membership | Track existing occupational pension scheme membership to correctly determine auto-enrolment eligibility. Fields: scheme name, scheme type (defined contribution/defined benefit), membership start date, employee contribution %, employer contribution %. Employees already in a qualifying occupational pension scheme are exempt from auto-enrolment. Must be verifiable against NAERSA records when scheme launches. | Pensions Act 1990 | Low |
| EMP-012 | Statement of Core Terms (Day 5 Document) | Track issuance of the mandatory Statement of Core Terms โ must be provided within 5 days of employment start (Employment (Miscellaneous Provisions) Act 2018). Core terms include: employer name, place of work, job title/nature of work, start date, expected duration, rate of pay, pay frequency, hours of work. Record: issue date, delivery method, employee acknowledgement. Alert HR if not issued within 4 days of start date. | Employment (Misc Provisions) Act 2018 | Low |
Employees are entitled to: (a) a paid day off on the holiday, OR (b) a paid day off within the month, OR (c) an extra day's annual leave, OR (d) an extra day's pay โ employer's choice per the Organisation of Working Time Act 1997.
| Req ID | Requirement | Description & Business Rules | Legal Basis | Priority |
|---|---|---|---|---|
| LVE-001 | Annual Leave โ Irish Calculation | Calculate annual leave entitlement using whichever method gives the greatest result: (a) 4 working weeks per year, OR (b) one-third of a working week for each calendar month in which the employee worked at least 117 hours, OR (c) 8% of hours worked in the leave year, capped at 4 working weeks. Applies proportionally to part-time and variable-hours workers. Leave year runs 1 April to 31 March (but employer may use calendar year). All unused leave must be paid on termination. | Organisation of Working Time Act 1997 s.19 | Critical |
| LVE-002 | Irish Public Holidays (10 per year) | Maintain Irish statutory bank holiday calendar with all 10 annual public holidays. Include algorithm for floating holidays: Easter Monday (calculate from Easter Sunday using Meeus/Jones/Butcher algorithm), St. Brigid's Day rule (1 Feb if Friday, otherwise first Monday in February), May/June/August/October Monday bank holidays. Seed new holiday calendar each January for the coming year. Employers in certain sectors (retail, hospitality) must give the public holiday benefit even when the business operates on that day. | Organisation of Working Time Act 1997 s.21 | Critical |
| LVE-003 | Statutory Sick Pay (SSP) | Implement Irish Statutory Sick Pay scheme. Entitlement: 5 days in 2024 (rising to 7 in 2025, 10 in 2026) per leave year. Payment rate: 70% of normal gross daily pay, capped at โฌ110/day. Employee must have 13 weeks' continuous service before entitlement arises. Requires a medical certificate from day 1 (no self-certification). SSP days tracked separately from contractual sick leave. After SSP exhausted, employee may claim Illness Benefit from DEASP. SSP is taxable (PAYE applies). | Sick Leave Act 2022 | Critical |
| LVE-004 | Maternity Leave | 26 weeks' ordinary maternity leave (mandatory 2 weeks before and 4 weeks after birth). Plus 16 weeks' additional maternity leave (unpaid). Maternity Benefit (โฌ274/week) paid by DEASP โ employer may top up to full salary; track top-up separately. Employee must give 4 weeks' written notice with medical certificate. Protected against dismissal during leave and for 9 months after return. Leave can be transferred to father if mother dies within 40 weeks of birth. Reinstatement to same or equivalent role on return. | Maternity Protection Acts 1994โ2004 | Critical |
| LVE-005 | Parent's Leave | 9 weeks' paid Parent's Leave per parent for each child born or adopted on or after 1 November 2019. Can be taken during the first 2 years of the child's life (or 2 years from adoption). Paid via Parent's Benefit from DEASP (โฌ274/week) โ employer may top up. Non-transferable between parents. Both parents can take concurrently. Employee must give 6 weeks' notice. Applies to birth parents, adoptive parents, and parents' same-sex partners. | Parent's Leave and Benefit Act 2019 | Critical |
| LVE-006 | Paternity Leave | 2 weeks' paid Paternity Leave for the father or non-birth parent. Must be taken within 6 months of the birth or adoption. Paternity Benefit from DEASP (โฌ274/week) โ employer may top up. Employee must give 4 weeks' notice with birth certificate or proof of adoption. Extends to adoptive fathers, same-sex partners, and civil partners. Reinstatement to same role guaranteed. Non-transferable and non-extendable. | Paternity Leave and Benefit Act 2016 | High |
| LVE-007 | Force Majeure Leave | Paid leave for urgent family illness or injury. Maximum 3 days in any 12-month period OR 5 days in any 36-month period. Immediate family only: child, adoptive child, spouse/civil partner, parent, sibling, person for whom employee is the primary carer. Employee must notify employer as soon as practicable. Paid at full rate by employer. No carry-forward allowed. System must auto-reject applications exceeding the limit. Require brief incident description on application (not proof). | Parental Leave Act 1998 s.13 | High |
| LVE-008 | Carer's Leave | Unpaid job-protected leave to provide full-time care to a person requiring full-time care and attention. Duration: minimum 13 weeks, maximum 104 weeks per relevant person. Not a continuous entitlement โ can be taken in one block or multiple periods (minimum 13 weeks each). Employee must apply to DEASP for Carer's Benefit/Allowance separately. Requires HSE Decision Officer medical certificate confirming care need. Record per care recipient (separate 104-week pool per person). Employment is protected; right to return to same or equivalent role. | Carer's Leave Act 2001 | High |
| LVE-009 | Domestic Violence Leave | 5 days' paid leave per year for victims of domestic violence. Highest confidentiality level โ reason must not be visible in team calendars, manager views, or any reports (shows as "Special Leave" to all roles except DPO and HR Admin). No carry-forward. No documentation requirement โ employer cannot ask for proof. Employee does not need to disclose the reason. Implemented under Work Life Balance and Miscellaneous Provisions Act 2023. HR Admin access restricted to aggregate statistics only; no individual identification. | Work Life Balance Act 2023 | High |
| LVE-010 | Parental Leave (Unpaid) | 26 weeks' unpaid Parental Leave per child (up to age 12 of the child; up to age 16 if child has a disability). Applies to both parents. Can be taken as one continuous block, split into two separate periods, or as shorter working (reduced hours by agreement). Employee must give 6 weeks' notice. Employer may postpone for up to 6 months for business reasons with written notice. Employment fully protected during leave. Parental Leave is separate from Parent's Leave. | Parental Leave Acts 1998โ2019 | High |
| LVE-011 | Adoptive Leave | 24 weeks' Adoptive Leave for the adopting mother or sole male adopter, beginning on the date of placement. Plus 16 weeks' additional adoptive leave (unpaid). Adoptive Benefit from DEASP for first 24 weeks. Employee must give 4 weeks' notice with adoption certificate. Both parents cannot take Adoptive Leave simultaneously โ it goes to the primary carer. Same protections as maternity leave (no dismissal, right to return). | Adoptive Leave Acts 1995โ2005 | Medium |
| LVE-012 | Jury Service Leave | Employees summoned for jury service must be granted the time off. Duration is indefinite (jury service can last days to months). Employer is not legally required to pay during jury service (contractual policy varies). Store: jury summons date, court name, estimated duration, actual return date. Not deducted from annual leave entitlement. Employer cannot penalise or dismiss an employee for attending jury service. Configure payment policy (unpaid/full pay/partial) per company. | Juries Act 1976 | Medium |
| LVE-013 | Time Off to Seek Work (Redundancy) | Employees under notice of redundancy with 2+ years' service are entitled to reasonable paid time off during working hours to seek alternative employment or attend retraining. Duration is "reasonable" โ not defined in statute. Record as a leave type linked to separation record when reason = 'redundancy'. Mark as paid at normal rate. Attach to separation workflow โ auto-create entitlement when redundancy process starts. | Redundancy Payments Act 1967 s.7A | Medium |
| LVE-014 | Leave Accrual During Sick Leave & Maternity Leave | Employees continue to accrue annual leave entitlement while on certified sick leave and maternity leave. Sick leave accrual: employees on certified sick leave accrue annual leave at the normal rate. Maternity leave: annual leave and public holiday entitlements continue to accrue during the entire maternity leave period (including the additional 16-week unpaid extension). System must add accrued leave to balance when employee returns from such leave. | CJEU Stringer case; OWTA 1997 s.19 | Low |
| Req ID | Requirement | Description & Business Rules | Legal Basis | Priority |
|---|---|---|---|---|
| TNA-001 | SaturdayโSunday Weekend Definition | Weekend = Saturday and Sunday throughout the system. All leave day calculations, overtime triggers, public holiday substitutions, roster defaults, and attendance reports must use SaturdayโSunday as the weekend. Sunday work is often contractually enhanced (Sunday Premium) โ track hours worked on Sundays separately. Ensure bank holiday calculation correctly identifies the preceding Friday/following Monday for substitute day rules. | OWTA 1997 | Critical |
| TNA-002 | Working Time Compliance Engine | Automatically monitor and alert for Organisation of Working Time Act 1997 breaches: (1) Maximum average 48 hours/week over a 4-month reference period โ flag when employee approaches or exceeds this; (2) Minimum 11 consecutive hours' rest in any 24-hour period; (3) Minimum 24 consecutive hours' rest in any 7-day period (or 48 hours in 14 days); (4) 15-minute break after 4.5 hours' work; (5) 30-minute break after 6 hours. Dashboard alert for HR showing all current breaches. Block payroll finalisation if critical breaches exist. | Organisation of Working Time Act 1997 | Critical |
| TNA-003 | Night Work Tracking & Classification | Identify and classify night workers per OWTA 1997: night work = work performed between midnight and 7am on at least 50 nights per year for a minimum of 3 hours on each such night. Night workers may not average more than 8 hours per 24-hour period. Flag shifts as night_work = true. Maintain annual cumulative count of night shifts per employee. Generate Night Worker Classification Report. Trigger health assessment offer after classification (employer obligation). Additional protections apply in certain sectors (healthcare, transport). | OWTA 1997 s.16 | High |
| TNA-004 | 3-Year Attendance Record Retention | Retain all working time records (clock-in, clock-out, breaks, overtime, shift details) for a minimum of 3 years as required by OWTA 1997. Add retention_required_until field (= record_date + 3 years) to attendance records. Implement scheduled job: after 3 years + 1 month, anonymise employee reference while retaining aggregate data (hours, date, shift type) for audit purposes. Replace employee_id with an anonymised hash. GDPR-compatible: purpose-limited data. WRC inspectors may request records during this period. | OWTA 1997 s.25 | High |
| TNA-005 | Configurable Overtime Rates | Ireland has no statutory minimum overtime rate โ OT rates are contractual. Make OT rates fully configurable per company (not hardcoded). Standard practice in Ireland: weekday OT at 1.5ร basic rate; Saturday OT at 1.5ร; Sunday at 2ร (Sunday Premium); public holiday OT at 2ร plus a substitute day. Track Sunday Premium hours separately for payroll reporting and EEA pay gap analysis. OT calculation uses actual hours worked beyond contracted weekly hours. | Employment contract / NMW Act | High |
| TNA-006 | GPS Attendance with GDPR Consent | GPS-based clock-in/out (capturing latitude, longitude, accuracy) must include a GDPR-compliant consent layer. Before first use, employee must acknowledge a privacy notice explaining: what location data is collected, why it is collected (employment contract/safety), who has access, how long it is retained. Consent record stored with timestamp and IP. Employees who withdraw consent cannot use GPS clock-in (must use alternative method). Biometric attendance also requires explicit consent as Special Category data. GDPR Article 5 proportionality documented in ROPA. | GDPR Art. 5, 7 | High |
| TNA-007 | Europe/Dublin Timezone Handling | Default tenant timezone = Europe/Dublin (UTC+0 in winter / UTC+1 IST in summer). Ireland observes Daylight Saving Time: clocks advance 1 hour on last Sunday in March, retract on last Sunday in October. All clock-in/out times stored in UTC and converted to Europe/Dublin for display and calculation. Critical for attendance records near DST transition: a 3-hour shift spanning 2am on DST changeover day must calculate correctly (2 hours actual vs 3 hours displayed). Handle the 23-hour and 25-hour DST days correctly in weekly hour calculations. | OWTA 1997 | Critical |
| TNA-008 | Attendance Report โ Irish Format | HR-generated PDF attendance report for an employee over a selected date range. Report columns: Date, Day, Clock-In Time, Clock-Out Time, Break Deducted, Total Hours Worked, Hours This Week (running total), 4-Month Rolling Average (for 48h compliance), Sunday/PH flag, Night Work flag, Compliance Status (โ/โ ). Footer: total days present, total hours, average weekly hours, night work nights count. Report must be retainable in PDF for 3 years (WRC inspection readiness). | OWTA 1997 s.25 | Medium |
| TNA-009 | Short-Time Working & Lay-Off Tracking | Track short-time working (employer reduces hours/pay below 50% of normal for at least one week) and lay-off periods (employer provides no work with expectation of resumption). Record start date, type, expected duration. After 4 consecutive weeks (or 6 weeks in 13 weeks) of lay-off or short-time, employee may submit RP9 form to claim redundancy. System must alert HR when threshold approaches. Required for Redundancy Payments Acts compliance. Connect to payroll for partial week pay calculations. | Redundancy Payments Act 1967 s.11 | Medium |
| TNA-010 | Remote Working Policy Tracking | Track employee remote working arrangements. Under Work Life Balance Act 2023, employees with 6+ months service may request remote working (employer can refuse for valid business reasons, but must respond within 4 weeks). Store: request date, approved/refused, effective date, % remote, employer response. Required if employee claims Home Office Tax Relief through Revenue. Track for GDPR data transfer purposes (home address = data processing location). | Work Life Balance Act 2023 | Low |
| Req ID | Requirement | Description & Business Rules | Legal Basis | Priority |
|---|---|---|---|---|
| GDP-001 | EEA Data Residency | All personal data must be stored and processed within the European Economic Area. Deploy on Azure Ireland (West Europe) or Azure North Europe (Netherlands). No data transfer outside EEA without Standard Contractual Clauses (SCCs) or adequacy decision. This includes database, blob storage (documents/photos), Redis cache, and any third-party integrations. Revenue PMOD API calls remain within IE/EU. Update deployment scripts, Kubernetes cluster region, storage accounts, and Supabase instance. | GDPR Art. 44โ49 | Critical |
| GDP-002 | Data Subject Access Request (DSAR) Workflow | GDPR Article 15 right of access โ employee may request all personal data held about them. Must be fulfilled within 30 calendar days (extendable by 2 months for complex requests with notice). Implement: DSAR request form in ESS portal, automated data export (all tables containing employee_id โ salary history, audit log, attendance, leave, documents, messages), HR review step before release, secure delivery to employee, DSAR log in audit trail. No charge to employee for first request. Include third-party data where employee's data appears (e.g., approver names in leave records). | GDPR Art. 15 | Critical |
| GDP-003 | Right to Erasure (Right to be Forgotten) | GDPR Article 17 โ after the legal retention period, employee data must be anonymised on request. Irish retention periods: payroll records 6 years (Revenue), time/attendance records 3 years (OWTA), general HR files up to 7 years after separation. Implement automated retention schedule with anonymisation job. On request, HR Admin can manually trigger early erasure with DPO approval. Anonymisation replaces: name, address, PPS number, contact details, biometrics. Retain anonymised payroll aggregates for Revenue audit trail. Log all erasure actions. | GDPR Art. 17 | Critical |
| GDP-004 | 72-Hour Data Breach Notification | GDPR Article 33 โ notify Data Protection Commission (DPC) within 72 hours of becoming aware of a personal data breach that risks individuals' rights and freedoms. Implement: security incident log with severity classifier (low/medium/high/critical), automated DPC notification template, employee notification workflow (Article 34 โ where breach is high risk to individuals), DPO immediate notification. Log all incidents with: discovery time, notification time, data categories affected, number of records, remediation steps. Retain incident records for 5 years. | GDPR Art. 33โ34 | Critical |
| GDP-005 | Consent Management | Employees must acknowledge the privacy notice on first ESS login. Track consent version, acknowledgement timestamp, and IP address. For Special Category data (biometrics, health information, religion if collected), capture separate explicit consent with the processing purpose stated. Consent withdrawal mechanism: employee can withdraw consent, triggering a data erasure request workflow. Where consent is the lawful basis for processing, processing must stop on withdrawal. Maintain consent audit log. Consent must be freely given, specific, informed, and unambiguous. | GDPR Art. 7, 13 | Critical |
| GDP-006 | Records of Processing Activities (ROPA) | GDPR Article 30 โ maintain a Register of Processing Activities documenting all HR data processing. Each entry must include: data category, purpose, lawful basis, data subject categories, recipients/third parties, cross-border transfer mechanism, retention period. Generate ROPA report in DPC-compliant format for inspection. Store as an admin-only configuration module. Update ROPA when new features are added. DPO must review ROPA at least annually. Include processing activities for: payroll, leave, attendance, documents, recruitment, appraisal, training. | GDPR Art. 30 | Critical |
| GDP-007 | Data Protection Officer (DPO) Role | Add DPO user role to the system. DPO has read access to: all DSAR requests and responses, consent records, ROPA register, breach incident log, special category data processing records. DPO approval required as a gate for: enabling biometric attendance per tenant, processing Special Category data, new data sharing arrangements with third parties. DPO contact information stored in tenant configuration and published in employee privacy notice. DPO notifications sent automatically for breach incidents, DSAR completions, and consent withdrawals. | GDPR Art. 37โ39 | High |
| GDP-008 | Special Category Data Controls | Special Category data in the HRMS: biometrics (attendance fingerprints/face), health data (sick leave reasons, medical certs, disability), sexual orientation (if EEO monitoring), religion (if collected). Each requires: documented lawful basis (explicit consent or substantial public interest), DPO sign-off, minimised access (HR Admin only), purpose limitation, explicit consent form with processing purpose stated. Add special_category flag to data fields. Audit every access to special category data. Apply data minimisation โ only collect what is operationally necessary. | GDPR Art. 9 | High |
| GDP-009 | Automated Data Retention & Anonymisation | Implement a retention schedule table with automated anonymisation job running nightly. Retention periods enforced: payroll records 6 years (Revenue obligation), time/attendance records 3 years (OWTA), HR/personnel files 7 years post-separation, recruitment records 1 year after rejection (GDPR recommended). Records not subject to an active legal hold are anonymised automatically when their retention period expires. Anonymisation replaces identifying fields with a non-reversible hash. Retain data category for statistical purposes. | GDPR Art. 5(1)(e); TCA 1997; OWTA 1997 | High |
| GDP-010 | WRC Complaint Log | Track Workplace Relations Commission (WRC) complaints and claims. Fields: employee name/ID, complaint date, claim type (unfair dismissal, discrimination, minimum wage, working time, equality, fixed-term rights), WRC case reference number, adjudication hearing date, outcome (dismissed/upheld/settled), award amount if any. Restricted to HR Admin and Legal roles. When a WRC complaint is filed, place a legal hold on all data related to that employee (suspend automated anonymisation). Generate compliance report for management board. | Workplace Relations Act 2015 | High |
| GDP-011 | Employment Equality Monitoring | Support voluntary anonymous collection of EEO (Equal Employment Opportunity) data across the 9 protected grounds under Irish equality law: gender, civil status, family status, sexual orientation, religion, age, disability, race, membership of the Traveller community. Data stored separately from payroll with strict access controls. Used for equal pay audits (Gender Pay Gap Information Act 2021 โ mandatory for 250+ employees from 2022) and diversity reporting. Never used in promotion/selection decisions. Generate aggregate diversity headcount report. | Employment Equality Acts 1998โ2015; Gender Pay Gap Information Act 2021 | Medium |
| GDP-012 | Gender Pay Gap Reporting | Companies with 250+ employees must publish gender pay gap report annually (Gender Pay Gap Information Act 2021; reducing to 50+ employees by 2025). Report must include: mean and median gender pay gap (%), mean and median bonus pay gap (%), percentage of males/females in each pay quartile, percentage receiving bonuses and BIK. System must calculate these metrics from payroll data. Generate report in format compliant with SI 33/2022 (Gender Pay Gap Information Regulations). Store historical reports for 3 years. | Gender Pay Gap Information Act 2021 | Medium |
| Req ID | Requirement | Description & Business Rules | Legal Basis | Priority |
|---|---|---|---|---|
| LOC-001 | Euro (EUR) as Primary Currency | All monetary values in EUR (โฌ). Format: โฌ1,234.56 (โฌ symbol, comma thousand separator, dot decimal). Ireland has been a eurozone member since 1999. Remove multi-currency payroll. Salary components, payslips, payroll reports, JV exports, SEPA file โ all in EUR. Revenue PMOD submissions in EUR cents (integer). Wage rate displays: hourly rate in EUR/hour; annual salary in EUR/year. National Minimum Wage (NMW) validation in EUR (check employee effective hourly rate โฅ NMW). | EU Regulation 974/98; National Minimum Wage Act 2000 | Critical |
| LOC-002 | National Minimum Wage (NMW) Validation | Validate that no employee's effective hourly rate falls below the Irish National Minimum Wage. Current NMW: โฌ13.50/hour (from 1 January 2025). Sub-minimum rates apply for youth workers: aged 20 and under in first year = 70% NMW; aged 20 and under in second year = 80%; aged 20 and under in third year = 90%. Living Wage (advisory): higher tier for employers who adopt it. Alert payroll admin before run if any employee will receive below NMW. NMW rate must be configurable (updated annually by government order). | National Minimum Wage Acts 2000โ2024 | Critical |
| LOC-003 | Irish Phone Number Validation | Validate Irish phone numbers: mobile format 08X XXXXXXX (local) or +353 8X XXXXXXX (international). Dublin landline: 01 XXXXXXX. Other areas: 0XX XXXXXXX. Use libphonenumber-js with IE locale for validation. ESS mobile login (email-or-mobile) must accept Irish mobile format (08X or 353 8X stripped of leading zero). SMS notifications use international format +353 (drop leading 0 and prepend +353). Store in E.164 format (+353XXXXXXXXX) in database. | ComReg Numbering Plan | High |
| LOC-004 | DD/MM/YYYY Date Format | Ireland uses DD/MM/YYYY date format โ same as UK/EU convention. All date displays in UI use DD/MM/YYYY. Revenue PMOD API submissions use ISO 8601 YYYY-MM-DD as required by Revenue specification. Internal storage in ISO 8601 (UTC). date-fns format: 'dd/MM/yyyy' for display. No Hijri calendar. No dual-calendar date pickers. Payslip date headers in long format: "25 December 2025". SEPA XML date fields in YYYY-MM-DD. | ISO 8601; Revenue PMOD spec | High |
| LOC-005 | English-Only UI (with Optional Irish/Gaeilge) | Primary language is English only. Remove Arabic language pack, RTL stylesheet, and AR locale from i18n configuration. Remove _ar suffix columns from all database tables (names, labels, descriptions). Payslips, reports, and documents in English only. Optional Tier-2 feature: add Irish language (Gaeilge/GA) locale for public sector clients under the Official Languages (Amendment) Act 2021 โ this is not required for private sector deployment. All text LTR. Remove Tailwind RTL plugin. | Official Languages Act 2021 (public sector only) | High |
| LOC-006 | Irish IBAN Validation | Validate Irish IBANs for payroll bank account fields. Irish IBAN format: IE + 2 check digits + 4-letter bank code (AIBK, BOFI, ULSB, PTSB etc.) + 6-digit branch sort code + 8-digit account number (total 22 characters). Validate using ISO 13616 mod-97 algorithm. Display with spaces for readability: IE29 AIBK 9311 5212 3456 78. Mandatory for all employees being paid via SEPA. Error message must clearly indicate invalid IBAN format. | SEPA Regulation; ISO 13616 | Medium |
| LOC-007 | Irish Address Validation | Support full Irish address structure: Address Line 1, Address Line 2, Address Line 3, Town/City, County (dropdown of 26 counties + 4 cities), Eircode. County dropdown: Carlow, Cavan, Clare, Cork, Donegal, Dublin, Galway, Kerry, Kildare, Kilkenny, Laois, Leitrim, Limerick, Longford, Louth, Mayo, Meath, Monaghan, Offaly, Roscommon, Sligo, Tipperary, Waterford, Westmeath, Wexford, Wicklow, plus Dublin City, Cork City, Galway City, Limerick City. Eircode lookup optional (via Eircode.ie API). | Eircode Act 2015 | Medium |
| LOC-008 | Health & Safety Training Records | Track mandatory Health & Safety training per Safety, Health and Welfare at Work Act 2005. All employees must receive adequate instruction, training, and supervision for their work. High-risk sectors (construction, healthcare, food processing) have additional mandatory certifications: Safe Pass (construction), Manual Handling, First Aid (PHECC). Store: training type, provider, completion date, expiry date (most H&S certs valid 3โ5 years). Alert HR 60 days before expiry. HSAI (Health and Safety Authority Ireland) may inspect training records. | Safety, Health and Welfare at Work Act 2005 | Low |
| Req ID | Requirement | Description & Business Rules | Legal Basis | Priority |
|---|---|---|---|---|
| RPT-001 | P45 Equivalent โ Leaving Certificate | On employee departure, generate a Leaving Certificate (P45 replaced by EDS under PMOD 2019 but employers still need to confirm employment end to Revenue via final PSR). Final PSR to Revenue must include cessation date and reason. Employee receives their year-to-date income and tax summary via Revenue myAccount. System must: flag payroll run as 'final' for this employee, submit cessation PSR to Revenue, generate internal Employment Summary document for employee file. Archive YTD tax data. | PAYE Modernisation 2019 | Critical |
| RPT-002 | PRSI Contribution Report | Generate monthly and annual PRSI contribution report per employee: employee PRSI, employer PRSI, PRSI class, insurable weeks, insurable earnings. Total employer PRSI liability by department and cost centre. Required for internal cost allocation, insurance premium calculations, and Revenue audit readiness. Also supports DEASP social welfare queries where an employee's PRSI contribution record is disputed. Export to CSV and PDF formats. | Social Welfare Acts | High |
| RPT-003 | Payroll Cost Report | Monthly payroll cost report for management accounts showing total employment cost (not just net pay): gross salary, employer PRSI (11.15%), employer pension contribution, any BIK cost, total cost per employee, total by department, total by cost centre. Essential for Irish SMB financial reporting. Employer PRSI is a substantial cost (not visible on employee payslip) โ must be clearly reported separately. Export to Xero/Sage/QuickBooks-compatible CSV formats. | Companies Act 2014 (Accounting) | High |
| RPT-004 | Salary Register | Generate monthly salary register listing all employees with: employee name, PPS (masked), department, gross pay, PAYE, USC, employee PRSI, employer PRSI, net pay, bank account (masked). Used by payroll officer for verification before SEPA file upload. Accessible to Payroll Admin and HR Admin roles only. Must be printable and exportable as PDF and CSV. Historical salary registers retained for 6 years per Revenue requirement. | TCA 1997; Revenue Employer Guide | High |
| RPT-005 | Redundancy Payments Report (RP50) | Generate Redundancy Payments (RP50) form data for submission to DEASP (Department of Social Protection) when processing statutory redundancy. RP50 includes: employer details, employee details, dates of employment, gross weekly pay (capped), statutory redundancy amount calculated. Employer can apply for rebate (currently 15% rebate where employer paid redundancy โ verify current rules). Store RP50 submission reference numbers in employee separation record. | Redundancy Payments Acts 1967โ2022 | Medium |
| RPT-006 | Fixed-Term Contract Register | Maintain register of all fixed-term contracts with: employee name, contract type, start date, end date, renewal count, cumulative duration. Alert HR 8 weeks before expiry of each fixed-term contract for renewal/non-renewal decision. Alert when cumulative fixed-term duration approaches 4 years (right to indefinite duration arises). Objective justification for each renewal must be recorded. Export to CSV for legal audit. | Protection of Employees (Fixed-Term Work) Act 2003 | Medium |
| RPT-007 | Work Permit Expiry Report | Generate report of non-EEA employees' work permit expiry dates. Filter by expiry range (next 30/60/90 days). Show: employee name, nationality, permit type, permit number, expiry date, days remaining, renewal status. Alert HR Admin via email at 90, 60, and 30 days before expiry. Critical: employing a worker whose permit has expired is a criminal offence for the employer (Employment Permits Acts). Auto-suspend payroll for employees with expired permits pending confirmation of renewal. | Employment Permits Acts 2003โ2014 | Medium |
| RPT-008 | TWSS / EWSS Scheme Tracking (Historical) | Historical tracking for COVID-era Employment Wage Subsidy Scheme (EWSS โ ran until 30 April 2022) and Temporary Wage Subsidy Scheme (TWSS โ 2020). Revenue may still issue audits on TWSS/EWSS payments. Retain EWSS/TWSS subsidy amounts per employee per period in historical payroll records. Ability to generate a subsidy reconciliation report by employee and by payroll period. Required only if the company was in operation during 2020โ2022 and availed of these schemes. | EWSS (Emergency Measures in the Public Interest) Act 2020 | Low |