Skip to content

Payroll-Engine/PayrollEngine.Template.Regulation.Country.Consolidation

Regulation.{CC}.{Name}.Consolidation

Maps {CC}.{Name} payroll results to the COM.Base schema (WageTypes 8000–8060). Use this regulation in multi-country setups where COM-normalized results are required alongside the country-specific {CC} calculation.

Implemented as a Payroll Engine regulation.


Layer Model

Level 1  COM.Base                                    Common schema (stubs for 8000–8060)
Level 2  {CC}.{Name}                                 Country regulation
Level 2  {CC}.{Name}.Data.*                          Data regulations (rates, parameters)
Level 2  {CC}.{Name}.Consolidation                   {CC} → COM mapping (this regulation)

COM WageType Mapping

WT Name COM Collector Source
8000 GrossIncome COM.Gross Collector {CC}.{GrossCollector}
8010 TaxWithheld COM.TaxEmployee {e.g. −WT 5130 or specific WT reference}
8020 SocialSecEmployee COM.SocialEmployee {e.g. WT 5010 + WT 5020 or 0 if employer-borne}
8030 TotalDeductionsEmployee −Collector {CC}.{DeductionCollector}
8040 NetIncome COM.Net WT {nr} ({CountryNetName})
8050 SocialSecEmployer COM.SocialEmployer Collector {CC}.{EmployerCollector}
8060 TotalEmployerCost {CC}.{GrossCollector} + {CC}.{EmployerCollector}

Notes:

  • {WT-specific note, e.g. "WT 8020 = 0 — NL: employer bears full SV cost"}
  • {WT-specific note, e.g. "WT 8010 includes BV netto + Opcentiemen (WT 5130 + WT 5140)"}

Payroll Layer Configuration

"layers": [
  { "level": 1, "priority": 1, "regulationName": "COM.Base" },
  { "level": 2, "priority": 1, "regulationName": "{CC}.{Name}" },
  { "level": 2, "priority": 2, "regulationName": "{CC}.{Name}.Data.{Source1}" },
  { "level": 2, "priority": 3, "regulationName": "{CC}.{Name}.Data.{Source2}" },
  { "level": 2, "priority": 4, "regulationName": "{CC}.{Name}.Consolidation" }
]

The Consolidation regulation must always have the highest priority at level 2. PE selects the correct regulation version automatically based on the payrun EvaluationDate.


Repository Layout

Regulation.{CC}.{Name}.Consolidation/
  {Year}/
    Regulation/
      {CC}.{Name}.Consolidation.{Year}.json          Regulation definition
      {CC}.{Name}.Consolidation.WageTypes.{Year}.json COM WageTypes 8000–8060
    Tests/
      README.md                                       Test index (prerequisites)
      {CC}.Consolidation.Test.ComBase.json            COM.Base import into country tenant
      {CC}.Consolidation.Test.ConsolidationReg.json   Consolidation import into country tenant
      {CC}.Consolidation.Test.Setup.json              Consolidation payroll + payrun
      {CC}.Consolidation.Test.CompanyCases.json       Company cases
      TC01/   All 7 COM WageTypes + 5 COM Collectors — standard case
      TC02/   {Optional: second scenario, e.g. Frontalier / partial period / special rate}
    Schemas/
      PayrollEngine.Exchange.schema.json
    Setup.pecmd                Full setup (delete + regulation + wage types)
    Setup.Regulation.pecmd     Import regulation definition only
    Setup.WageTypes.pecmd      Import wage types only
    Setup.Tests.pecmd          Import test regulations + payroll + company cases
    Test.All.pecmd             Run all test cases
    Test.Preview.pecmd         Run all test cases as preview (no persistence)
    Delete.pecmd               Delete {CC}.{Name}.Consolidation tenant
    Delete.Tests.pecmd         Remove test objects from {CC}.{Name} tenant

Setup and Testing

# Full setup
{Year}/Setup.pecmd

Prerequisite: The {CC}.{Name} test environment must be set up first.

# 1 — Set up country regulation tests
cd ..\Regulation.{CC}.{Name}
{Year}\Setup.Tests.pecmd

# 2 — Set up and run consolidation tests
cd ..\Regulation.{CC}.{Name}.Consolidation
{Year}\Setup.Tests.pecmd
{Year}\Test.All.pecmd

See Also

About

GitHub template for Payroll Engine consolidation regulations — maps country payroll results to the COM.Base schema (WageTypes 8000–8060)

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors