The pipeline
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.Step 3 — Sign (vendor seam)
Form 16 must carry a digital signature from a Digital Signature Certificate.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.
Known limitations
The currency symbol is 'Rs.', not '₹'
The currency symbol is 'Rs.', not '₹'
The PDF library’s built-in fonts cannot render the rupee sign. The generated Form 16 uses
Rs. throughout.Notifications are in-app only
Notifications are in-app only
Distributing raises an in-app notification. There is no email, SMS or WhatsApp delivery of Form 16 availability.
No bulk e-filing
No bulk e-filing
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.