Build EPFO ECR Text File (Electronic Challan cum Return)
Skill: Convert payroll into the EPFO ECR text file
Region: India
Category: Payroll — Provident Fund (EPFO)
Does: Takes a month's payroll and produces the EPFO ECR (Electronic Challan cum Return) — a #~# delimited text file uploaded to the EPFO Unified Portal — one line per member keyed by UAN, with EPF/EPS/EDLI wages and the EPF (A/C 1), EPS (A/C 10) and EDLI (A/C 21) contribution splits; the portal generates the challan (incl. admin charges A/C 2 and A/C 22) for payment.
System: EPFO Unified Portal (unifiedportal-emp.epfindia.gov.in) — ECR upload
The ECR is filed monthly by every covered establishment. Each detail line is
#~#delimited with a fixed column order; the portal validates UANs and computes the challan. The statutory wage ceiling for EPS is ₹15,000 (EPS is capped on this ceiling); EPF is on actual EPF wages (employees may contribute on higher wages). The standard contribution rate is 12% (employee) and 12% employer, with the employer 12% split between EPS 8.33% (on up to ₹15,000) and EPF (balance). Rates, ceilings, admin-charge percentages, and the ECR file layout change by notification — generate against the current EPFO ECR file format and validate on the portal before payment.
When this applies
- Any establishment covered under the EPF & MP Act (broadly 20+ employees, or voluntarily covered) for all members with a UAN.
- Filed and contribution paid monthly — due by the 15th of the following month.
- New joiners/exits are handled via the member's date of joining/exit and reasons in the line.
Input data required
| Group | Fields |
|---|---|
| Header (file) | establishment PF code, wage month (MM/YYYY), return type, contribution rate, currency |
| Per member | UAN, member name, gross wages, EPF wages, EPS wages, EDLI wages, EPF contribution (EE), EPS contribution (ER), EPF (ER) difference, NCP days, refund of advances |
| Member events | date of joining / date of exit and reason (for joiners/leavers in the month) |
File structure (#~# delimited)
The ECR text file is member detail lines only (the header summary is entered/derived on the portal). Each line has these fields in order, separated by #~#:
UAN #~# MemberName #~# GrossWages #~# EPFWages #~# EPSWages #~# EDLIWages #~#
EPFContriRemitted(EE) #~# EPSContriRemitted #~# EPFEPSDiffRemitted(ER) #~#
NCPDays #~# RefundOfAdvances
| Field | Meaning |
|---|---|
| UAN | 12-digit Universal Account Number |
| EPF Wages | wages on which EPF (employee 12%) is computed |
| EPS Wages | wages on which EPS is computed, capped at ₹15,000 |
| EDLI Wages | wages for EDLI, capped at ₹15,000 |
| EPF EE | employee EPF contribution = 12% of EPF wages |
| EPS ER | employer EPS = 8.33% of EPS wages |
| EPF/EPS diff (ER) | employer share to EPF = (12% of EPF wages) − EPS contribution |
| NCP Days | Non-Contributory Period (days of loss of pay) |
The portal then computes account heads on the challan: A/C 1 (EPF EE + ER), A/C 2 (admin charges, min applies), A/C 10 (EPS), A/C 21 (EDLI), A/C 22 (EDLI admin, currently nil/notified).
Calculation rules
- EPS wages / EDLI wages = min(EPF wages, ₹15,000) (the statutory ceiling).
- Employee EPF = 12% × EPF wages.
- Employer EPS = 8.33% × EPS wages (i.e. on up to ₹15,000).
- Employer EPF (diff) = 12% × EPF wages − employer EPS.
- Amounts are rounded to the nearest rupee per member; A/C 2 (admin) is the notified percentage of EPF wages subject to a monthly minimum.
- NCP days reduce contributions where there is loss of pay.
Worked example (one member, EPF wages above the ceiling — detail line)
For EPF wages ₹25,000 (EPS/EDLI capped at ₹15,000):
- Employee EPF = 12% × 25,000 = 3,000
- Employer EPS = 8.33% × 15,000 = 1,250 (rounded)
- Employer EPF diff = 3,000 − 1,250 = 1,750
100123456789#~#SURESH RAO#~#28000#~#25000#~#15000#~#15000#~#3000#~#1250#~#1750#~#0#~#0
100987654321#~#LATA DEVI#~#14000#~#14000#~#14000#~#14000#~#1680#~#1166#~#514#~#0#~#0
Save as a .txt file (UTF-8, #~# separators, one member per line, no trailing delimiter), upload on the Unified Portal, verify the generated ECR summary/challan (A/C 1/2/10/21/22), approve, and pay the challan via the bank gateway by the 15th.
Validation checklist
- Current EPFO ECR file format and contribution rate/ceiling used; establishment PF code and wage month correct
- One line per member,
#~#delimited, fields in the exact order, no header line in the file - Valid 12-digit UAN for every member; names match EPFO records
- EPS/EDLI wages capped at ₹15,000; EPF wages = actual EPF wages
- EE EPF = 12%; ER EPS = 8.33% of EPS wages; ER EPF diff = 12% EPF wages − EPS; rounded to rupees
- NCP days / refund-of-advance populated where applicable; joiners/exits handled
- Portal-generated challan heads (A/C 1, 2, 10, 21, 22) reviewed and reconcile
- Uploaded, approved and paid by the 15th of the following month
Last updated: 2026-06-04 — confirm the active ECR file format, contribution rates, wage ceiling, and admin-charge/portal requirements against the current EPFO (epfindia.gov.in) specifications before use.