Skip to content

Repositories

GitHub Repositories

The Payroll Engine consists of the following GitHub repositories.

Payroll Engine Repository Map

Repository Content Third party components
PayrollEngine (MIT) Main repository
PayrollEngine.Core (MIT)
NuGet
Core payroll objects
PayrollEngine.Serilog (MIT)
NuGet
System logger 1) Serilog (Apache 2.0)
PayrollEngine.Document (MIT)
NuGet
Report generation 2) FastReport (MIT)
NPOI (Apache 2.0)
PayrollEngine.Client.Core (MIT)
NuGet
Client core payroll objects YamlDotNet (MIT)
PayrollEngine.Client.Test (MIT)
NuGet
Client test library
PayrollEngine.Client.Scripting (MIT)
NuGet
Client scripting xunit (Apache 2.0)
PayrollEngine.Client.Services (MIT)
NuGet
Client services 3)
PayrollEngine.Mcp.Core (MIT)
NuGet
MCP server infrastructure Model Context Protocol (Apache 2.0)
PayrollEngine.Mcp.Tools (MIT)
NuGet
MCP payroll tools
PayrollEngine.Backend (MIT) Backend server application Mapperly (Apache 2.0)
Swashbuckle (MIT)
SqlKata (MIT)
Dapper (Apache 2.0)
Serilog (Apache 2.0)
xunit (Apache 2.0)
PayrollEngine.PayrollConsole (MIT) Console application NPOI (Apache 2.0)
Serilog (Apache 2.0)
PayrollEngine.WebApp (MIT) Web application MudBlazor (MIT)
LocalStorage (MIT)
Serilog (Apache 2.0)
PayrollEngine.Mcp.Server (MIT) MCP server application Model Context Protocol (Apache 2.0)
PayrollEngine.AiContext (MIT) LLM context package for developers, regulators and integrators
PayrollEngine.JsonSchemaBuilder (MIT) JSON schema generator NJsonSchema (MIT)

1) Loggers can be integrated through the PayrollEngine.ILogger interface.
2) Report and document generator can be integrated through the PayrollEngine.Document.IDocumentService interface.
3) NuGet entry package.

๐Ÿ‘ Many thanks to all who supported the open source idea. Only this way this project could be created.

NuGet Packages

Package Sources

PayrollEngine.* packages are published to two sources:

Source Authentication Recommended for
NuGet.org None All users (default)
GitHub Packages GitHub PAT required Contributors, CI/CD

NuGet.org is the recommended source โ€” no configuration needed, works with the standard .NET toolchain out of the box.

To use GitHub Packages instead, add a nuget.config to your solution with a GitHub personal access token (PAT):

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
    <add key="github" value="https://nuget.pkg.github.com/Payroll-Engine/index.json" />
  </packageSources>
  <packageSourceCredentials>
    <github>
      <add key="Username" value="YOUR_GITHUB_USERNAME" />
      <add key="ClearTextPassword" value="YOUR_GITHUB_PAT" />
    </github>
  </packageSourceCredentials>
  <packageSourceMapping>
    <packageSource key="github">
      <package pattern="PayrollEngine.*" />
    </packageSource>
    <packageSource key="nuget.org">
      <package pattern="*" />
    </packageSource>
  </packageSourceMapping>
</configuration>

Adding the Client SDK

By referencing the NuGet package PayrollEngine.Client.Services, the engine can be included in .NET clients.

.NET CLI

> dotnet add package PayrollEngine.Client.Services --version 1.0.0

(Omit --version to use the latest stable; add --prerelease only when you depend on a pre-release package.)

Project package reference

<!-- Replace VERSION with the current release from https://www.nuget.org/packages/PayrollEngine.Client.Services -->
<PackageReference Include="PayrollEngine.Client.Services" Version="VERSION" />

Developer Reference Manual

To develop payroll client applications and regulation scripts, the developer can use the following reference guides

  • Services Reference - contains all client service classes
  • Script Reference - description of script classes

The documentation can be downloaded as a zip file from the Release Assets. After unzipping the zip file, index.html is the start page of the documentation.

The HTML Help can also be launched as a Web application that supports a dark mode display (see Client Scripting and Client Services).