The open-source payroll automation framework.
Build multi-country, multi-industry payroll applications with composable regulation layers.
Website · Get Started · Quick Start · Discussions
The Payroll Engine is a framework for building payroll applications. Payroll logic lives in configurable regulation layers — not hardcoded. Layers are stacked, overridden, and shared across tenants, countries, and industries.
Embed it via REST API, deploy it via Docker, or automate it with the .NET Client SDK.
| Role | Who | Interface |
|---|---|---|
| Provider | HR-tech platforms, EOR providers | REST API · OpenAPI 3.1 |
| Regulator | Payroll consultants, HR specialists | No-Code Actions · C# Scripting |
| Automator | DevOps, integration engineers | .NET Client Services SDK · CLI |
# 1. Login to GitHub Container Registry (one-time)
echo "<your-pat>" | docker login ghcr.io -u <github-username> --password-stdin
# 2. Clone and configure
git clone https://github.com/Payroll-Engine/PayrollEngine.git
cd PayrollEngine
echo "DB_PASSWORD=PayrollStrongPass789" > .env
# 3. Start
docker compose -f docker-compose.ghcr.yml up -dWeb Application: http://localhost:8081 · Backend API: http://localhost:5001
| Repository | Description |
|---|---|
| PayrollEngine | Main repo — Docker stack, examples, tests, schemas |
| PayrollEngine.Backend | REST API server + SQL Server persistence |
| PayrollEngine.WebApp | Blazor web application |
| PayrollEngine.PayrollConsole | CLI for automation, testing, and data import |
| PayrollEngine.Client.Services | .NET Client SDK (NuGet entry package) |
| PayrollEngine.Client.Scripting | Scripting API for regulation development |
| PayrollEngine.Client.Core | Client core objects |
| PayrollEngine.Client.Test | Test runner library |
| PayrollEngine.Core | Core payroll objects |
| PayrollEngine.Document | Report generation |
| PayrollEngine.Serilog | Structured logging |
MIT — free for any use. See LICENSE.