India payroll compliance: a monthly run and a governed correction
Continuing from A first payroll run, reviewed and approved by someone else: once a month's payroll is approved, the Compliance area works out the statutory side of that month from the same payslips. This page follows one month through a compliance run, its review and finalization, the statutory working files, and the governed way to correct a finalized run.
Illustrative demonstration prepared using publicly available company context and synthetic data. This page does not represent a production deployment, customer endorsement, or use of real employee data.
The company this page follows
Same illustrative demo structure as the rest of this book: one fictional company, Meridian Interiors. Its name, its people and every figure shown are synthetic; none of it represents a real customer, a real headcount or a real payroll.
What this page does and does not claim
- Statutory reference values (rates, ceilings, slabs, due dates and file formats) are shipped with a recorded source and a verification status, and they are under controlled review where applicable. Treat every figure as a working figure for a qualified person to check. Nothing here represents a figure as verified-correct.
- Nothing is filed automatically. There is no portal submission, and nothing on this page is a certification.
- The statutory files are internal working files. They are not validated by any government portal.
Before you begin
Go to Payroll → Compliance. The Compliance area has six tabs: Compliance Dashboard, Compliance Applicability, Run Compliance, Government Filing, Compliance Calendar and Compliance Settings.
- Compliance Settings holds the company's configuration: provident fund, ESI, professional tax (including the state), labour welfare fund, TDS (including the default regime), gratuity and statutory bonus. A run cannot start for a company that has no compliance configuration.
- A run reads the month's payslips. A person with no payslip for the month is not in the run.
See Running payroll and Payslips.
Run compliance for a month
- On Compliance Dashboard, select Run Compliance.
- Choose the month and year, then select Run Compliance again.
- The run opens as a Draft. It shows the statutory totals for the month (provident fund, ESI, professional tax, labour welfare fund, TDS and total employer cost) and one line per employee.
A draft can be recomputed as often as needed; recomputing refreshes the same run rather than creating another one.
Review, then finalize
Review the totals and each employee's line. Finalize locks the run. The run's status changes to Finalized, and its Recompute and Finalize buttons are gone: a finalized run cannot be recomputed or edited in place. If the payslips it was computed from change afterwards, the run shows a warning that it no longer matches, and it is not silently updated.
An ordinary run is finalized in one step by a person with permission to change compliance runs.
Statutory working files
From a finalized run, select Statutory files. The page offers one generator per file type: the provident fund ECR file, the ESI contribution file, a Form 24Q working file (generated from the last month of a quarter) and a Form 16 Part B working statement (generated from the March run).
- The page states that portal validation (the EPFO and ESIC portals accepting a file) is outside the platform and is not checked. It reports only the platform's own structural validation.
- Form 24Q and Form 16 Part B are internal working files for a tax professional. They are never submitted anywhere.
- A file is generated from a finalized run only, and the platform refuses when there is nothing valid to write, for example when a run has no member rows. A refusal produces no file.
- Prepare filing tasks sets up human-assisted tasks for the run. It says plainly that nothing is submitted to a portal.
The run page also offers Generate XLSX and Generate PDF for an internal summary of the run.
Correcting a finalized run: supersede, with a second person
A finalized run is never changed. A correction is a new run for the same month that supersedes the original.
- A person who has been explicitly given the permission to request a supersede enters a reason of at least 15 characters on the finalized run and selects Request supersede. The reason is kept permanently.
- The request goes to the company's Compliance Supersession Approvers. It appears in their Governance → My Approvals. The person who requested it cannot approve it, and the request is refused up front if nobody else is eligible.
- On approval, the original run becomes Superseded. It stays readable, shows who requested and approved the supersede and the reason, and its files stay downloadable, but it is no longer counted. A fresh Draft run for the same month replaces it.
- Finalizing the replacement also needs a second person: whoever requested the supersede cannot finalize its replacement.
A period whose filing task has been submitted or paid cannot be superseded at all.
Not shown on this page
- Marking a filing task as submitted, recording a payment, or reconciling it. Those are human bookkeeping steps for a filing a person made elsewhere; the platform does not file.
- Government notices, the Evidence Vault and the Compliance Calendar.