France Vacation Calculation
The France Vacation Calculation integration automates vacation calculations for customer in France while ensuring compliance with local regulations.
This integration handles functionalities, such as:
-
Monthly grant calculation, in days
-
Division between principle and additional vacation days
-
Grant distribution across multiple accruals
-
Recognition of legal work weeks, such as Jours Ouvrés and Jours Ouvrables
-
Prorates grants for
-
new hires and terminated employees based on working days during the hire or termination month
-
Accrual Policy changes based on working days during the month in which changes occur
-
-
Recalculation and adjustment of vacation grants to accommodate sick leave, when necessary
-
Rounds acquired vacation days at year-end
The integration relies on basic accrual configuration that is configured in the application to manage grant calculations. We provide an SDM zip file with this basic setup, including accrual codes, accrual balance cascade, accrual balance cascade groups, accrual policies, and accrual profiles, as part of the iPack delivery.
Vacation entitlement
All employees in France are entitled to the same number of vacation days, based on a 5-week period. The entitlement, known as Conges Payes (CP), uniformly grants vacation to employees, regardless of full or part-time employment status, working hours, or the number of days the employee works each week.
Organizations choose between two models that define the work week; this is often identified in the collective bargaining agreement.
-
Model 1 — Jours Ouvrés
-
Jours Ouvrés refers to the days when the company conducts business.
-
This model assumes a 5-day work week that ranges from Monday to Friday.
-
Employees receive five 5-day weeks of vacation, which result in an annual total of 25 vacation days
-
-
Model 2 — Jours Ouvrables
-
Jours Ouvrables refers to the days when the company could conduct business.
-
This model assumes a 6-day work week that ranges from Monday to Saturday, even though the company conducts business only from Monday to Friday.
-
Employees receive five 6-day weeks of vacation, which result in an annual total of 30 vacation days.
-
How is vacation managed?
In France, the vacation year runs from June 1 to May 31; however, some exceptions allow use of the calendar year to accommodate collective agreements.
Employees must first earn their vacation through three distinct accrual balances. A cascading policy governs the order in which accruals are used.
-
Accrual 1 – Accruing Vacation Balance (CP en Cours d'Acquisition)
-
Accrual 1 represents the vacation days that the employee is currently earning.
-
In the past, these days were not available until the following year. However, due to recent legislative change, earned days can now be used within the same vacation year.
-
At the end of the year, the balance rolls over into the vested accrual.
-
-
Accrual 2 – Vested Vacation Balance (CP Acquis)
-
Accrual 2 represents vested vacation days earned in the previous year.
-
These days are available for use.
-
Any remaining balance at the end of the vacation year rolls over into the carryover accrual.
-
-
Accrual 3 – Carried Over Vacation Balance (CP Reliquat)
-
Accrual 3 represents unused vested vacation days.
-
The carryover is not limited.
-
Principal and additional vacation
All employees, regardless of the model they follow, are entitled to five weeks of vacation. The fifth week's treatment differs in that it is the only entitlement that can legally be adjusted when the employee takes sick leave.
Three main accruals make up the total vacation (CP).
-
Accrual main, otherwise known as CP Principaux:
-
Represents four weeks of paid principal vacation (20 or 24 days)
-
Split between two accruals — Accruing and Vested
-
Cannot be adjusted when the employee is sick
-
-
Accrual fifth week, otherwise known as CP 5e Semaine:
-
Represents the additional fifth week of paid vacation (5 or 6 days)
-
Split between two accruals — Accruing and Vested
-
Can be adjusted when the employee is sick
-
-
Carried over, otherwise known as CP Reliquat:
-
Represents unused vacation that carries over from the previous year.
-
Monthly grant calculation
Monthly grant calculations for each model are described as follows:
-
Model 1 -- Jours Ouvrés
-
The vacation entitlement, which provides 25 total days each year, is granted at the end of each month. The average monthly grant equates to 2.08 days.
-
The grant designates 80% to CP Principaux (4 weeks of principal vacation) and 20% to CP 5e Semaine (fifth week of additional vacation).
-
Each month, CP Principaux receives 1.67 days and CP 5e Semaine receives 0.41 days.
-
-
Model 2 -- Jours Ouvrables
-
The extension grants exact amounts; no rounding applies during the accruing period.
-
The vacation entitlement, which provides 30 total days each year, is granted at the end of each month. The average monthly grant equates to 2.5 days.
-
The grant designates 80% to CP Principaux (4 weeks of principal vacation) and 20% to CP 5e Semaine (fifth week of additional vacation).
-
Each month, CP Principaux receives 2.0 days and CP 5e Semaine receives 0.5 days.
-
Prorated grant calculation for new hires
Employees who are hired mid-year do not receive the full 2.08- or 2.5-day entitlement during their first month of employment. Their grant must be prorated based on potential working days and must align with the model to which the hiring organization adheres. This extension calculates the prorated grant without rounding and then inserts the result during the accrual period.
Examples of each model for employees who begin employment on March 14, 2024 are described below:
-
Model 1 -- Jours Ouvrés (5-day work week, Monday to Friday)
-
March 2024 consists of 21 potential working days.
-
A start date of March 14, 2024 leaves 12 potential working days in the month.
-
Prorated grant: (12 / 21) * 2.08 = 1.19 days
-
The 80/20 split results in 0.96 days of CP Principaux and 0.23 days of CP 5e Semaine.
-
-
Model 2 -- Jours Ouvrables (6-day work week, Monday to Saturday)
-
March 2024 consists of 26 potential working days.
-
A start date of March 14, 2024 leaves 15 potential working days in the month.
-
Prorated grant: (15 / 26) * 2.5 = 1.44 days
-
The 80/20 split results in 1.15 days of CP Principaux and 0.29 days of CP 5e Semaine.
-
Vacation grant adjustment to accommodate sick leave
Adjustments to accrued vacation days can be made when an employee takes sick leave. These adjustments apply only to the fifth week of vacation but not to the principal four weeks.
-
The four weeks of principal vacation are an essential employee right; this vacation is protected and cannot be adjusted.
-
The fifth week of vacation is considered as an additional entitlement; it can be adjusted for sick leave because it is less strictly protected.
Adjustments are based on the ratio of absence days to total working days in the month.
For example, in an organization that adheres to Jours Ouvrés (5-day work week, Monday to Friday):
-
March 2024 consists of 21 potential working days.
-
The employee earns 1.67 days CP Principaux and 0.41 days CP 5e Semaine.
-
The employee takes 5 sick leave days during the month.
-
The adjusted CP 5e Semaine grant = (16/21) * 0.41 = 0.31 days
-
The CP Principaux grant of 1.67 days remains because it is protected.
Under certain collective agreements, adjustments to the fifth week of vacation as a result of sick leave do not occur immediately. Instead, the adjustment occurs when specific conditions are met, such as:
-
the employee must be sick for a minimum of 90 days within the vacation year.
-
the employee must be sick for a minimum of 90 days within a rolling 12-month period prior to the sickness start date.
-
the employee receives sick day credits during the vacation year which allows the employee to be absent for up to the number of days received before impacting the additional monthly vacation grant.Note: This integration provides optional support for only the first condition.
Rounding logic
Although not applied during the accruing period, rounding must occur on year-end principal and additional vacation balances before transfer to the vested balance.
After the extension makes the necessary rounding adjustments, balance cascade or accrual carryover core functionality handles the move from vested (CP en Cours d'Acquisition) to acquired (CP Acquis).
The rounding logic that the extension applies is outlined below. Refer to the table for a detailed example.
-
The ending balances associated with CP Principaux (1) and CP 5e Semaine (2) are summarized to obtain a total (3).
-
The total amount is rounded up to the next full decimal to obtain the rounded total (4).
-
The extension calculates the ratios of CP Principaux (1) and CP 5e Semaine (2) against the Total (3) to obtain CP Principaux Ratio (5) and CP 5e Semaine Ratio (6).
-
The CP Principaux Ratio (5) and CP 5e Semaine Ratio (6) are applied to the C (4), resulting in CP Principaux Ratio Result (7) and CP 5e Semaine Ratio Result (8).
-
CP Principaux Ratio Result (7) and CP 5e Semaine Ratio Result (8) are then rounded to the nearest half decimal place, producing Rounded CP Principaux Acquis (9) and Rounded CP 5e Semaine Acquis (10).
Rounding logic example
Employee 1 Employee 2 Employee 3 Employee 4 1 CP Principaux 19.79 19.79 15.01 12.01 2 CP 5e Semaine 4.92 3.15 0.87 1.02 3 Total 24.71 22.94 15.88 13.03 4 Rounded Total 25 23 16 14 5 CP Principaux Ratio 0.80 0.862 0.945 0.921 6 CP 5e Semaine Ratio 0.199 0.137 0.054 0.078 7 CP Principaux Ratio Result 20.00 19.826 15.12 12.894 8 CP 5e Semaine Ratio Result 4.975 3.151 0.864 1.092 9 Rounded CP Principaux Acquis 20 20 15 13 10 Rounded CP 5e Semaine Acquis 5 3 1 1
-
Timecard visualization
We recommend that you configure the placeholder paycodes as visible in the Timecard because it helps users track when a grant is issued or when a balance is adjusted, such as for sickness corrections.
Considerations and limitations — France Vacation Calculation
serves as a framework that offers prorating options for new hires, terminated employees, and accrual profile changes.
manages all grants, sickness adjustments, and rounding.
ignores core grant configuration elements.
allows a maximum 24-month calculation period that consists of up to 6 months in the past and 18 months in the future.
provides future grants, up to 18 months, to cover vacation requests submitted up to 1.5 years in advance.
works only with day-based accrual codes.
ignores the Length of Service and Probation Period settings defined in the Accrual Policy.
gives precedence to Accrual Profile assignments in the Employment Term. When the Employment Term is configured in this manner, you must set the Process Type option as Enforce End Date.
references the Employment Status and then checks either the Hire or Termination Date to determine the calculation start date. When an employee is rehired, the extension utilizes the most recent active date as the calculation start date; it then prevents corrections or updates in previous employment date spans.
ignores employees with an inactive employment status.
skips employees who are hired and terminated within the same month. These employees are not entitled to receive grants or prorated accrual amounts.
grants vacation accruals only at the end of each month.
performs accrual proration of the total monthly grant based on the number of days that the employee works during the month. The integration does not perform rounding during the vacation year and instead truncates the monthly calculated prorated amount beyond two digits to the right of the decimal.
performs rounding on the year-end balance to adjust grant amount differences.
relies on paycodes and comments that it places in the Timecard during processing; do NOT edit or delete any of these accrual paycodes or associated comments and notes.
references the locale cross reference-table to generate accrual detail notes that it attaches to adjustment comments in the Timecard. Do not create duplicate values across multiple records in this cross-reference table.
does not create negative accrual adjustments for situations in which an employee charges sick leave after depleting their accrual balances. If your organization permits accrual overdrafts, you must ensure that they are appropriately configured. If overdrafts are not permitted, the extension posts errors in the Additional Information section of the Run Summary and then requires that you perform manual adjustments.
supports recalculations and adjustments in signed-off periods.
does not support multiple assignments.
Configure integration parameters EnableHired/RehiredEmloyee, EnableTerminatedEmp, and EnableAccrualProfileChange to not prompt the user to make a parameter selection during the integration run. These parameters must remain consistent; they cannot change from one integration run to another.
Use cases — France Vacation Calculation
New hire
Company A adheres to the Jours Ouvrables model which grants 30 days each year. This model provides a 2.5-day monthly grant to each employee which is which is divided between CP Principaux (2.0 days) and CP 5e Semaine (0.5 days). The Company prorates the grant during the month in which a new employee begins.
A new employee begins employment on November 15, 2024, and then works 14 days out of the 26 working days during the month.
The extension calculates the prorated grants as:
CP Principaux: (14/26) × 2.0 = 1.08 days
CP 5e Semaine: (14/26) × 0.5 = 0.26 days
The extension then inserts a placeholder paycode with a zero amount in the Timecard at the end of the month. It attaches a comment with notes that describe the accrual grant details.
Sickness adjustment
Company B adheres to the Jours Ouvrés model which grants 25 days each year. This model provides a 2.08-day monthly grant to each employee which is which is divided between CP Principaux (1.67 days) and CP 5e Semaine (0.41 days). The Company applies an immediate adjustment to CP 5e Semaine to account for nonworking sick days; CP Principaux remains untouched.
An employee takes 5 sick days out of 21 potential working days during the month of November 2024.
The extension calculates the November grants as:
CP Principaux: 1.67 days
CP 5e Semaine: (16/21) × 0.41 = 0.31 days
The extension then inserts a placeholder paycode with a zero amount in the Timecard at the end of the month. It attaches a comment with notes that describe the accrual grant details.
Accrual policy change
Company C consists of two legal entities. Entity 1 adheres to the Jours Ouvrables model and Entity 2 adheres to the Jours Ouvrés model. Each entity prorates the monthly grant during the month in which an accrual policy change occurs.
An employee who works for Entity 1 transfers to Entity 2 on November 18, 2024. The employee works on all potential working days under each model – 14 out of 26 days with Entity 1 and 10 out of 21 days with Entity 2. The extension calculates the prorated grants for Entity 1 as:
CP Principaux: (14/26) x 2.0 = 1.08
CP 5e Semaine: (14/26) x 0.5 = 0.26
The extension calculates the prorated grants for Entity 2 as:
CP Principaux: (10/21) x 1.67 = 0.80
CP 5e Semaine: (10/21) x 0.41 = 0.19
The extension then inserts two placeholder paycodes with zero amounts in the Timecard at the end of the month. It attaches a comment with notes to each paycode that describe the accrual grant details applicable to each model.
Termination
Company B adheres to the Jours Ouvrés model which grants 25 days each year. This model provides a 2.08-day monthly grant to each employee which is which is divided between CP Principaux (1.67 days) and CP 5e Semaine (0.41 days). The Company prorates the monthly grant during the month in which termination occurs.
An employee works 16 of the 21 potential working days during the month and then retires on November 22, 2024.
The extension calculates the November grants as:
CP Principaux: (16/21) x 1.67 = 1.27 days
CP 5e Semaine: (16/21) x 0.41 = 0.31 days
The extension then inserts a placeholder paycode with a zero amount in the Timecard on the last day of employment. It attaches a comment with notes that describe the accrual grant details.
Boomi extension setup
- Get the URL, User, and Password for the APIGatewayServer.
- Install and attach the iPack.Note: For more information, see the Deploy Integration Packs to your Atom topic.
- Configure the France Vacation Calculation Extension integration settings:
- Configure connection settingsCaution: If you select Use Default for the connection settings and process properties, ensure that Value is blank. If Value is not blank, that value overrides the default value whether or not Use Default is selected or cleared. Example: If the default value is abc, but Value shows xyz, the integration uses xyz regardless of the setting of Use Default.
- Configure process properties:
Configure the France Vacation Calculation integration
After the integration is deployed, complete the following configurations before you utilize this integration.
Application setup
- Configure Access to Integrations.
- Configure the following:
- System Settings: Establish values for global system settings global.WtkTotalizer.MaxDaysInFutureForAccrualProjections and global.WtkTotalizer.MinDaysInFutureForAccrualProjections to identify the number of days into the future that accruals will be totaled. See the Timekeeping System Settings topic.
-
Comments: Configure two comments for exclusive use by the extension. Select the Pay Codes category during creation. When the extension adds these comments to the Timecard, it also attaches notes to the comments that contain accrual adjustment details. See the Comments topic.
- Paycodes: Create day-based paycodes for exclusive use by the extension. Associate one of the paycodes with accrual policies for taking amounts. One Paycode tracks the monthly adjustment and the other tracks the yearly rounding adjustment. See the Paycodes topic.
- Combined paycodes: Create two combined paycodes, one day-based and the other hour-based, that identify qualifying sickness related paycodes. See the Combined Paycodes topic.
- Accrual codes: Create multiple day-based accrual codes — Accrual main (CP Principaux), Accrual fifth week (CP 5e Semaine), Vested main accrual (CP Principaux Acquis), Vested fifth week (CP 5e Semaine Acquis), and Carried over (CP Reliquat). Select the Allow Manual Edits option during creation of each code. See the Accrual codes topic.
-
Accrual dates: Create an accrual date that identifies the last day of the vacation year. For example, if your vacation year spans from the first day of June until the last day of May, set the accrual date to the last day of May. See the Accrual dates topic.
-
Date patterns: Create a date pattern that governs when the accrual balances are incremented. See the Date patterns topic.
-
Accrual balance cascade: Create an accrual balance cascade that identifies automatic accrual balance transfers which occur based on the previously created date pattern. For example, on the last day of the vacation year, remaining accrual balances in
Vested main
andVested fifth week
move toCarried over
;Accrual main
moves toVested main
; andAccrual fifth week
moves toVested fifth week
. See the Accrual balance cascade topic. -
Accrual balance cascade group: Create an accrual balance cascade group that identifies the balance cascade order. See the Accrual balance cascade groups topic. For example, the CP taking sequence deducts accruals in the following order:
-
Carried over (CP Reliquat)
-
Vested main (CP Principaux Acquis)
-
Vested fifth week (CP 5e Semaine Acquis)
-
Accrual main (CP Principaux en Cours d'Acquisition)
-
Accrual fifth week (CP 5e Semaine en Cours d'Acquisition)
-
-
Accruals policy: Create an accrual policy that contains each of the accrual codes that you created to support vacation calculation. See the Accrual policies topic.
-
Accrual profile: Create an accrual profile that enables you to group the appropriate accrual policies and then assign to one or more employees. See the Accrual profiles topic.
-
Employment terms: Create employment terms to group employees who share the same accrual profile. See the Employment terms topic.
-
Translation setup data: Select configured data to be translated. Entity types that allow translation include: accruals codes, comments, and paycodes. See the Translation - User Interface topic.
Cross-reference tables
Cross-reference tables (CRT) are the look-up tables that the integrations use to translate parameter values. One or more data values from the source system can be used to assign one or more parameters in the destination system.
To make a cross-reference table available for integration processes, populate the table with data.
- If more than one row matches a reference value, the first match is the output value.
- If no match is found, the output value can be null, or the integration can produce errors.
FranceVacationCalculation_iPack_v1_Configuration_CRT: Stores accrual configuration details required by the integration.
Column name | Description |
---|---|
AccrualProfile | The accrual profile, assigned in either the people record or the employment terms, to which the calculation applies. Note: You can use an asterisk (*) as a wildcard, but put the less-restrictive accrual profile names at the bottom of the table because the integration scans cross-reference tables from the top. Caution: The value must adhere to the same locale as the user who initiates the integration. |
AccrualCode-AccruedPrimary | The accrual code that represents Accrued Primary (CP Principaux). Caution: The value must adhere to the same locale as the user who initiates the integration. |
AccrualCode-Accrued5thWeek | The accrual code that represents Accrued Secondary (CP 5e Semaine). Caution: The value must adhere to the same locale as the user who initiates the integration. |
AccrualCode-VestedPrimary | The accrual code that represents Vested Primary (CP Principaux). Caution: The value must adhere to the same locale as the user who initiates the integration. |
AccrualCode-Vested5thWeek | The accrual code that represents Vested Primary (CP 5e Semaine). Caution: The value must adhere to the same locale as the user who initiates the integration. |
AccrualCode-CarriedOver | The accrual code that represents Carried Over vacation. Caution: The value must adhere to the same locale as the user who initiates the integration. |
ModelName | Defines the work week model to which the Accrual Profile belongs. Supported values include:
|
WeekendDays | Semicolon-separated list of weekend days, entered as abbreviated names, on which the employee does not work. Supported values include:
|
VacationYear StartDate(dd/mm) | The vacation year start date, represented in dd/mm format. |
GrantAmount | The vacation amount that the employee accrues each month. |
AccrualProfile | AccrualCode-AccruedPrimary | AccrualCode-Accrued5thWeek | AccrualCode-VestedPrimary | AccrualCode-Vested5thWeek | AccrualCode-CarriedOver | ModelName | WeekendDays | VacationYear StartDate(dd/mm) | GrantAmount |
---|---|---|---|---|---|---|---|---|---|
Vacation A | Accrued Main A | Accrued Fifth week A | Vested Main A | Vested Fifth week A | Carried Over A | Jours Ouvrés | Sat;Sun | 1-Jun | 2.08 |
Vacation B | Accrued Main B | Accrued Fifth week B | Vested Main B | Vested Fifth week B | Carried Over B | Jours Ouvrables | Sun | 1-Jun | 2.5 |
FranceVactionCalculation_iPack_v1_Locale_CRT: Allows customization and translation of integration labels, messages, and errors into different languages.
Parameter Name | Key for which localization is defined. Warning: Internal parameter; do not change. |
Locale Policy | Locale Policy. Note: You can use an asterisk (*) as a wildcard, but put the less-restrictive locale policy names at the bottom of the table because the integration scans cross-reference tables from the top. |
Value | Message shown in Additional Details, or value of the label defined in the Run Summary section. Example: |
Description | The description that is shown in Additional Details. Example: |
-
Localization of integration extensions remains optional, but is supported.
-
The cross-reference table (CRT) holds all messages represented with standard English labels; these apply to all locales when the Locale is set to a wildcard (*).
-
Some or all messages can be translated by adding lines to the table in their preferred translation for specific locales. Messages for the most commonly used Locale Policy should be defined at the top of the CRT.
-
Names of the parameters in the CRT column "Parameter Name" must be used as is. If any parameter value needs to be localized for a different Locale Policy, copy the "Parameter Name" with the * Locale Policy, add a new row to the CRT with the appropriate Locale Policy, and then add the localized values in the Message (or Value) and Description CRT columns.
-
Do not enter values in the CRT column "Description" if it is blank.
-
Do not modify placeholders (<>) or the configurable values that are included in the CRT column "Message" (or "Value").
Parameter Name | Locale Policy | Value | Description |
---|---|---|---|
Error_DisabledSignOffPeriod | * | Enable Edits option is not enabled for this employee. | Error that displays when the 'Enable Edits' option is not enabled for the employee. |
Error_DisableHiredRehiredPerson | * | Hired/Rehired option is not enabled for this employee. | Error that displays when the Hired/Rehired option is not enabled. |
Error_MessageCombinedAbsencePaycodeDays | * | The absence day-based combined paycode is missing or invalid. | The absence day-based combined paycode is missing or invalid. |
Error_MessageCombinedAbsencePaycodeHourly | * | The hours-based absence combined paycode is missing or invalid. | The hours-based absence combined paycode is missing or invalid. |
Error_MessageDayFullDayThreshold | * | Parameter HourFullDayAbsenceThreshold (HH:mm) is invalid. | The day full day threshold is missing or incorrectly set. |
Error_MessageDefaultError | * | Error encountered during integration run. Refer to Process Reporting for more details. | Default process error message. |
Error_MessageEmployeeIDs | * | Employee IDs are missing or invalid. | Employee IDs are missing or invalid. |
Error_MessageEmploymentStatusInvalid | * | Employee employment status is invalid. | Employee's employment status is invalid. |
Error_MessageEnableEdits | * | The parameter to enable edits is either missing or invalid. | The enable edits parameter is either missing or invalid. |
Error_MessageEnableHiredOrRehiredemployee | * | The parameter to enable hired or rehired employees is either missing or invalid. | The hired or rehired employees parameter is either missing or invalid. |
Error_MessageEnableSicknessCorrectionThresholdInVacationYear | * | The parameter to enable sickness correction threshold in the vacation year is missing or invalid. | The enable sickness correction threshold parameter in the vacation year is missing or invalid. |
Error_MessageEnableTerminatedemp | * | The flag to enable terminated employees is either missing or invalid. | The flag to enable terminated employees is either missing or invalid. |
Error_MessageForAPIError | * | API error caused integration failure. See error message below: | API error caused integration failure. |
Error_MessageHourlyFullDayThreshold | * | HourFullDayAbsenceThreshold (HH:mm) is invalid. | The hourly full day threshold is not set or is invalid. |
Error_MessageHyperfindID | * | Hyperfind ID is missing or invalid. | Hyperfind ID is missing or invalid. |
Error_MessageHyperfindNotFound | * | Hyperfind is not found in control parameter. | Hyperfind is not found in control parameter. |
Error_MessageIndicativeComment | * | The indicative comment is either missing or invalid in the control parameters. | The indicative comment is either missing or invalid in the control parameters. |
Error_MessageIndicativePaycode | * | The indicative paycode is either missing or invalid in the control parameters. | The indicative paycode is either missing or invalid in the control parameters. |
Error_MessageIndicativeRoundingComment | * | The indicative rounding comment is either missing or invalid in the control parameters. | The indicative rounding comment is either missing or invalid in the control parameters. |
Error_MessageIndicativeRoundingPaycode | * | The indicative rounding paycode is missing or invalid. | The indicative rounding paycode is missing or invalid. |
Error_MessageInfoCombinedAbsencePaycodeDaysInvalid | * | The provided combined absence paycode for days is invalid or not found in the control parameters. | The provided combined absence paycode for days is invalid or not found in the control parameters. |
Error_MessageInfoCombinedAbsencePaycodeHourlyInvalid | * | The provided combined absence paycode for hourly is invalid or not found in the control parameters. | The provided combined absence paycode for hourly is invalid or not found in the control parameters. |
Error_MessageInfoCommentInvalid | * | The "InformationalComment" is either not found or has an invalid name in the control parameter. | Informational Comment is invalid. |
Error_MessageInfoDayFullDayThresholdInvalid | * | The configured day full day threshold is invalid or cannot be located. | The configured day full day threshold is invalid or cannot be located. |
Error_MessageInfoEmployeeIDsInvalid | * | Employee IDs are invalid. | The provided Employee IDs are either invalid or not found in the system. |
Error_MessageInfoEnableEditsInvalid | * | The configured flag to enable edits is invalid. | The configured flag to enable edits is invalid. |
Error_MessageInfoEnableHiredOrRehiredemployeeInvalid | * | The configured flag to enable hired or rehired employees is invalid. | The configured flag to enable hired or rehired employees is invalid. |
Error_MessageInfoEnableSicknessCorrectionThresholdInVacationYearInvalid | * | The configured flag for sickness correction threshold in the vacation year is invalid. | The configured flag for sickness correction threshold in the vacation year is invalid. |
Error_MessageInfoHourlyFullDayThresholdInvalid | * | The configured HoursFulldayAbsenceThreshold parameter is invalid. | The configured HoursFulldayAbsenceThreshold parameter is invalid. |
Error_MessageInfoEnableTerminatedempInvalid | * | The configured flag to enable terminated employees is invalid. | The configured flag to enable terminated employees is invalid. |
Error_MessageInfoHyperfindIDInvalid | * | The configured Hyperfind ID is invalid or cannot be found. | The configured Hyperfind ID is invalid or cannot be found. |
Error_MessageInfoIndicativeCommentInvalid | * | The configured indicative comment is invalid or not found in the control parameters. | The configured indicative comment is invalid or not found in the control parameters. |
Error_MessageInfoIndicativePaycodeInvalid | * | The configured indicative paycode is invalid or not found in the control parameters. | The configured indicative paycode is invalid or not found in the control parameters. |
Error_MessageInfoIndicativeRoundingCommentInvalid | * | The configured indicative rounding comment is invalid or not found in the control parameters. | The configured indicative rounding comment is invalid or not found in the control parameters. |
Error_MessageInfoIndicativeRoundingPaycodeInvalid | * | The configured indicative rounding paycode is invalid or not found in the control parameters. | The configured indicative rounding paycode is invalid or not found in the control parameters. |
Error_MessageInfoMaxDaysInFutureForAccrualCalculationInvalid | * | The configured value for the maximum days in the future for accrual calculation is invalid. | The configured value for the maximum days in the future for accrual calculation is invalid. |
Error_MessageInfoMaxDaysInPastForAccrualCalculationInvalid | * | The configured value for the maximum days in the past for accrual calculation is invalid. | The configured value for the maximum days in the past for accrual calculation is invalid. |
Error_MessageInfoPayCodeInvalid | * | The "InformationalPayCode" is either not found or has an invalid name in the control parameter. | Informational Pay Code is invalid. |
Error_MessageInfoProcessSignedOffPeriodInvalid | * | The configured process provided signed-off period value is invalid. | The configured process signed-off period value is invalid. |
Error_MessageInfoRawTotalGraceInvalid | * | The raw total grace value is invalid or not found. | The raw total grace value is invalid or not found. |
Error_MessageInfoRawTotalRoundInvalid | * | The raw total round value is invalid or not found. | The raw total round value is invalid or not found. |
Error_MessageInfoResultRatioGraceInvalid | * | The ratio grace value result is invalid or not found. | The ratio grace value result is invalid or not found. |
Error_MessageInfoResultRatioRoundInvalid | * | The ratio round value result is invalid or not found. | The ratio round value result is invalid or not found. |
Error_MessageInfoSicknessCorrectionThresholdInVacationYearInvalid | * | The configured sickness correction threshold for the vacation year is invalid. | The configured sickness correction threshold for the vacation year is invalid. |
Error_MessageInfoTotalizerWaitTimeInvalid | * | The configured totalizer wait time value is invalid. | The configured totalizer wait time value is invalid. |
Error_MessageInvalidPersonAccrualProfile | * | Accrual Profile(s) not found. | Accrual Profile(s) is not found for person. |
Error_MessageInvalidPersonNumber | * | Invalid Person number | Invalid Person Number |
Error_MessageInvalidVacationSatrtYearDateInCRT | * | The vacation start year date in the CRT is invalid or missing. | The vacation start year date in the CRT is invalid or missing. |
Error_MessageMaxDaysInFutureForAccrualCalculation | * | The maximum number of days in the future for accrual calculation is not set or is invalid. | The maximum number of days in the future for accrual calculation is not set or is invalid. |
Error_MessageMaxDaysInPastForAccrualCalculation | * | The maximum number of days in the past for accrual calculation is not set or is invalid. | The maximum number of days in the past for accrual calculation is not set or is invalid. |
Error_MessagePersonNoAccrualProfile | * | Employee does not have an Accrual Profile assignment. | Employee does not have an Accrual Profile assignment. |
Error_MessagePersonAccrualProfileConfigError | * | Accrual Profile is not configured or is invalid. | Accrual Profile is not configured or is invalid for person. |
Error_MessagePersonRehireTerminatedSameMonth | * | Unable to calculate prorated grant for an employee who is hired and terminated in the same month. | Unable to calculate prorated grant for an employee who is hired and terminated in the same month. |
Error_MessageProcessSignedOffPeriod | * | The signed-off period is either missing or invalid. | The signed-off period is either missing or invalid. |
Error_MessageRawTotalGrace | * | The raw total grace value is either missing or invalid. | The raw total grace value is either missing or invalid. |
Error_MessageRawTotalRound | * | The raw total round value is either missing or invalid. | The raw total round value is either missing or invalid. |
Error_MessageRerunNotRequired | * | Rerun not required | Rerun not required |
Error_MessageResultRatioGrace | * | The ratio grace value is either missing or invalid. | The ratio grace value is either missing or invalid. |
Error_MessageResultRatioRound | * | The ratio round value is either missing or invalid. | The ratio round value is either missing or invalid. |
Error_MessageSicknessCorrectionThresholdInVacationYear | * | The sickness correction threshold for the vacation year is missing or invalid. | The sickness correction threshold for the vacation year is missing or invalid. |
Error_MessageTotalizerWaitTime | * | The totalizer wait time is either missing or invalid. | The totalizer wait time is either missing or invalid. |
Error_MessageValidationHeader | * | Erreurs: <parameterList> | Parameters which failed in validation and are mandatory. |
Label_AdditionalDetailPersonNumber | * | ID Employé | Employee ID |
Label_CommentNotesAccrualProfile | * | Profil de Cumul: <AccrualProfile> | Accrual Profile |
Label_CommentNotesAccruedFifthWeekAccrualCode | * | Cumul: <AccruedFifthWeekAccrualCode> | Accrual Code - Fifth Week Vacation |
Label_CommentNotesAccruedMainAccrualCode | * | Cumul: <AccruedMainAccrualCode> | Accrual Code - Principal Vacation |
Label_CommentNotesAccruedMainGrantAmount | * | Acquisition: <AccruedMainGrantAmount> | Grant - Principal Vacation |
Label_CommentNotesAdjustmentType | * | Action: <AdjustmentType> | Adjustment Type |
Label_CommentNotesAdjustmentTypeFifthWeek | * | Action: <AdjustmentTypeFifthWeek> | Adjustment - Fifth Week Vacation |
Label_CommentNotesGrantAmountFifthWeek | * | Acquisition: <GrantAmountFifthWeek> | Grant - Fifth Week Vacation |
Label_CommentNotesGrantDate | * | Date d'Acquisition: <GrantDate> | Grant Date |
Label_CommentNotesPaycodeEditId | * | ID Interne: <PaycodeEditId> | Pay Code ID - Internal |
Label_CommentNotesPersonNumber | * | ID Employé: <PersonNumber> | Person ID |
Label_Message_OverdraftLimitExceed | * | Cette modification ne peut pas être effectuée car le solde de CP 5e Semaine Acquis est insuffisant. <GrantDate> | Label used when overdraft limit is exceeded. |
Label_MessageIntegrationFailed | * | Process completed with record level errors. | Message that displays failures or errors. |
Label_MessageIntegrationSuccess | * | Integration completed without errors. | Success message that displays when the integration completes without error. |
Label_MessageIntegrationSuccessWithDisqualify | * | Integration completed without errors. Additional details, such as disqualifications, are accessible using the button below. | Message that displays when integration completes with partial success. |
Label_PersonRerunValid | * | Process record | Process the rerun records. |
Label_RoundingCommentNotesLastYearAccruedFifthWeekBalance | * | Solde CP 5e Semaine en Cours d'Acquisition: <LastYearAccruedFifthWeekBalance> | Accrued Fifth Week Vacation balance. |
Label_RoundingCommentNotesLastYearAccruedMainBalance | * | Solde CP Principaux en Cours d'Acquisition: <LastyearAccruedMainBalance> | Accrued Principal Vacation balance. |
Label_RoundingCommentNotesLastYearCarriedOverBalance | * | Solde CP Reliquat: <LastyearCarriedOverBalance> | Carried Over Vacation balance. |
Label_RoundingCommentNotesLastYearRoundFifthWeekAdjustmentBalance | * | Arrondi CP 5e Semaine Acquis: <LastyearRoundFifthWeekAdjustmentBalance> | Rounding applied to Accrued Fifth Week Vacation balance. |
Label_RoundingCommentNotesLastYearRoundMainAdjustmentbalance | * | Arrondi CP Principaux Acquis: <LastyearRoundMainAdjustmentBalance> | Rounding applied to Accrued Principal Vacation balance. |
Label_RoundingCommentNotesLastYearVestedFifthWeekBalance | * | Solde CP 5e Semaine Acquis: <LastyearVestedFifthWeekBalance> | Vested Fifth Week Vacation balance. |
Label_RoundingCommentNotesLastYearVestedMainBalance | * | Solde CP Principaux Acquis: <LastYearVestedMainBalance> | Vested Principal Vacation balance |
Label_RoundingCommentNotesNextYearFirstDay | * | Début de l'Année de Vacances: <FirstDayOfNextYear> | Vacation Year Start Date. |
Label_RunSummaryDisqualifyEmployees | * | Disqualify Employees | Number of disqualified employees. |
Label_RunSummaryIntegrationExecutionId | * | Integration Execution Id | Integration Execution Id |
Label_RunSummaryIntegrationTypeKey | * | Integration Type | Integration Type Key |
Label_RunSummaryIntegrationTypeValue | * | Integration Value | Integration Type Value |
Label_RunSummaryProcessEmployees | * | Process Employees | Count of Employees processed by the integration. |
Label_RunSummarySuccessfulAccrualUpdates | * | Successful Accrual Updates | Count of successful accrual adjustment> |
LabelMessage_FifthWeek_Grant | * | Acquisition 5e Semaine | Grant given - 5e Semaine |
LabelMessage_FifthWeek_New Hire | * | Nouvelle Embauche - 5e Semaine | Employee is New Hire - 5e Semaine |
LabelMessage_FifthWeek_Terminated | * | Clôturé 5e Semaine | Employee is Terminated - 5e Semaine |
LabelMessage_FifthWeekProfileChange | * | Changement de Profil de Cumul - 5e Semaine | Employee Accrual Profile has changed - 5e Semaine |
LabelMessage_Grant | * | Acquisition Principaux | Grant given - Principaux |
LabelMessage_New_Hire | * | Nouvelle Embauche - Principaux | Employee is New Hire - Principaux |
LabelMessage_ProfileChange | * | Changement de Profil de Cumul - Principaux | Employee Accrual Profile has changed - Principaux |
LabelMessage_Sickness_Adjustment | * | Ajustement Maladie | Employee has Sickness Adjustment |
LabelMessage_Terminated | * | Clôturé Principaux | Employee is Terminated - Principaux |
Label_CommentNotesVestedMainAccrualCode | * | Code CP Principaux Acquis : <VestedMainAccrualCode> | Label for Vested main accrual code used in Tracking Rounding paycode. |
Label_CommentNotesVestedFifthWeekAccrualCode | * | Code CP 5e Semaine Acquis : <VestedFifthWeekAccrualCode> | Label for Vested Fifth Week accrual code used in Tracking Rounding paycode. |
Tag name |
---|
<AccrualProfile> |
<AccruedFifthWeekAccrualCode> |
<AccruedMainAccrualCode> |
<AccruedMainGrantAmount> |
<AdjustmentType> |
<AdjustmentTypeFifthWeek> |
<FirstDayOfNextYear> |
<GrantAmountFifthWeek> |
<GrantDate> |
<LastYearAccruedFifthWeekBalance> |
<LastyearAccruedMainBalance> |
<LastyearCarriedOverBalance> |
<LastyearRoundFifthWeekAdjustmentBalance> |
<LastyearRoundMainAdjustmentBalance> |
<LastyearVestedFifthWeekBalance> |
<LastYearVestedMainBalance> |
<parameterList> |
<PaycodeEditId> |
<PersonNumber> |
<VestedFifthWeekAccrualCode> |
<VestedMainAccrualCode> |
Install the France Vacation Calculation integration
After the integrations are deployed and the connection settings and process properties are configured, install the integrations to make them available for running or scheduling.
-
An integration template is the configured integration that you deploy to an Atom and then install to make available for running or scheduling.
- An installed integration is a single instance of an integration that is based on an integration template. When you install an integration, you can define parameters or set parameters to be defined when the integration is run.
- Select Main Menu
. - Click Tap Create
. - In Integration Name enter a unique name, such as
France Vacation Calculation v1
. - (Optional) Enter a Description.
Note: Do not select API Integration.
- In File Access, select None to not select a connection.
- (Optional) If the person who runs the integration does not have full access to integrations, select Execute Integration with System Account. This allows the integration access to all APIs in the FAP, and the relevant permissions and data, regardless of the FAP and GDAP of the person who runs the integration.
- (Optional) Select Re-Run to allow repeated runs of the integration with the same parameter values as the previous run.
- Email Notifications
(Optional)
- Select Yes to send email and control center notifications for integration runs.
- Enter the email addresses of the recipients for the following types of run status. For multiple recipients, separate the addresses by a comma, but no spaces:
In Progress — The integration run started and has not finished.
Completed — The integration ran successfully without errors.
Failed — The integration ran successfully, but one or more records have errors. The integration run is treated as failed. If Abort on Failure is configured in an integration set, the integration set stops.
Completed with Errors — The integration run has errors or could not run.
- In Skip Configuration, select None (default) to allow multiple integrations to run at the same time or with the same data without restrictions.
Note: Do not select Allow Minute Interval.
- Configure Integration template and parameters:
- Make sure that the generic data access profiles (GDAP) allow access by the people who need to run the installed integrations.
Run and test the France Vacation Calculation integration
Run integrations to test that the configuration is set up correctly.
- Run the integration
- Select the integration:
- Select Main Menu .
- Click Tap .
- Select the AbsenceBasedAccrualAdjustment_iPack_v2 integration from the list. Click Tap Select.
- (Optional) Enter a unique Integration Run Name to make it easier to identify the run of the integration. Otherwise, the system assigns a default name, which ends with a date and time stamp.
-
Set parameters as follows:
-
Employee IDs: To process data for only a limited group of employees, enter the person numbers, as defined in the source system, each separated by a comma, but no spaces.
For 3 employees:
13997,15556,20012
- HyperfindAndLocation: Select a Hyperfind query of employees.
-
Employee IDs: To process data for only a limited group of employees, enter the person numbers, as defined in the source system, each separated by a comma, but no spaces.
-
Select the following:
- Run Integration : If this is the first time this integration is being run.
- Re-Run: If this integration has been run before, and the status is not In-Progress, you can run the integration again without entering the parameter values again. Click Tap Yes to continue, or No to not run the integration and to return to the parameter settings.
- Wait for the confirmation that the integration completed or failed. Close the panel.
- Click Tap Refresh .
- To see details, select the integration run. Select Run Summary.
- Select the integration:
- Check the results
Status indicators
- In-Progress: The run of this integration has not yet completed.
- Completed: The integration ran successfully without errors.
- Scheduled: This integration is scheduled to run later or repeatedly.
- (Grayed out) Scheduled but Deleted: This integration is scheduled to run, but the integration template has been deleted. When it runs, it will generate an error. To prevent this error, delete the scheduled integration run.
- Completed with Errors: The integration ran successfully, but one or more records have errors. The integration run is treated as failed. If Abort on Failure is configured in an integration set, the integration set stops.
- Failed: The integration run has errors or could not run.
- To troubleshoot and resolve errors, do the following:
Check the Run Summary for details.
- To troubleshoot all types of errors, or if the Run Summary shows a large number of errors, click tap Go to Additional Details (if available), or click tap the Source File to open and examine the input source file.
- (Only for import integrations) To troubleshoot and resubmit integrations that have transactional or data errors, click tap Go to Transaction Assistant.
- To check the results in more detail:
- Click Tap the tile for the integration run.
-
Click Tap
Run Summary to view the results of the integration run.
Example Run Summary details
Note: The available details vary by integration and configuration.- Integration Run Name: Name of this run of the integration.
- Process Name: Name of any integration set that includes this integration.
- Integration Name: Name of the installed integration.
- Integration Reference ID: Unique identifier for this integration run (to help in troubleshooting errors).
- User: The person or user account that ran the integration.
- Integration Type: Import, Export, or None
- Start Date: Date and time when the integration run started.
- End Date: Date and time when the integration run finished.
- Status: In-Progress, Completed, Completed with Errors, or Failed.
- Records Processed: Number of records that were processed.
- Records Created: Number of records that were created.
- Errors: Number of records that failed.
- Source Files, Output File, and Error Files: For file-based import integrations, use Manage SFTP to access the source and output files on the inbound (source) and outbound (destination) SFTP folders. See the Manage SFTP topic.
- Log in to the destination system and ensure that the data has been correctly updated.
APIs — France Vacation Calculation
API details
API name | Type | Resource path | Description |
---|---|---|---|
Retrieve Comments-Manager | GET | /v1/commons/comments | Retrieves information about Comments as a manager. |
Retrieve Persons | POST | /v1/commons/persons/extensions/multi_read | Returns multiple person records based on personid, personnumber. |
Execute Hyperfind Query | POST | /v1/commons/hyperfind/execute | Executes a Hyperfind query by ID or qualifier and returns the result. |
Retrieve User Preferences for Current User | GET | /v1/commons/user_preferences/locale_ policy?tenantDefault=true | Returns user preferences for the tenant default. |
Retrieve Employment Terms | GET | /v1/timekeeping/setup/employment_terms | Returns all the employment terms available on the tenant. |
Retrieve Timecards as Manager | POST | v1/timekeeping/timecard/multi_read?partial_success=true | Returns the timecard details of the employees. |
Update Timecard as Manager | POST | /v1/timekeeping/timecard | Updates a timecard for an employee as a manager. |
Retrieve Timecard Data (Retrieving Accrual Balance) | POST | v1/timekeeping/timecard_metrics/multi_read | Returns timecard data for a set of employees. |
Retrieve Paycodes as Manager | GET | v2/timekeeping/setup/pay_codes?qualifier=Regular | Returns a list of full paycodes available to a manager. |
Apply Updates to Accrual Balances | POST | v1/timekeeping/accruals/updates | Updates accrual balances in bulk. |
Retrieve Comment | GET | /v1/commons/comments | Retrieves information about Comments as an employee or manager. |
Retrieve All Accrual Profiles | GET | /v2/timekeeping/setup/accrual_profiles | Returns a list of all available accrual profiles according to the user's access rights. |
Bulk Enable Edits | POST | v1/timekeeping/enable_edits/import | Returns enable edits for an employee. |
Version history — France Vacation Calculation
Version | Description |
---|---|
iPack_v1 | Initial release. |
iPack_v1 (enhancement) | When the France Vacation Calculation integration was run at month-end, a timing situation prevented the addition of the placeholder paycode ID in the attached notes. During a subsequent integration run within the same month, because the integration did not find the paycode ID in the notes, it applied a second placeholder paycode to the employee's timecard. This second placeholder paycode forced the integration to fail with a script error. |
Issues were addressed in the France Vacation Calculation integration where:
| |
The France Vacation Calculation integration generated a script error when a termination date was entered into an employee's record before the employee had been processed by the integration. |