-
-
Notifications
You must be signed in to change notification settings - Fork 19
Releases
Jani Giannoudis edited this page Jan 21, 2026
·
9 revisions
A release contains the following files:
- Payroll Engine local Setup (OnPremises)
- Payroll Engine Client Setup (Remote)
- Scripting devleoper reference
- Service devleoper help
- REST API
swagger.json
The downloads are located in the GitHub Release Assets section.

| 👉 Continue to Releases |
|---|
- New feature Async payrun job processing Payroll-Engine/PayrollEngine.Backend#6
- Implement asynchronous payrun job processing using Channel and BackgroundService.
- Return HTTP 202 Accepted immediately with Location header for status polling.
- Prevent HTTP 524 timeout errors when processing large payrolls (500+ employees).
-
Backend Breaking Changes:
- POST
/api/tenants/{id}/payruns/jobsnow returns HTTP202 Acceptedinstead of HTTP201 Created. - Response includes Location header for status polling. - Clients must poll status endpoint to determine job completion. - Test library: added support for async payrun jobs.
- Web App payrun jobs page: added support for async payrun jobs.
-
General
- Updated to .NET 10 and C-Sharp 14
- Updated third-party NuGets
-
No-Code Actions
- Actions for collector start, apply and end function
- Actions for wage type value and result function
- Read more
-
Scripting API
- Function: new method to get calendar day count
- Payroll function: added support for the regulation namespace
- Payrun function
- Added get/set payrun result
- Added get wage type name/number by number/name
-
- Updated to OpenApi version 3.1
- Collector and wage type: added actions
- Case field: removed actions
- Regulation: added namespace
- Tenant controller: added an endpoint to retrieve system action properties
- New application setting for HTTPS redirection
- New db stored procedure to delete a lookup
- Updated database to version 0.9.5
- New installation script
Database\ModelCreate.sql - Update from version 0.9.4 script
Database\ModelUpdate.sql
- New installation script
-
- New command lookup text import
- Payroll import command: refactored file mask handling
- Payrun employee test: added result count to the statistics
-
- Regulation item editor: added undo support and save confirmation
- Regulation page: added action support for collector and wage type
- Payrun job page: added virtualization for list selections
- Regulation object: added namespace
- Refactored action editor
- Common
-
Lookup: calculation of wage data (e.g. tax rates) using various methods.-
Threshold- scaling a value based on a threshold lookup range value. -
Progressive- value distribution based on lookup value ranges.
-
-
- Scripting API
-
PayrollFunction: new methodApplyRangeValueto calculate lookup range values.
-
-
Backend
- C# compiler: enhanced error message with source file info (first comment).
- Updated database version to 0.9.4.
-
Console
- Payroll import: added support for source file mask.
-
Backend
- Lookup controller operation
CreateLookupSetsnow supports bulk item appending.
- Lookup controller operation
- Scripting API
- Payroll function: new method
HasLookup(). -
AddPayrunResult()method moved fromCollectorFunction/WageTypeFunctiontoPayrunFunction.
- Payroll function: new method
- Common
- Added culture to case-value, collector, wage-type and to all payroll results
-
Backend
- Added culture to case-value, collector, wage-type and all payroll results
- New app setting
AuditTrailDisabledto disable the audit trail object creation (default=false) - New app setting
DumpCompilerSourcesto dump the compiler source files (default=false) - Updated database schema to v0.9.3
-
Web App
- Case and payrun-result page: added support for value culture
- Collector and wage type editor: added culture
- Case field edit: added support for derived culture
- Removed input attribute culture
- Payrun jobs page: change job history grid to dense
- Added unhandled exception handler, log and page reload
-
Console
- Added dockerfile
- Test commands: show failed culture test
- Payrun employee test command: support for parameter result-mode
- Payrun test command: added support for the new result-mode keep-failed-test
- Testing
- Validation: added support for culture validation
- New test result mode: keep failed test
- Payrun employee test runner: support for test result mode, default: remove test employee
- Updated third party nugets
- Common
- JSON serialization ignores default values.
- Client Services
- Added JSON serialization order to the client models.
-
Payroll Console
- Added command
RegulationExcelImportto convert an Excel regulation to a JSON file or upload it to the backend. - Added excel templates for case changes and regulations, located in the program subfolder
Templates. - Changed command
PayrollImportExceltoCaseChangeExcelImport. The lookup import is handled by the Excel import command.
- Added command
- Examples
- The start example includes an Excel regulation and the command
RegulationExcel2Json.pecmdfor converting to JSON.
- The start example includes an Excel regulation and the command
- Common
- Console wait: fixed input for macOS
-
Docker container support
- Backend
- WebApp
- PayrollEngine
- Common
- Payrun job invocation: added option to force saving of empty employee results
- Scripting API
- New mapping class
CaseObject- Map C# types wit Cases and case fields
- Split case into multiple sub classes
- Namespace/prefix support to map a C# type to different cases
- Payroll function: added method to get raw case object
- Payroll function: added query of multiple raw case objects
- Case change function: added methods to get/set a case object
- Renamed type time period to hour period
- Payroll function: added support to query multiple case values
- Payroll function: added access to the division id
- Case change function: added methods to show/hide a case field
- New mapping class
-
Payroll Console
- Excel case sheet import added: row=case change, columns=case fields
- Excel lookup import: changed column range value to optional
-
Backend
- Scripting payroll runtime: added query of multiple case values
- Regulation controller: fixed get case of case field
- Refactored example Worksheet Payroll to Timesheet Payroll
- Based on case objects
- Support for multiple timesheet periods
- Common
- Added document type json
- Removed document type xml raw
- Scripting API
- Report dataset/table/row: added extension to convert to dictionary and json
-
Web Application
- Report: added support for json report documents
-
Payroll Console
- Report command: added support for json report documents
-
Backend
- Database: fixed payroll report query
- Calendar controller: fixed name of period/cycle/value endpoints
- Common
- Changed user type
AdministratortoUserAdministratorandSupervisortoSystemAdministrator. - Case set: added change reason and forecast
- Report: added user type
- Changed user type
- Scripting API
- New class
TimePeriodwith support for day hour calculations - Function: added user type with test for self-employed and admin
- Function: added user culture and access to payroll calendar
- Function: new secure method ChangeValueType to change the value type
- Case change function: added support to control the case change reason
- Case change function: new methods for updating the start and end date fields
- Case build function: added validation and info support
- Case validate function: added info support
- Report: added record extensions to add relation columns and localization columns
- Report function: added access to raw case values
- Report function: info support added
- Report build function: validation support added
- Report build function: added support for building input lists from queries
- Report build function: added support to hide/show/read only one report parameter
- New class
-
Web Application
- Report build: refactored to support build validation and info
- Report build: include xml-raw reports in xml command
- Input attributes: new attribute value-time-picker for decimal case fields (day24, day12, day-hour, day-minute, hour-minute)
- Input attributes: new attribute value-picker-static to always show the picker
- Input attributes: new attribute variant for the edit style text/filled/outlined
- Input attributes: new attribute field-layout to show/hide the case field start/end/value
- Input attributes: attribute hidden-dates replaced by hidden-name
- Input attributes: added layout attributes group and separator
- Input attributes: added transient attributes edit-info and validity (used in case and report build)
- Case edit: show build script info in addition to the validation rules
- Case edit: changed inputs to dense
- Case edit: copy case input attributes to all case fields (no replacement)
- Regulation edit report: added user type
- Enabled all features for the tenant admin
- Parun job: added evaluation date to run time analysis jobs
- New field component time picker
- New components app configuration: button variants, tooltip delay and grid page size
- Main layout: hide tenant and payroll dropdown on single selection
- Main layout: changed default navigation state to hidden
-
Backend
- Added calendar extensions for working days
- Derived case build: fixed init of non-period case fields
- Script case value provider: fixed time check for instant case values
- Case change: initialise case value creation date with case change creation date
- Report: added user type
- New Example Worksheet Payroll
- Supports different payroll calendars: weekly, bi-weekly, monthly etc.
- Customization of working days (calendar) and min/max working and break times.
- Different wage base rate for casual workers.
- Customised daily rates in four phases.
- Daily worksheet changes allow for different working hours and wages within a pay period.
- Cases
- Worksheet (company case)
- Casual worker (employee case, administrator)
- Working hours (employee case, self-service)
- Reports
- Working Time Report (employee)
- Wage Report (user)
-
Web Application
- New case input attributes
input.hiddenDates,input.startHiddenandinput.endHidden - Fixed culture on case start/end date/time pickers
- Fixed case field set initialisation of default value
- New case input attributes
-
Payroll Console
- Action markdown report
- Report library
.dllactions to a markdown file.md - Payroll Engine Action Reference
PayrollEngine.Client.Scripting.md, included in the setup documentation
- Report library
- Action markdown report
-
Backend
- C# script compiler: enhanced script error message (scripting exceptions)
- Validate case dates are matching the period or cycle
- New case field data types
PeriodStart,PeriodEnd,CycleStartandCycleEnd
- New case field data types
- Case setup: improved default value initialisation
-
Web Application
- New input attribute
input.prioritysupport for cases- Priority levels:
low,normal(default),highandcritical - Cases page lists cases sorted by priority
- Different case visualisation per level
- Priority levels:
- Refactored localisation to support user culture
- Improved performance of culture drop-down lists
- Disabled Blazor server-side pre-rendering
- New input attribute
- Updated to .NET 9
- Log files folder changed from system application data folder to local application folder
- Backend API key support
-
Admin Application
- Replaces the setup application
- Database setup and upgrade (local and remote)
- Backend server setup (local and remote)
- Web Application server setup
- Register console file associations (requires administrator rights)
- Browse tests and examples
-
Web Application
- New button style
- Case field input: change history
- Load on demand (better startup performance)
- New input attribute
input.valueHistoryto enable/disable value history
- Case selection dense mode
- Improved asynchronous task and error handling, added busy indicator
- Updated MudBlazor to version 9.1
- Fixed boolean attribute setup
-
Payroll Console
- New command
Write - Support for command files
- Multiple commands
- Sub-command file invocation
- Support for custom commands
- Plug-in mechanism for special accounting commands
- Example Payroll Console Extension Tutorial
- New command
-
Backend
- API key
- Simple protection for test and development scenarios
- Configuration in backend, web application and console
- Transactional processing for dynamic T-SQL queries
- API key
- Updated external NuGet references
- Setup: fixed installation in directories with spaces
- Update to .NET 8
Core
- Value convert and json extensions: added mandatory culture info parameter Client.Core
- Wage type service: fixed wage type number culture conversion Backend
- Api controller: refactored tenant authorization to tenant request including the setup of the thread culture
- Db context: refactored test tenant to get tenant
- Value convert: added culture support
- Domain scripting: added support for tenant culture
- Removed health check (unused) Payroll Console
- Payroll result report: added support for tenant culture Web App
- Refactored culture name to culture info
- Pages: added tenant culture
- Client Core - payroll http client and console program: refactored to use http client handler
- Client Core - console program: show product version instead of file version (beta release info)
- PayrollConsole - refactored http client handler
- WebApp - refactored http client handler
Bug Fixes
- data table get raw value: added cnull check before json deserialization (Core)
- string and attribute extensions: changed default culture to the current thread (Core)
- string culture extensions: made culture case-insensitive (Core)
- console arguments: fixed access to named argument (Client Core)
- controller visiblity: refactored to action model convention (Backend)
New Features
- Payrun test and payrun employee test
- Client.Test: added new option
TestRunModeto ignore the test execution - PayrollConsole: new command line argument
/skipteststo ignore the payrun test and the payrun employee test Bug Fixes
- Client.Test: added new option
- WebApp: fixed tenant authentication for backend services on tenant switch (debug mode only)
- Added Wiki
- client service tutorial
Payroll unit testsRepo-Link
- Beta 4 - First Preview
🤝 Thank you for supporting this project with a donation.
⚡ This is a pre-relase version of the initial development, please read the restrictions.
- Payroll Engine