Back to India Payroll Compliance
EPFO Employer Filing

How to File PF Return — ECR 2.0 Step by Step

The Electronic Challan cum Return is the monthly PF filing. One plain-text file, eleven fields per member, separated by #~#, uploaded to the EPFO employer portal by the 15th. This guide covers the exact file format, a sample you can download, the Excel-to-text conversion, the portal walkthrough and the errors that cause rejections.

Due Date
15th Monthly
File Format
ECR 2.0 (.txt)
Fields per Member
11
Portal
epfindia.gov.in

What is the ECR, and who files it?

The Electronic Challan cum Return (ECR) is both things its name says: it reports what each member earned and contributed, and it produces the challan you pay. File it and pay it and your PF compliance for the month is complete — there is no separate monthly return alongside it.

Who must file: every establishment covered by the Employees Provident Funds and Miscellaneous Provisions Act, 1952 — broadly, any establishment in a scheduled industry employing 20 or more persons, plus establishments that have taken voluntary coverage. Coverage, once it attaches, does not lapse merely because headcount later falls below 20.

ECR 2.0 replaced ECR 1.0 and cut the return from 25 fields to 11. The two changes that matter in practice: the file is now entirely UAN-based, so a member without a UAN simply cannot be uploaded, and gross wages became a reported field, so EPFO can see the gap between what you paid and what you treated as PF wages.

A NIL return is still a return. If you paid no wages in a month, file a NIL ECR rather than skipping the month. Silence looks like default, and the establishment still owes the minimum administrative charge.

The contribution split

Both sides contribute 12% of PF wages. The difference is where the money lands: the employee share goes entirely to provident fund, while the employer share is split between the pension fund and the provident fund.

12%

Employee share

All of it to A/c 1 (provident fund). Nothing goes to pension from the employee side.

8.33%

Employer to pension

To A/c 10 (EPS), computed on EPS wages capped at Rs 15,000 — a maximum of Rs 1,250 a month.

3.67%

Employer to provident fund

The balance of the employer 12%, to A/c 1. For a member outside EPS the full 12% lands here.

Rules that change the arithmetic

  • The statutory wage ceiling is Rs 15,000 a month and has not moved since 2014. Contributing on wages above the ceiling is allowed but is the employer's choice, and it must be applied consistently.
  • A member who first joined EPF on or after 01-09-2014 with wages above Rs 15,000 is excluded from EPS. Report EPS wages and EPS contribution as 0 and route the whole employer 12% to A/c 1.
  • EPS stops at 58. From the month the member turns 58 the employer share goes entirely to provident fund, while EDLI wages continue unchanged.
  • A reduced rate of 10% applies to establishments with fewer than 20 employees, sick establishments, and the notified jute, beedi, brick, coir and guar gum industries.
  • International workers have no wage ceiling — contributions are on full wages.
  • Contribution amounts are reported in whole rupees. Round each member's figures before writing the file, not after.

The ECR 2.0 file format — all 11 fields

Field order is fixed. Every line in the file carries all eleven, in this sequence, separated by #~#.

#FieldTypeWhat goes in it
1UAN12 digitsUniversal Account Number. Must be active and Aadhaar-seeded. Members without a UAN cannot be uploaded at all — generate the UAN first.
2Member NameTextExactly as it appears in EPFO records, not as it appears on your payslip. A mismatch is the single most common rejection.
3Gross WagesWhole rupeesTotal wages paid for the month. ECR 2.0 added this field; ECR 1.0 did not carry it.
4EPF WagesWhole rupeesWages on which PF is computed. Statutory ceiling is Rs 15,000 — you may contribute on more, but never report EPF wages above gross wages.
5EPS WagesWhole rupeesWages for the pension scheme, capped at Rs 15,000. Enter 0 for members outside EPS. Cannot exceed EPF wages.
6EDLI WagesWhole rupeesSame as EPF wages, capped at Rs 15,000. Unlike EPS wages, EDLI wages continue even for members excluded from the pension scheme.
7EPF Contribution (EE)Whole rupeesEmployee share — 12% of EPF wages (10% for the reduced-rate classes listed below).
8EPS Contribution (ER)Whole rupees8.33% of EPS wages, so a maximum of Rs 1,250 a month. Enter 0 where EPS wages are 0.
9EPF-EPS Difference (ER)Whole rupeesField 7 minus field 8. This is the employer share that lands in the PF account rather than the pension fund.
10NCP DaysWhole numberNon-Contributory Period days — loss-of-pay days in the wage month. Enter 0 for a member with no unpaid absence.
11Refund of AdvancesWhole rupeesRepayment of an advance previously drawn. Enter 0 when there is nothing to refund, which is the normal case.

Sample ECR text file

Six members covering the cases you will actually meet: two at the wage ceiling, one below it, one with six loss-of-pay days, one excluded from EPS on joining, and one past 58.

100234567890#~#RAJESH KUMAR#~#28000#~#15000#~#15000#~#15000#~#1800#~#1250#~#550#~#0#~#0
100234567891#~#PRIYA SHARMA#~#18500#~#15000#~#15000#~#15000#~#1800#~#1250#~#550#~#0#~#0
100234567892#~#MOHAMMED ARIF#~#12000#~#12000#~#12000#~#12000#~#1440#~#1000#~#440#~#0#~#0
100234567893#~#S LAKSHMI#~#11200#~#11200#~#11200#~#11200#~#1344#~#933#~#411#~#6#~#0
100234567894#~#ANIL VERMA#~#35000#~#15000#~#0#~#15000#~#1800#~#0#~#1800#~#0#~#0
100234567895#~#K GOVINDAN#~#22000#~#15000#~#0#~#15000#~#1800#~#0#~#1800#~#0#~#0

Reading line 4

S Lakshmi has six loss-of-pay days, so her wages fell to Rs 11,200 for the month. PF is computed on the wages actually paid: 12% of 11,200 is Rs 1,344, the pension share is 8.33% of 11,200 or Rs 933, and the difference of Rs 411 goes to provident fund. NCP Days carries 6 — that field is what protects her pensionable service record.

Lines 5 and 6 both show EPS wages of 0 for different reasons: Anil Verma joined after 01-09-2014 above the ceiling, K Govindan has crossed 58. In both cases the employer 12% of Rs 1,800 sits entirely in field 9.

The challan these six produce

A/c 1 — EPFRs 15,535
A/c 2 — EPF adminRs 500
A/c 10 — EPSRs 4,433
A/c 21 — EDLIRs 416
A/c 22 — EDLI adminRs 0
Total remittanceRs 20,884

Total EPF wages are Rs 83,200, so A/c 2 at 0.50% computes to Rs 416 — but the Rs 500 monthly minimum applies, and Rs 500 is what you pay.

File rules the portal enforces

Get any of these wrong and the upload is rejected, usually with a message that does not name the real problem.

Separator is exactly #~#

Hash, tilde, hash. No spaces before or after. A single stray space breaks the line.

Plain text saved as .txt

Not .csv, not .xlsx, not Rich Text. Save from Notepad with encoding set to UTF-8.

No header row

ECR 2.0 carries member lines only. Wage month, contribution rate and salary disbursal date are entered on the portal screen, not in the file. ECR 1.0 had a header line; that format is retired.

Whole rupees only

No decimals, no thousand separators, no currency symbol. Round each amount to the nearest rupee before writing it out.

One member per line

No blank line between members, and no trailing blank line at the end of the file.

Only UAN-holding members

ECR 2.0 is entirely UAN-based. Anyone without a UAN has to be onboarded first.

Building the file in Excel

EPFO accepts only the text file, but nobody prepares payroll in Notepad. Keep the workbook as your working copy and generate the .txt from it every month — when a row is rejected you fix the worksheet and regenerate, never the text file by hand.

  1. 1Lay out the 11 fields in columns A to K, in the order in the table above, with one header row.
  2. 2Wrap every amount in ROUND(x,0). Excel will happily keep 1249.50 behind a cell that displays 1250, and that decimal is what fails validation.
  3. 3In cell M2, concatenate the row with the delimiter:
  4. 4Fill M2 down to your last member row.
  5. 5Select column M — data rows only, not the header — and copy.
  6. 6Paste into Notepad, delete any trailing blank line, then File, Save As, All Files, name it ECR_MMYYYY.txt with encoding UTF-8.
=A2&"#~#"&B2&"#~#"&C2&"#~#"&D2&"#~#"&E2&"#~#"&F2&"#~#"&G2&"#~#"&H2&"#~#"&I2&"#~#"&J2&"#~#"&K2

One caution: if a member name contains a stray leading or trailing space, the concatenation carries it into the file. Run TRIM over the name column before you generate.

Filing the ECR — step by step

From closing payroll to filing the payment receipt.

1

Close payroll and freeze the wage sheet

Lock the month. Every later correction means an arrear ECR, a second challan and an awkward reconciliation, so settle loss-of-pay days, arrears and new joiners before you export.

2

Confirm joiners and exits are on the portal

New members need a UAN and a Date of Joining. Anyone who left must have a Date of Exit marked online — if you leave the exit unmarked the member keeps showing up in your ECR and in EPFO's follow-up notices.

3

Build the 11-column worksheet

Export UAN, member name, gross wages, EPF wages, EPS wages, EDLI wages, the three contribution amounts, NCP days and refund of advances. Verify that employee 12% equals EPS 8.33% plus the difference for every row.

4

Convert the worksheet to a #~# text file

Concatenate the 11 columns with the #~# delimiter, paste the result into Notepad, and save it as ECR_MMYYYY.txt in UTF-8. The formula is in the section below.

5

Log in to the EPFO employer portal

Go to unifiedportal-emp.epfindia.gov.in, sign in with your establishment ID and password, and confirm the establishment name on the banner before you do anything else — multi-code employers upload to the wrong code more often than they admit.

6

Open Payments then ECR/Return Filing

Choose ECR Upload. Select the wage month, the salary disbursal date, the rate of contribution (12% or 10%) and file type ECR, then attach the .txt file.

7

Read the validation result before you go further

The portal parses the file and either accepts it or returns an error file. Download the error file, fix the offending rows in your worksheet, regenerate the .txt and upload again. Do not patch the text file by hand — the worksheet stays the source of truth.

8

Verify the summary and generate the TRRN

Check member count, total EPF wages and each contribution total against your payroll register. Confirm, and the portal issues a Temporary Return Reference Number.

9

Prepare the challan with admin charges

Enter A/c 2 (EPF administration) and A/c 22 (EDLI administration). A/c 2 is 0.50% of total EPF wages subject to a minimum of Rs 500 a month; A/c 22 has been nil since 01-04-2017, so enter 0.

10

Finalise, pay and file the receipt

Generate the challan, click Pay, choose your bank and complete the net-banking transaction. Download the Transaction Confirmation Receipt and the acknowledgement, and file both with the month's payroll records.

The five challan heads

The ECR fills three of these from your file. Two — the administration charges — you enter on the challan screen yourself, which is exactly why they are the ones people get wrong.

HeadNameRateNotes
A/c 1EPF ContributionEmployee 12% + employer differenceThe employee share plus the part of the employer share that does not go to pension.
A/c 2EPF Administration Charges0.50% of EPF wagesMinimum Rs 500 per month. A non-functional establishment with no contributing member pays a minimum of Rs 75.
A/c 10Pension Fund (EPS)8.33% of EPS wagesCapped at Rs 1,250 per member per month because EPS wages are capped at Rs 15,000.
A/c 21EDLI Contribution0.50% of EDLI wagesThe employer-funded life insurance cover. Employees contribute nothing to EDLI.
A/c 22EDLI Administration ChargesNilWaived with effect from 01-04-2017. Enter 0 — do not leave the field untouched.

Why ECR uploads get rejected

Eight failures that account for most of the wasted afternoons.

Delimiter typed as #-# or # ~ #

The file uploads and then fails validation with an unhelpful message. Build the delimiter with a formula rather than typing it, and check the first line in Notepad before uploading.

Amounts carried decimals

Excel silently keeps 1249.50 even when the cell displays 1250. Wrap every amount in ROUND(x,0) in the worksheet, not just in the display format.

Member name does not match EPFO records

Pull names from the portal member list rather than from your HR master. Initials, expanded surnames and married names are the usual culprits.

EPS wages entered for an excluded member

A member who first joined EPF after 01-09-2014 on wages above Rs 15,000, or who has crossed 58, is out of EPS. EPS wages and EPS contribution are 0, and the whole employer 12% goes to A/c 1.

NCP days left at 0 for a loss-of-pay month

NCP days feed pensionable service. Leaving them at 0 while reporting reduced wages produces a mismatch that surfaces years later, when the member claims pension.

Exited employees still in the file

Mark the Date of Exit online in the month the person leaves. An unmarked exit blocks the member from transferring or withdrawing and keeps inflating your return.

Admin charges entered as 0.50% when that is below Rs 500

The Rs 500 monthly minimum overrides the percentage. A small establishment with Rs 83,200 of EPF wages computes Rs 416 but must pay Rs 500.

Challan generated but never paid

A TRRN with no payment is not a filed return. Interest and damages run from the due date regardless of how far you got in the workflow.

If you miss the 15th

Interest — Section 7Q

12% per annum on the arrears, running from the due date to the date the money actually reaches EPFO. There is no waiver and no discretion here — it is a statutory charge.

Damages — Section 14B

Since 15 June 2024 a flat 1% of the arrear per month or part of a month, replacing the old 5% to 25% per annum slabs. The cap remains 100% of the arrears, so a long-running default eventually doubles the liability.

VISHWAS 2026 — a limited settlement window

EPFO launched VISHWAS 2026 on 29 June 2026, a one-time scheme open for six months, letting employers settle disputed or pending Section 14B damages at reduced rates. Applications go through the employer portal with DSC or e-Sign. Two conditions bind: all Section 7Q interest must be cleared before applying, and you undertake not to pursue the dispute further. Cases involving fraud or falsified records, and damages already fully recovered, are excluded. If you are carrying an old 14B notice, this window is worth taking advice on before it closes.

PF ECR filing — frequently asked questions

What is the due date for filing the PF ECR?

The 15th of the month following the wage month. The five-day grace period that employers remember was withdrawn in 2016, so the 15th is a hard deadline. Payment and return go together — uploading the ECR without paying the challan does not count as filing.

What is the delimiter in an EPF ECR file?

Exactly #~# — hash, tilde, hash — between each of the 11 fields, with no spaces around it. The file is plain text saved with a .txt extension, one member per line, and it carries no header row in ECR 2.0.

Can I upload an Excel file directly to the EPFO portal?

No. The portal accepts only the plain-text ECR file. Excel is where you prepare and check the data; the last step is always to concatenate the 11 columns with #~# and paste the result into a .txt file. Keep the workbook — it is what you will edit when a row is rejected.

Which employees are excluded from EPS?

Members who first joined the EPF scheme on or after 01-09-2014 with EPF wages above Rs 15,000, and members who have attained 58 years of age. For them EPS wages and EPS contribution are reported as 0, and the entire employer contribution of 12% goes into A/c 1.

When does the 10% rate apply instead of 12%?

For establishments with fewer than 20 employees, establishments declared sick by the BIFR, establishments with accumulated losses equal to or exceeding their net worth, and the notified industries — jute, beedi, brick, coir other than the spinning sector, and guar gum factories. Everyone else contributes at 12%.

What are the penalties for late PF payment?

Interest under Section 7Q at 12% per annum on the arrears, plus damages under Section 14B. Since 15 June 2024 damages are a flat 1% of the arrear per month or part of a month — replacing the old 5% to 25% slab scale — subject to the statutory cap of 100% of the arrears.

What is the minimum EPF administrative charge?

A/c 2 is 0.50% of total EPF wages subject to a minimum of Rs 500 per month. An establishment that is non-functional and has no contributing member pays a minimum of Rs 75. EDLI administration charges under A/c 22 have been nil since 01-04-2017.

What is a TRRN?

The Temporary Return Reference Number issued when your uploaded ECR passes validation. It identifies the return until the challan against it is paid, at which point the payment is confirmed and the return is complete. An unpaid TRRN lapses.

How do I correct a mistake in an ECR I have already filed?

A filed ECR cannot be revised. Under-reported wages or contributions are settled through an arrear ECR for the affected wage month, which generates its own challan and attracts interest and damages from the original due date. Over-reporting is harder to reverse and usually needs the regional office, which is the reason to reconcile before you upload rather than after.

Do I still file Forms 5, 10, 12A, 3A and 6A?

No. The monthly Forms 5, 10 and 12A and the annual Forms 3A and 6A were dispensed with once ECR became the return. Form 2 nomination, Form 11 declaration and Form 5A ownership return remain, and joiners and exits are now recorded against the UAN on the portal.

Generate the ECR file from payroll, not from a spreadsheet

Laabam.One computes EPF, EPS and EDLI per employee as payroll runs, handles the ceiling, EPS exclusions and NCP days, and exports the ECR 2.0 text file ready to upload — with the challan totals reconciled before you leave the screen.

Start Free Trial