Don't build payroll —
embed it.
A composable payroll framework you embed into your platform — not a black box you work around.
$ docker compose up -d
Creating payroll-db ... done
Creating payroll-api ... done
Creating payroll-ui ... done
$ curl localhost:5000/api/health
{ "status": "operational", "engine": "active" }
// running in under 5 minutes
Why Payroll Engine
Building payroll from scratch is a multi-year, multi-country nightmare. Here's why you shouldn't.
Skip years of development
Get a production-ready calculation engine, case model, and REST API on day one.
Auditable by design
Every calculation, every rule, every API is inspectable. The core is never a black box.
No vendor lock-in
MIT licensed, self-hosted. No per-employee fees, no runtime licenses, no SaaS dependency.
Regulation ecosystem
Exchangeable modules — open or commercial. A standardized library any platform can adopt.
How it works
Data flows through three stages within a payroll.
Cases
Capture salary, absences, and benefits as time-stamped events with validity periods.
Payrun Engine
Wage types and collectors defined in regulation layers calculate employee pay.
Results & Reports
Payslips, legal filings, and data exports from multilingual report templates.
Sample Output
The Ecosystem Architecture
Three roles, three APIs, one engine. Each role has its own interface layer and documentation.
Provider
HR-tech & EOR Platforms
Payroll as a service — integrate via REST API, run payruns, query results, manage multi-tenant setups.
- OpenAPI 3.1 · HTTP/JSON
- Webhooks & async processing
- Multi-tenant isolation
Regulator
Payroll Consultants & HR Specialists
Define payroll rules — wage types, scripts, and case models in JSON or YAML. LLM-assisted authoring supported.
- No-Code + C# scripting
- Composable regulation layers
- Built-in test framework
Automator
DevOps & Integration Engineers
Automate & extend — build pipelines, batch runs, and tooling using the .NET Client SDK and CLI.
- .NET SDK & NuGet packages
- CI/CD pipeline integration
- MCP Server for AI agents
What you get
Everything you need to run complex, multi-country payroll at scale.
Payroll Regulations
Composable, versioned layers — country, industry, and company regulations stacked and inherited.
REST API
Fully documented HTTP API for embedding payroll processing into any platform.
Regulation Scripting
C# expressions embedded in JSON or YAML — no compiler, no project, just logic where you need it.
Test-Driven
Built-in test framework for case validation, payrun assertions, and regression testing.
Multi-Tenant
Tenant isolation with shared regulations — ideal for SaaS platforms and EOR providers.
Time-Aware
Period-based data model with retroactive recalculation and calendar-aware scheduling.
Get Started
The complete stack runs with a single command. Database initialization and migrations are automatic.
1. Docker Compose
Backend + Web App + SQL Server in one command.
2. Import Regulation
Load a country regulation via JSON or the Payroll Console CLI.
3. Run Payroll
Execute a payrun via REST API or the Web App interface.
Jani Giannoudis
30+ Years · Software Architect · Switzerland
Independent consultant and software architect. Built CAD systems, GMP-compliant electronic batch records, and XBRL processors for financial reporting. Author of the Time Period Library for .NET. Payroll Engine was born in 2018 from a consulting engagement — the realization that existing payroll solutions were too rigid, opaque, or impossible to integrate into modern architectures.
Roadmap
v1.0
April 2026
Stable REST API, DB schema, JSON format
v1.x
TBD
LLM & DSL integration
Ready to embed payroll?
Join the community. Star the repo. Start building.