Repositories
GitHub Repositories
The Payroll Engine consists of the following GitHub repositories.
| Repository | Content | Third party components |
|---|---|---|
| PayrollEngine (MIT) | Main repository | |
| Core payroll objects | ||
| System logger 1) | Serilog (Apache 2.0) | |
| Report generation 2) | FastReport (MIT) NPOI (Apache 2.0) |
|
| Client core payroll objects | YamlDotNet (MIT) | |
| Client test library | ||
| Client scripting | xunit (Apache 2.0) | |
| Client services 3) | ||
| 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.AdminApp (MIT) | Admin application 4) | MudBlazor (MIT) |
| 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.IDataMerge interface.
3) NuGet entry package.
4) Windows only.
| 👍 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 --prerelease
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 classesScript 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).