Skip to main content
itzseo
All docs

Set up payroll for your workspace

Phase 40.9 — fill the company legal entity, tax IDs, and per-employee profile fields so generated payslips look professional and tax-ready.

HRMS & AttendanceUpdated Try it now

A bare-minimum ItzSEO payslip just shows the workspace name, a "Salary" line, and a net pay figure. To turn that into a tax-ready, bank-acceptable document — the kind employees can use for visa applications, loan applications, ITR filing assistance — you need to fill three layers of configuration.

1. Company identity (HR, one-time)

Go to /settings/hr/payroll. Fill the cards:

  • Legal entity name — your registered company name as it should appear on payslip headers (e.g. "ACME CONSULTING (OPC) PVT LTD", not the trading brand).
  • Address — the registered office.
  • India tax IDs — PAN (10 chars), CIN (21 chars; required for Pvt Ltd / OPC / LLP), TAN (10 chars; required if you deduct TDS), GSTIN (15 chars; if registered).
  • Country + state code — drives state-specific Professional Tax calc (e.g. WB for West Bengal, MH for Maharashtra).
  • Logo URL — optional, displays in the PDF header. Use an https URL ending in .png, .jpg, or .svg.

2. Payslip display preferences (HR)

Same page, second card. Toggle two PDF sections on or off per workspace:

  • Year-to-date totals — adds a "fiscal year so far" block showing cumulative gross / deductions / net. Helpful for tax planning. Defaults on; hidden automatically on the first payslip of each fiscal year (nothing to sum).
  • Amount in words — italic line below Net Pay ("Rupees Fifteen Thousand Only"). Banks often need this for cheque verification. Defaults on.
  • Bank footer — free-text line above the system-generated footer. Try "Salary credited via NEFT to the bank account on file."

3. Employee identity (split — HR + employee)

Each employee's payslip header has rows for employee code, designation, department, date of joining, PAN, UAN (PF), ESI, and bank account. These are split between two editors so ownership of PII is clear:

  • HR fills at /hr/employees/[userId]: employee code, designation, date of joining, UAN, ESI.
  • The employee fills at /settings/payroll-profile: PAN, bank name, account last-4 digits, payment mode (NEFT / IMPS / UPI / Cheque / Cash).

ItzSEO never stores full bank account numbers — only the last 4 digits, for display on the payslip. If an employee changes banks, they update it themselves via the settings page; HR isn't involved.

What this changes on the payslip

Once all three layers are filled, the generated PDF includes the full legal entity name, all configured tax IDs in the header, the employee's identity block (code, designation, department, DOJ, PAN, UAN, ESI, bank, payment mode), an amount-in-words line, and a year-to-date totals block. Empty fields collapse — partial coverage is fine, no "— not set —" placeholders.

Existing payslips don't need re-finalizing. ItzSEO regenerates the PDF on every download from the current DB state, so the moment you fill the fields the next download reflects them.

© 2026 ItzSEO. All docs
All systems normal