ESIC Monthly Contribution File Validator
Check the Excel file you upload on the ESIC employer portal for monthly contributions before you upload it: every error and warning, row by row and column by column, with how to fix it and the contributions worked out.
Findings
| Row | Column | Value found | Problem | Expected | How to fix | Type |
|---|
Your file, row by row
The validator checks your file against ESIC's own template instructions and the ESI rules listed further down this page. It cannot see ESIC's records, so it cannot tell whether an IP number belongs to your establishment, whether the name matches, or whether every employee mapped to you on the portal is in the file (the portal wants all of them). The ESIC portal does its own checks when you upload and is the final word; it also calculates the contributions itself.
Free tool · ESIC monthly contribution
Check your ESIC contribution file before you upload it, and fix every problem in one go instead of one portal error at a time.
Select the Excel file you upload on the ESIC employer portal each month (the MC template). The validator checks every IP number, day count, wage figure, reason code and last working day, tells you the row, the column and how to fix each problem, and works out the employee and employer contributions.
How to use the ESIC file validator
- Pick the wage month. It sets the number of days in the month, the contribution period and the due date.
- Select your contribution file (.xls, .xlsx or .csv), or drag it onto the box. No file to hand? Press “Try the sample” to see how the results look, or download a sample template in ESIC’s layout.
- Read the summary. Number of IPs, total wages, the employee and employer contributions, IPs with zero days, and the count of errors and warnings.
- Fix the errors, then review the warnings. Each finding gives the row, the column, the value found, what was expected and how to fix it. Download the CSV report to work through them, correct the file and check it again.
ESIC’s monthly contribution template
The ESIC employer portal takes the month’s contributions as an Excel file with one row per insured person (IP). ESIC’s own template has a single data sheet, “Sheet1”, with the column titles in row 1 and the first employee in row 2:
| Column | Title in ESIC’s template | What goes in it |
|---|---|---|
| A | IP Number (10 Digits) | The employee’s 10-digit insurance number |
| B | IP Name (Only alphabets and space) | The name as registered with ESIC |
| C | No of Days for which wages paid/payable during the month | A whole number; round a fraction up to the next whole day |
| D | Total Monthly Wages | Wages paid or payable for the month |
| E | Reason Code for Zero workings days | A number from the table below when days are 0; 0 for everyone else |
| F | Last Working Day | dd/mm/yyyy or dd-mm-yyyy, only for reason codes 2, 3, 4, 5, 6 and 10 |
ESIC’s instructions also ask for the file to be saved as Excel 97-2003 (.xls) and for every column, including the date, to be formatted as Text. There are no contribution columns: the portal works out the employee and employer shares itself. Every employee mapped to your establishment on the portal must appear in the file.
Reason codes for zero working days
When an IP has 0 days (and so 0 wages) in the month, column E needs one of ESIC’s codes. These are the codes and notes from the “Instructions & Reason Codes” sheet of ESIC’s template:
| Code | Reason | Last working day |
|---|---|---|
| 0 | Without Reason | Leave blank |
| 1 | On Leave | Leave blank |
| 2 | Left Service | Required. The IP will not appear from the next wage period |
| 3 | Retired | Required. The IP will not appear from the next wage period |
| 4 | Out of Coverage | Required. Valid only when the wage month is April or October; in other months the IP continues to appear |
| 5 | Expired | Required. The IP will not appear from the next wage period |
| 6 | Non Implemented area | Required |
| 7 | Compliance by Immediate Employer | Leave blank |
| 8 | Suspension of work | Leave blank |
| 9 | Strike/Lockout | Leave blank |
| 10 | Retrenchment | Required. The IP will not appear from the next wage period |
| 11 | No Work | Leave blank |
| 12 | Doesn’t Belong To This Employer | Leave blank |
| 13 | Duplicate IP | Leave blank |
ESIC’s template also says the last working day is given only when the days are 0. If someone worked part of the month and then left, enter their days and wages, leave the last working day blank, and report the exit the next month with 0 days, code 2 and the date.
Rules we check
An ERROR means the row breaks an instruction in ESIC’s template or the ESI rules. A WARNING means something is unusual, or a rule we could not confirm in ESIC’s documentation. INFO notes need no action. ESIC’s template file is linked as an archived copy, because the original on esic.in no longer opens.
| Check | Type | Source |
|---|---|---|
| The file opens: not empty, damaged or password-protected; it has employee rows | Error | Needed to read the file at all |
| Column titles in row 1, employees from row 2; six columns A to F in ESIC’s order, with no extra columns (such as employee or employer ESIC amounts) | Error | ESIC MC template and its instructions (items 1, 10b and 11) |
| IP number present, exactly 10 digits, digits only | Error | ESIC MC template, column A title “IP Number (10 Digits)” |
| Each IP number only once in the file | Error | ESIC MC template (code 13 exists for duplicate IPs; one row per IP) |
| IP name present | Error | ESIC MC template, instruction 1 |
| IP name has only letters and spaces | Warning | ESIC MC template, column B title. Not confirmed as a reason for rejection |
| Days present, a whole number, not negative, and not more than the days in the wage month | Error | ESIC MC template, instruction 2: “Number of days must be a whole number. Fractions should be rounded up to next higher whole number” |
| Wages present and a plain number: no commas, currency symbols, letters or minus sign | Error | ESIC MC template, instruction 1; portal error “Input string was not in a correct format” |
| Reason code given when days are 0, and one of the codes 0 to 13 | Error | ESIC MC template, instructions 1 and 4 and the reason-code table |
| Last working day given for codes 2, 3, 4, 5, 6 and 10, and only for them | Error | ESIC MC template, reason-code table and instruction 1 |
| No last working day on a row with days paid | Error | ESIC MC template, instructions 5 and 6 |
| Last working day in dd/mm/yyyy or dd-mm-yyyy, zero-padded, and a real date | Error | ESIC MC template, instruction 8 |
| Code 4 (Out of Coverage) in a month other than April or October | Warning | ESIC MC template, reason-code table |
| Wages above ₹21,000 | Warning | ESI (Central) Rules, 1950, rule 50: an employee covered at the start of a contribution period stays covered until it ends |
| Average daily wage ₹176 or less: no employee share | Info | ESIC: contribution; ESI (Central) Rules, rule 52 |
| File saved as .xlsx or .csv rather than .xls; data sheet not named “Sheet1”; cells formatted as numbers or dates rather than text | Warning / Info | ESIC MC template, instructions 9 and 10. Whether today’s portal rejects these is not confirmed by ESIC documentation |
| Spaces around values, blank rows, stray cells below the data, formulas, days paid with 0 wages, wages with 0 days, reason codes on rows with days paid, code 0 with 0 days, a last working day after the wage month, wages with paise | Warning / Info | Not confirmed by ESIC documentation; flagged because they are easy to fix and are reported to trip up uploads |
Common upload errors on the ESIC portal, and the fixes
The error messages above are as reported by employers using the portal (collected on the ESIC Employer Portal Guide blog, which is not an ESIC site). ESIC does not publish a list of upload errors.
ESI basics for the monthly file
- Contribution rates. Employee 0.75% and employer 3.25% of wages, 4% in all, from 1 July 2019 (ESIC). Each is rounded up to the next rupee, as ESI (Central) Rules, rule 51 and ESIC’s FAQs describe.
- Low earners. An employee whose average daily wage is ₹176 or less pays no employee share; the employer still pays its 3.25% (ESIC).
- Wage limit. Employees earning up to ₹21,000 a month are covered, ₹25,000 for a person with disability (ESIC: coverage). Overtime does not count towards the limit.
- Contribution periods. April to September and October to March. An employee covered when a period starts stays covered until it ends, even if a raise takes their wages above ₹21,000, and ESI is due on their full wages (ESI (Central) Rules, rule 50; ESIC FAQs, questions 15 to 17). That is why the validator shows wages above ₹21,000 as a warning, not an error.
- Due date. Within 15 days of the end of the month: the 15th of the following month. October 2026 contributions are due by 15 November 2026 (ESIC).
Frequently asked questions
Is my ESIC file uploaded or stored anywhere?
No. The validator reads the file inside your browser and checks it there. It is not uploaded to HivePayroll or anyone else, and it is not saved in your browser. The page loads the SheetJS spreadsheet reader from its official site to open Excel files, but your file is never sent with that request. The CSV report and the sample template are created on your computer. When you close the tab or press Clear, the data is gone.
What columns does the ESIC monthly contribution Excel file need?
Six columns in this order: IP Number (10 digits), IP Name, number of days for which wages were paid or payable, total monthly wages, reason code for zero working days, and last working day. The column titles go in row 1 and the employees from row 2 on the first sheet, named Sheet1. ESIC’s instructions ask for the file to be saved as Excel 97-2003 (.xls) with every column formatted as Text.
When do I fill in the reason code and the last working day?
The reason code is for employees with 0 days in the month; use 0 for everyone else. The last working day is needed only with codes 2 (Left Service), 3 (Retired), 4 (Out of Coverage), 5 (Expired), 6 (Non Implemented area) and 10 (Retrenchment), only when the days are 0, and in dd/mm/yyyy or dd-mm-yyyy format. For every other code, leave it blank.
Can I include an employee whose wages went above ₹21,000?
Yes, if they were covered when the contribution period began. Under rule 50 of the ESI (Central) Rules, an employee covered at the start of April or October stays covered until the period ends, and contributions are due on the full wages. Coverage is looked at again when the next period starts. The validator flags these rows as warnings so you can confirm each one.
How are ESI contributions worked out from the file?
The employee share is 0.75% of wages and the employer share 3.25%, each rounded up to the next rupee. An employee with an average daily wage of ₹176 or less pays nothing, but the employer still pays 3.25%. The portal calculates the contributions from the days and wages you upload; the validator shows the same calculation so you can check the challan amount before you pay it by the 15th.
If the validator finds no errors, will the ESIC portal accept my file?
Not necessarily. The validator checks the file against ESIC’s template instructions and the ESI rules, but it cannot see ESIC’s records: whether each IP number is mapped to your establishment, whether the name matches, or whether every mapped employee is in the file. The ESIC portal runs those checks when you upload and has the final word.
HivePayroll calculates ESI every month and prepares the contribution file: free up to 10 employeesESI worked out in every payroll run, with the contribution file, payslips and statutory reports from the same run. Questions? Email support@hivepayroll.co.in.
Based on ESIC’s monthly contribution template and its instructions, ESIC’s contribution and coverage pages and FAQs, and the ESI (Central) Rules, 1950, as of 3 October 2026. A checking aid, not legal advice.