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
- Problem addressed
- HR workflows and a separate Slovak payroll engine for an organisation with over 500 employees.
- Available evidence
- Confidential client engagement. The public study explains our contribution and architecture. Screens come from the Horilla demo.
- 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 and a contract meet locked attendance and 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
Payroll for 500+ employees needs complete contract records and a closed attendance period. Calculations therefore use traceable records and locked attendance for the relevant period.
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.
Slovak payroll rules sit outside HR screens. Locked attendance, contracts, payroll elements and period settings feed gross and net pay, contributions, tax and outputs.

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 and user steps have clear boundaries, and so do exports. Permissions, period-based configuration, calculations, payslip state and output files are 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 review and confirmation, then 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.






