Build PAYE RTI Employer Payment Summary (EPS XML)
Skill: Convert period adjustments into an HMRC RTI Employer Payment Summary
Region: United Kingdom
Category: Payroll — PAYE Real Time Information (RTI)
Does: Takes an employer's period-level adjustments and assembles the Employer Payment Summary (EPS) — the GovTalk XML that reports amounts which reduce the PAYE liability (statutory-pay recovery, CIS deductions suffered, apprenticeship levy) and signals nil payments — sent to HMRC alongside the per-payday FPS.
Spec: HMRC PAYE RTI — GovTalk message HMRC-PAYE-RTI-EPS (current schema version)
The FPS reports per-employee pay each payday; the EPS reports employer-level values the FPS can't: recovery of statutory payments (SMP/SPP/etc.), CIS deductions suffered (for companies), the Apprenticeship Levy, the Employment Allowance claim, and "no payment due"/period-of-inactivity notifications. Submit by the 19th of the following tax month for HMRC to offset the liability. Validate against the current tax-year RTI schema.
When this applies
- File an EPS when, for a tax month, you need to reduce what you owe (statutory-pay recovery/compensation, CIS suffered), claim the Employment Allowance, declare the Apprenticeship Levy, or tell HMRC no FPS is due (no payments this month) or you're inactive for a period.
- An EPS is not sent for every payday — it's month/period-level and only when there's something to report.
Message structure (GovTalk → EPS)
GovTalkMessage
Header (Class = HMRC-PAYE-RTI-EPS, Qualifier, Function)
GovTalkDetails (Keys: TaxOfficeNumber/Reference), ChannelRouting
Body
IRenvelope
IRheader (Sender, PeriodEnd, IRmark, SenderID/Authentication)
EmployerPaymentSummary
EmpRefs (Office number / PAYE reference / AO reference)
RecoverableAmountsYTD:
SMP/SPP/ShPP/SAP/SPBP recovered + NIC compensation (YTD)
CISDeductionsSuffered (YTD) (companies)
ApprenticeshipLevy (YTD + annual allowance)
EmploymentAllowance (indicator/claim)
NoPaymentForPeriod (date range) / PeriodOfInactivity (date range)
DateSchemeCeased (if closing the scheme)
Data rules
- Recoverable statutory payments are reported year-to-date (SMP/SPP/ShPP/SAP/SPBP recovered, plus NIC compensation for eligible small employers) — HMRC offsets these against the liability built from the FPS.
- CIS deductions suffered (limited companies that are subcontractors) are reported YTD so they reduce the PAYE/CIS owed.
- Apprenticeship Levy is reported YTD with the annual allowance applied; Employment Allowance is claimed via its indicator.
- No payment due / inactivity: when no employees were paid in a tax month, send an EPS with the no-payment indicator (and date range), or a period of inactivity (up to the allowed months ahead) — otherwise HMRC expects an FPS.
- Carries an IRmark and authenticated SenderID; validate against the GovTalk/RTI schema; submit by the 19th.
Worked example (outline)
EmpRefs: 123/AB456, PeriodEnd 2025-05-05
RecoverableAmountsYTD: SMP recovered 1,500.00 + NIC compensation 49.50
CISDeductionsSuffered YTD: 3,200.00
ApprenticeshipLevy: not due (under £3m pay bill)
EmploymentAllowance: claimed
→ reduces the month's PAYE liability accordingly
Wrapped in the GovTalkMessage with IRmark and submitted to HMRC by the 19th.
Validation checklist
- Current tax-year RTI/GovTalk schema (
HMRC-PAYE-RTI-EPS) used - GovTalk envelope correct: Class/Qualifier/Function, EmpRefs, authenticated SenderID, IRmark
- Statutory-pay recovery + NIC compensation reported YTD; CIS suffered YTD (companies)
- Apprenticeship Levy (YTD + allowance) and Employment Allowance claim set where applicable
- No-payment / period-of-inactivity indicator used when no FPS is due (with date range)
- DateSchemeCeased set if closing the PAYE scheme
- Schema-validated; submitted by the 19th of the following tax month
Last updated: 2026-05-31 — RTI schema, Employment Allowance, and Apprenticeship Levy parameters change each tax year; confirm the current EPS schema version, allowances/thresholds, and submission rules against current HMRC RTI guidance before use.