Skip to main content

Release notes: Inquiry Pay Equity

This documentation page records the changes made to the SETU Standard for Inquiry Pay Equity across multiple versions. This page provides a chronological overview of updates, improvements, and modifications.

From v1.0 to v2.0

Version 2.0 of the Inquiry Pay Equity specification represents a significant improvement of the standard, addressing over 100 solved issues. This release focuses on three key themes:

  1. Data consistency - Harmonizing data types and structures across all blocks
  2. Expressiveness - Adding capabilities to capture complex compensation scenarios
  3. Traceability - Enabling tracking of data origins and cross-referencing between elements

All the issues are recorded on the SETU GitHub environment: link

Structural changes

ChangeIssuesMigration
amount.value and amount.baseAmount.value changed from string to number#13, #69Convert all numeric strings to actual numbers. E.g., "25"25, "150.50"150.50
id field removed, replaced by versionId#52, #57Use documentId as the primary business identifier. Use versionId for version tracking.
customer.personContacts changed from object to array. Multiple person contacts can now be specified#5Wrap existing contact in an array: personContacts: {...}personContacts: [{...}]
Multiple leave.specialLeave are allowed#33Wrap existing special leave in an array to support multiple leave types
Multiple leave.WAZO are allowed#33Convert WAZO description field to structured array entries
sickPay.periode is removed#79Unwrap single time period from array
sickPay.period[].weekday changed from string to array#31Wrap weekday in array for consistency
individualChoiceBudget.budgetRate[] renamed to individualChoiceBudget.line[]#63Rename budgetRate to line for consistency with other blocks
Reference of positionProfile.salaryScale moved to remuneration.salaryScale#14Move salary scales and add positionProfileReference for linking
schemeAgencyId now required on customer.id, individualChoiceBudget.id, other.id, sickPay.id, sustainableEmployability.id#26
holidayAllowance.name changed from required to optional#50
Various line and line.amount fields changed from required to optional#56, #85
Change ...SalaryIncreaseRate to ...SalaryIncrease82
Standardize conditionType values#1Major change please see conditions
Possibility to add Occurence as Conditions and as Paydates to indicate for example salary increases#42See conditions
Add description field to all components#80Description field for complex calculations
Add Hour/Day unitCode for sustainable employability#75
Time-for-time available in the other component#73Support for time-for-time arrangements
Add startSalaryStep under InquiryPayEquity / remuneration / salaryScale / positionProfileReference#67
Add Holidays under allowance/period/weekday#66Process holidays for allowances
Add referenceDate to baseDefinitions#65Add valuation date to basis definitions
Add IKBReference under each line in allowance, holiday allowance, ADV, Paid leave and Sustainability Employability#36Handle missing IKB information
Add description under holidayAllowance, sickPay, leave, individualChoiceBudget, pension and sustainableEmployability#84
Standardized supplementaryArrangement to align it with other elements#87
Added payDateto the allowance element#89
Added lineId elements to all leave components#99
interval and salaryScale are made optional to allow non-mappable employees to be shared in the standard#72
Added contributionSource to each line (and line-like) element#91
Added coverage with the structure of an amount element to supplementaryArrangements and otherArrangements#100

Code List Changes

ChangeIssues
Expense/allowance code lists consolidated; EA105 reassigned#54
Base amount unitCode list expanded with clear wage concepts#9
Amount unitCode list expanded with Day#77
Codelist for offical holidays#62
typeCode for SustainableSociety expanded#38
typeCode for Allowances expanded#21
unitCode for salary increase is expanded with step#21
Aligned the codelist naming convention and corrected small typos#88
Expanded the allowance type codes with mobility options such as BicycleArrangement#90
Created the Contribution source types codelist to clarify if an element requires payment from the employee or the employer#91
Added SickPay to the codelist Base definitions#92

Functional extensions

Origin Tracking (#8, #74)

A new origin block has been added to all major sections to distinguish between:

  • CAO-defined elements (collective labor agreement)
  • Client-specific additions or deviations
"origin": {
"type": "CollectiveLabourAgreement" | "CollectiveLabourAgreementExtended" | "CustomLabourAgreement" | "Unknown"
}

Affected blocks: allowance, holidayAllowance, individualChoiceBudget, leave, other, pension, positionProfile, remuneration, sickPay, sustainableEmployability

Base Definitions (#16)

New top-level baseDefinition[] array to explicitly define what components are included in base salary calculations:

"baseDefinition": [{
"baseType": "actualWage",
"remunerationIndicator": true,
"holidayAllowanceIndicator": true,
"paidLeaveDayIndicator": false,
"allAllowancesIndicator": false,
"allowances": [
{ "typeCode": "EA101" },
{ "typeCode": "EA102" }
],
"referenceDate" : {
"occurrenceType":"..",
}
}]

Supplementary Arrangement (#49)

New supplementaryArrangement[] section for RVU (early retirement), generation pact, and other arrangements:

"supplementaryArrangement": [{
"name": "Generatiepact 80-90-100",
"typeCode": "GenerationPact"
}]

Line Identifiers (#60, #22)

New lineId field on line items enables cross-referencing between allowances:

"allowance": [{
"line": [{
"lineId": { "value": "shift-allowance-1" },
"reference": [{
"id": { "value": "base-hourly-rate" }
}]
}]
}]

Proportional Indicators (#48)

New proportional object on amount blocks to indicate pro-rata calculation:

"amount": {
"value": 100,
"unitCode": "euro",
"proportional": {
"partTimePercentage": true,
"employmentDuration": true,
"description": "Pro-rata based on ...."
}
}

Leave Day Value (#46)

New leaveDayValue on individual leave types (ADV, paid leave, special leave, holidays, WAZO) instead of a single global value:

"workingHoursReduction": [{
"amount": { "value": 24, "unitCode": "hour" },
"leaveDayValue": {
"value": 180,
"unitCode": "euro"
}
}]

Expanded Special Leave (#33)

Special leave restructured as an array with full amount specification:

"specialLeave": [{
"name": "Marriage leave",
"amount": {
"value": 2,
"unitCode": "day"
},
"interval": {
"value": "1",
"unitCode": "item"
},
"conditions": [{
"conditionType": ".."
}],
}]

WAZO Leave Support (#33)

New dedicated wazo[] array for maternity/paternity leave arrangements:

"additionalParentalLeave": [{
"name": "Additional birth leave",
"amount": {
"value": 5,
"unitCode": "day"
},
"conditions": [{
"conditionType": "Occurrence",
"occurrenceType": "...",
}]
}]

Work Duration Details (#64, #41)

Expanded workDuration with interval specification:

"workDuration": {
"amount": {
"value": 40,
"unitCode": "hour"
},
"interval": {
"value": 1,
"unitCode": "week"
},
"valuePerWeek": 40
}

Effective date on Salary Increases (#12)

Added effectiveDate to individualSalaryIncrease:

"individualSalaryIncrease": [{
"effectiveDate": {
"occurenceType": "..."
},
"line": { ... }
}]

Improvements

Expanded Unit Codes (#6, #9, #23, #25, #30, #32, #34, #39)

  • Added shift (per dienst) for shift allowances
  • Added fourWeeks, quarter to interval codes
  • Expanded base amount unit codes with clear wage concepts
  • Added hour and percentage options to paid leave
  • Extended IKB interval options

Salary Scale Improvements (#14)

  • salaryScale moved to remuneration for direct linking
  • Added currency field
  • Added positionProfileReference for position linking

Pension Clarifications (#15, #16)

  • Pension lines can now be distinguished by employer/employee contribution via conditions or naming
  • Base definitions allow specifying pension calculation basis

Holiday Processing (#28, #44, #58)

  • Added unitCode to holiday amounts
  • Improved pay date flexibility
  • Added official holiday code list support

Documentation (#7, #17, #61)

  • Improved field descriptions throughout
  • Clarified hourlyWageFactor usage
  • Better documentation of relationType

Optional Fields (#37, #53, #56 ,98)

  • line and amount fields made optional where appropriate
  • Supports scenarios where arrangements exist but amounts are not known

Translated Dutch terms to English (#93, #95)

  • Numerous Dutch terms such as WGA-hiaat are translated to English terms accompanied with a Dutch translation
  • This includes both codelist and elements

Removed Occurence Types from all elements (#101)

  • The occurence type is per implemenation of the dynamic occurence element not required in the message model

Bugfix PersonContacts to be in line with other SETU message (#103)

The next changes are made to be aligned with the other SETU messages:

  • Cardinality of communication/phone has changed from 0..1 to 0..n
  • Cardinality of communication/email has changed from 0..1 to 0..n
  • Optional element added under communication/email named use code to indicate the usage of the email (e.g., business email or private email)

Added description field under all leave components (#104)


Items On Hold

IssueDescriptionReason
#59Replacing allowancesNeeds further analysis