Payroll & payslips

Payroll that reads the month you actually had.

Pick a person and a month. Spyne prorates against real attendance, applies your deduction rules, and shows you the payslip before anything is issued. Once issued, it is frozen — because a payslip is a record, not a view.

30 days free · no card · your data exports whenever you want it

The payslip generator with employee and month selected, override fields, and a live payslip preview
The generator. Every figure is computed server-side; the browser only previews.
The problem

Payroll in a spreadsheet recalculates history. Give somebody a raise in April and last year's payslips quietly change too — which is fine until an employee downloads one and it no longer matches the one they were sent.

How it works

Computed from attendance, issued as a snapshot

Choose a person and a month

Spyne pulls the salary that was effective in that month, the attendance for it, and the deduction rules you have switched on.

Check the preview, override if you must

Every line can be overridden, and an override is recorded as one. The preview is a server render — there is no second calculation in the browser to drift from the first.

Issue, download, email

Issuing writes an immutable snapshot with every figure on it, renders the PDF and tells the employee.

Batch

The whole month, in one run

Run payroll for everybody at once. Spyne shows what each person will be paid and why before anything is issued, and reports exactly which rows succeeded and which need a look.

  • Warnings before issue: missing salary, missing holidays, unusual paid days
  • Skip or fix a row without abandoning the run
  • Every payslip in the batch is still an individual, immutable snapshot
The batch payroll run screen showing every employee with their computed net pay for the month
One run, the whole team, with the reasoning visible before you commit.
Statutory

EPF, ESI and professional tax, as rules

Deductions are configurable rules with their own caps and thresholds, not hard-coded percentages. Switch on what applies to you, set the numbers, and payroll applies them consistently.

  • Wage caps and eligibility thresholds per rule
  • Loan recovery and other recurring deductions per employee
  • Turned off entirely for companies outside India
The deduction settings screen listing EPF, ESI, professional tax and loan recovery rules
Deduction rules. Yours to set, applied the same way every month.
The document

A payslip that looks like yours

Design the payslip once — logo, colours, which blocks appear — and every issued document uses it. The PDF is rendered at exact A4 through headless Chrome, so what you see is what prints.

  • Your logo, accent colour and layout
  • Show or hide bank details, the signature block and the amount in words
  • Emailed to the employee, or downloaded as a PDF
The payslip template designer with layout options and a live preview of the document
The designer. The preview is the same renderer that produces the PDF.
Why it matters

What changes when you run it this way

History that stays true

Every figure — gross, the split percentages, days, each line item and the totals — is stored on the payslip when it is issued. Reports read the snapshot, never a fresh calculation.

Effective-dated salaries

A raise inserts a new salary row; it never edits the old one. March's payroll keeps March's number however many times somebody is promoted afterwards.

Line items that always reconcile

Basic plus HRA plus other allowances always equals total earnings. Spyne rounds the components and lets allowances absorb the remainder, so three roundings can never disagree with the total.

Corrections without a rewrite

A reissue needs a reason and creates a new version. The previous version stays readable beside it, which is what makes the correction defensible.

More of it

Other screens in payroll & payslips

Payslip history listing issued payslips by employee and month with their versions
Payslip history, including every reissued version.
An employee's own payslips screen with downloadable PDFs
What the employee sees: their own payslips, whenever they need them.
The detail

Payroll & payslips at a glance

What payroll & payslips supports in Spyne today.
Statutory deductionsEPF, ESI, professional tax, loan recovery
Money precisionInteger paise throughout — never a float
ProratingFrom real attendance, with loss of pay applied
Issued payslipsImmutable snapshots, versioned on reissue
OutputA4 PDF, downloadable and emailable
CurrencyINR by default; USD and others for companies outside India
Questions

Before you ask us

Does Spyne handle EPF, ESI and professional tax?

Yes. Each is a rule with its own rate, wage cap and eligibility threshold that you set once. They are applied to every payslip consistently, and shown as separate lines on the document.

What happens to old payslips when somebody gets a raise?

Nothing. Salaries are effective-dated, so a raise inserts a new row from the date it applies. And every issued payslip already stores its own figures, so it would not change even if the salary history did.

Can we correct a payslip that has already been issued?

Yes — with a reason. That produces a new version; the original is kept and stays visible. Reports count only the current version, so a correction never double-counts.

Can we override a calculated figure?

Any line can be overridden before issue, and the payslip records which fields were overridden. The server recomputes everything else from the database first, so an override changes one number rather than the basis of all of them.

Is payroll calculated in the browser?

No. The browser previews; the server computes. There is exactly one implementation of the payroll arithmetic, which is why the preview and the issued payslip can never disagree.

Connected

What payroll & payslips touches

These are not separate products. What you record in one is what the next one reads.

See it with your own numbers in it

Start a trial and generate a full sample company in one click — three months of attendance, payroll, invoices and projects, all joined up. Then delete it and start for real.