Skip to content

About

The Project

Payroll Engine is an open-source, domain-specific framework for payroll automation — built for software teams who need to embed payroll processing into larger platforms rather than build it from scratch.

The idea emerged in 2018 during a consulting engagement where existing payroll solutions were either too rigid, too opaque, or impossible to integrate cleanly into a modern software architecture. After years of development, the result is a framework that treats payroll as a composable, testable, and scriptable domain — not a black box.

The engine is maintained by a single developer and shaped by real-world payroll requirements across multiple countries and industries.


Design Goals

Design Decision Rationale
Embeddable Payroll must integrate into any platform — a full REST API with no UI dependency was non-negotiable
Regulation-driven Hardcoded payroll logic doesn't survive country changes or client customization — versioned, exchangeable modules do
Scriptable Domain experts need to own calculation logic without waiting for developers — No-Code actions and C# scripting cover both ends
Testable Payroll errors are costly and hard to reproduce — a built-in test framework for cases, payruns, and regression is mandatory
Multi-tenant SaaS payroll platforms share regulation layers across clients — tenant isolation had to be a first-class concern, not an afterthought
Time-aware Overwriting past data destroys auditability — every change is a time-stamped event, enabling retro recalculation and full history

Current Status

The Payroll Engine is in pre-release. Version 1.0 is the first stable release targeting production use.

See Releases for the versioning policy and breaking change scope.


Open Source & Funding

The Payroll Engine is released under the MIT License and lives from community support.

If this project saves you time or forms the foundation of your product, please consider sponsoring it. Every contribution — however small — directly enables continued development.

A sincere thank you to everyone who has supported the project so far. ❤️ Sponsors


Contributions

Community contributions are welcome in the following areas:

Area Details
Docker Docker Compose Stack
CI/CD Pipeline integrations — see Repositories
Linux Container setup and Linux compatibility — Container Setup
Web App Localization Translation files for the Web Application — Localizations
MySQL Alternative persistence layer — SQL Server reference

Please get in touch if you are interested in contributing.


About the Author

Jani Giannoudis is an independent software consultant and architect based in Switzerland, with over 30 years of experience building technical and business frameworks across demanding domains — including CAD systems, GMP-compliant electronic batch record applications, and XBRL processors for financial reporting.

The Payroll Engine is the culmination of that experience applied to payroll: a domain-specific framework designed the way software architects think about the problem, not the way legacy payroll vendors built their black boxes.

He has published 13+ technical articles on dev.to and his Time Period Library for .NET is a widely used open-source library in the .NET ecosystem.

Alongside the Payroll Engine, he advises companies on the architecture and development of complex software systems.

LinkedIn  ·  dev.to  ·  GitHub


Help and Contact

Channel Purpose
GitHub Discussions Questions, ideas, feature requests
GitHub Issues Bug reports, technical problems
Email Partnership and direct inquiries
LinkedIn Business inquiries, partnerships

Payroll Engine is maintained by a single developer. Please allow a few business days for responses.