Personnel and payroll system · HR and payroll
Payroll for 500+ people under Slovak legislation.
Over 500 employees. We helped extend HR workflows on the open-source Horilla base and split out a Slovak payroll engine. The client system is confidential, so these screens are the Horilla demo.


From design to rollout
- 01Map HR and payroll inputs
- 02Define platform boundaries
- 03Extend HR workflows
- 04Isolate Slovak payroll logic
- 05Verify and prepare rollout
Information
- Project type
- Confidential HR and payroll platform
- Platform
- Web application
- Our role
- We did not build the system from scratch. We extended the open Horilla platform with Slovak payroll logic and statutory reporting.
- Scale
- 500+ employees
Technology
- Horilla
- Django
- Python
- Django REST Framework
- PostgreSQL
- ReportLab
- XML/XSD
What you will learn
- 01How employee records, a contract, and locked attendance become one payroll period.
- 02Why Slovak payroll logic is separated from daily HR screens and tied to an effective period.
- 03Why we extended a proven HR foundation instead of rebuilding standard personnel workflows.
01
Scale changes the design
One missing contract propagates into hundreds of calculations when you pay 500+ people. An open attendance period does the same. Payroll therefore reads only traceable records and locked attendance.
Payroll settings are tied to an effective period. Each payslip keeps the values used in its own calculation, so a rule change never overwrites a result someone already reviewed.
“In payroll, correctness is not a detail. It is the boundary of trust.”
02
Proven HR foundation, Slovak payroll layer
Employee records, attendance, leave, recruitment and onboarding were already in Horilla. The application layer is Django with a REST API and role permissions, and PostgreSQL holds the shared record.
The Slovak payroll layer reads locked attendance, the contract, payroll elements and the period config. Out come gross pay, contributions, tax, net pay and outputs. HR screens stay free of law.

03
How we approached the design
We first mapped roles, source HR records, payroll inputs, and required outputs. We then defined what Horilla already covered and where the custom Slovak payroll extension had to begin.
Calculation rules, user steps, and exports have clear boundaries. Permissions, period-based configuration, calculations, payslip state, and output files can therefore be reviewed independently.
04
A payroll cycle, step by step
The HR team closes the period and locks attendance. The contract, working time, leave, allowances, and deductions come together in a draft payslip for each employee.
A payslip starts as a draft, then moves through review, confirmation and paid. Only a draft recalculates. Confirmed results become PDFs and feed reports, audit history and validated XML or SEPA files.

05
Why we did not rebuild HR from zero
Horilla already handles the everyday personnel work, so nobody had to reinvent it. That freed the build for Slovak payroll logic, permission boundaries and what this organisation actually needed.
The result is a traceable HR and payroll flow built for 500+ employees.






