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.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 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).