Skip to main content
Form 16 is the annual tax certificate each employee needs to file their return. In OnTime it is a batch operation over a financial year, with four steps.

The pipeline

Two of these four steps need a third-party vendor. Read the section below before planning a Form 16 run — they are declared, unimplemented seams, not bugs.

Step 1 — Generate

Generates a Form 16 PDF per employee for the financial year and writes it into that employee’s document vault. The document is a real PDF containing a Part A section, a Part B section and a signature box, built from the year’s payroll data. Regenerating is idempotent — it updates the same batch and the same per-employee documents rather than producing duplicates.

Progress counters

The batch shows five counts: total, Part B merged, Part A from TRACES, signed, and sent. These are derived from real per-employee rows, not asserted.
A Part A count lower than the total is meaningful, not a bug. An employee with no PAN on record cannot have Part A fetched, and their row is marked unavailable. That gap is exactly the signal to go and fix the missing PAN.

Step 2 — Fetch Part A (vendor seam)

Part A of Form 16 comes from the Income Tax Department’s TRACES portal, not from your payroll data. OnTime routes this through an adapter.
This requires TRACES vendor configuration. Out of the box, a development stub adapter runs: it synthesizes a fetched-or-unavailable result and is visibly labelled as a stand-in — it does not download anything from TRACES.Configuring the real adapter without credentials returns a clear “not configured” error rather than pretending to work. Talk to your OnTime contact about wiring a real TRACES integration for your organization.

Step 3 — Sign (vendor seam)

Form 16 must carry a digital signature from a Digital Signature Certificate.
This requires DSC vendor configuration. The default development adapter stamps a visible “Signed (dev)” marker into the stored PDF. That is not a real digital signature and must not be distributed to employees as one.As with TRACES, selecting the real adapter without credentials returns an explicit “not configured” error.

Step 4 — Distribute

Marks the batch as sent and notifies each employee that their Form 16 is available. The document is already in their vault; distribution is what tells them.
Distribution is gated on signing. A batch that has not been signed is refused. This boundary is deliberate and load-bearing — it stops an unsigned certificate reaching an employee.
Employees find the document under Tax documents on the Pay tab of the employee app.

Known limitations

The PDF library’s built-in fonts cannot render the rupee sign. The generated Form 16 uses Rs. throughout.
Distributing raises an in-app notification. There is no email, SMS or WhatsApp delivery of Form 16 availability.
OnTime generates and distributes the documents. Filing the corresponding returns with the Income Tax Department is done outside OnTime.

Before you run a batch

1

Every payroll cycle for the year is disbursed

Form 16 sums the year’s payslips. A missing month is a wrong certificate.
2

PANs are on file

Employees without a PAN cannot have Part A fetched. Check the directory before generating, not after.
3

The vendor adapters are configured

Or accept that this run produces development-stub output that must not be distributed as genuine.