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.
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)
| 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)"}
"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.
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
# 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
- Payroll Engine
- COM.Base — common multi-country schema
- {CC}.{Name} — base country regulation
- Regulation Deployment