◆ Products are in beta — partnerships for finalization welcome. Get in touch →
Products › Country Regulations › All Countries

What’s inside a
Country Regulation

Every PayrollEx country regulation is a complete, self-contained payroll compliance package — layers, reports, tests, NuGet deployment, and full documentation.

All Country Regulations → Request a Demo
01 — Regulation Layers
A versioned layer stack
Each regulation is composed of stacked layers. The core layer defines all calculation logic; annual layers carry the statutory values for a given tax year. Layers are imported independently and can be updated or replaced without touching adjacent layers. This follows the native Payroll Engine regulation inheritance model — objects in a higher layer override objects in lower layers by their override key.
L1
Core Regulation
Defines all WageTypes, Cases, CaseFields, Collectors, Lookups, and Scripts. The calculation logic is regulation-stable — only updated when the statutory model changes structurally.
WageTypes Cases & CaseFields Collectors Lookups Scripts
Regulation
L2
Annual Regulation
Year-specific regulation layer (e.g. XX.Regulation.2026) — carries WageTypes or overrides valid only for that tax year. Replaces the prior year's layer on roll-over.
XX.Regulation.2026 validFrom: 2026-01-01
Annual
L3
Annual Data Regulations
Versioned data satellites containing exclusively statutory parameters: tax tariffs, contribution rates, ceilings, and thresholds. Each satellite covers one parameter domain and is verified annually against official gazette publications before release. Read more →
Data.LSt.2026 Data.SV.2026 Data.UV.2026 Data.Federal.FICA.2026 Data.StatutoryPay.2026
Annual · Data
L4
Provider Layer
Payroll bureau or EOR customizations applied across all their clients: shared WageType extensions, bureau-wide benefit schemes, and collective agreement templates. Defined once by the provider, inherited by every tenant they serve.
Bureau.Benefits Collective Agreements Shared Extensions
Optional
L5
Tenant Layer
Individual client customizations on top of the provider layer — the native Payroll Engine tenant regulation concept. Company-specific WageTypes, car policies, bonus schemes, or employee group rules. Namespace follows the Payroll Engine convention: DE.Acme extends DE. Each tenant maintains their own layer independently — no changes to shared provider or compliance layers required.
DE.Acme.CarPolicy DE.Acme.Bonus DE.Acme.Override
Optional
Read Article →
02 — Customization
Override and extend regulation objects
Every regulation object carries a unique override key. A higher layer (L4 Provider, L5 Tenant) can override or extend any object from a lower layer simply by declaring the same key — without modifying the original regulation. This is the mechanism that makes the layer model practical: compliance stays in L1–L3, customization lives in L4–L5.
Override key: lookup name + value key
Lookup Values
Replace individual entries in a statutory lookup table — e.g. apply a company-specific tax rate or override a threshold for a specific employee group.
Override key: case / field name
Cases & CaseFields
Override case availability expressions or default values. Add CaseFields for company-specific inputs. Restrict or extend which fields are visible per employee group.
Override key: collector name
Collectors
Add WageTypes to existing collector groups or define new collectors for company-specific cost aggregations without modifying the base regulation.
Override key: wage type number
Wage Types (No-Code)
Override a WageType's value actions to inject company-specific logic — e.g. add a benefit, apply a collective agreement rate, or extend gross pay with a bonus component. No C# required. The regulation also ships with reusable Custom Action functions (statutory algorithms) that provider and tenant WageTypes can call directly.
Override key: script function name
Scripts
Override or extend C# calculation scripts for WageTypes and Case validation. Shared scripts can be overridden per tenant to apply custom business logic on top of the statutory base.
Override key: report name / template name
Reports
Override report parameters or replace FRX templates with company-branded layouts. Add new reports to a tenant layer without touching the regulation's standard report definitions.
Read Article →
03 — Reports
PDF and XML output
Regulations ship with ready-to-use report templates for employee-facing documents and statutory electronic filings. Reports are executed via the Payroll Engine Report API and rendered server-side.
📄 PDF
Payslip & Summary Reports
FastReport FRX templates rendered to PDF. Used for employee payslips, employer cost overviews, and period summaries. Parameterized by period, employee, and language.
Payslip PayrollOverview EmployerCostSummary
📄 XML
Statutory Filing Reports
Country-specific XML documents for electronic submission to tax authorities and social insurance bodies. Generated from payrun results and structured to match the official schema.
LstAnmeldung (DE) BeitragsNachweis (DE) SvMeldung (DE) RTI FPS (UK) DSN (FR)
Read Article →
04 — Tests
Unit tests and regression tests
Compliance is verified at two levels: algorithm unit tests validate individual calculation functions in isolation; regression tests run full payruns end-to-end and assert expected payroll results per WageType.
Unit Tests
Algorithm Validation
xUnit tests targeting individual calculation algorithms — tax tariff functions, rounding rules, and statutory formula implementations — without invoking the full payrun pipeline.
Framework.NET xUnit
ScopeSingle function / algorithm
ExamplePAP 2026 vs PAP 2025
LocationTests.Unit/
Regression Tests
Full Payrun Tests
End-to-end integration tests that execute a complete payrun with defined case data and assert the resulting WageType values. Each test covers one specific payroll scenario with documented calculation steps.
Runnerpecmd PayrunEmployeeTest
NamingWT-TCxxxx-XX-Scenario
Per test.et.json · .pecmd · README
LocationTests/
Read Article →
05 — Deployment
NuGet package, pecmd CLI, REST API
Regulations are distributed as versioned NuGet packages and deployed via Exchange JSON import. No build pipeline required on the target system — just import and run.
NuGet Package
Regulation.XX.YY · versioned · private feed
Each regulation is packaged as a versioned NuGet. The package bundles all regulation JSON files, scripts, and report templates. Distributed via private NuGet feed through partner channels.
Private Feed Semantic Versioning Annual Releases
pecmd / REST API Import
PayrollEngine.PayrollConsole · Exchange JSON
Regulation layers are imported as Exchange JSON via the pecmd CLI or directly via the Payroll Engine REST API. Each layer is independently importable and replaceable.
pecmd PayrollImport REST API No Server Restart
06 — Documentation
Payroll Matrix and 9 standard docs
Every regulation ships with a complete documentation set covering architecture, compliance scope, data model, use cases, and maintenance workflows. All documents are updated annually alongside the regulation release.
📄
Payroll Matrix
The master reference document: a full cross-reference of all WageTypes, their legal basis (statutory article, § reference), calculation dependencies, and consolidation cluster membership. Used for compliance audits and annual update planning.
Document Content
Actions.md All WageType and CaseValidate custom action functions: function name, WT number, type, algorithm summary.
Analysis.md Architecture deep-dive and annual update process: data layer split, calculation flow, design rationale.
Compliance.md Compliance report: regulatory scope, implementation status, known gaps, and official source references.
Design.md Regulation design decisions: layer model, namespace conventions, key patterns, and structural choices.
Maintenance.md Annual update workflow: per-data-package change calendar, gazette sources, and release checklist.
Model.md Full data model: collectors, WageType matrix, cases and fields, lookup tables, report list.
ProviderStubs.md Provider override patterns: stub WageTypes, override keys, and working examples for company-specific customization.
UncoveredCases.md Payroll scenarios not covered, classified by Tier A (generic), B (provider-specific), or C (out of scope).
UseCases.md Step-by-step provider workflows: tenant setup, employee onboarding, standard payroll scenarios.
All Country Regulations → Consolidation Regions → Request a Demo