Jours de Fractionnement

The labor law in France defines a legal period during which employees are encouraged to take a contiguous span of time as their main vacation. When situations arise that prevent them from doing so, employees are entitled to extra days of paid time; this is known as Jours de Fractionnement. This extension automatically validates whether an employee qualifies to receive Jours de Fractionnement, and then adjusts the accrual balance, as necessary.

Note: This integration is an extension that is developed outside the normal release schedule to meet specific customer needs; it must be installed by an Integration Consultant. To request one of these extensions, you must submit a request by way of the Gateway Request Portal for BITS, accompanied by a change order.

Full-time employees in France are entitled to 5 weeks (25 days) of paid vacation. A minimum of 12 contiguous vacation days must be taken to qualify as main leave. The right to additional days is subject to certain conditions that organizations configure to meet their specific needs. Conditions include:

  • Minimum number of acquired vacation days at the beginning of the legal period.

  • (Optional) Required number of contiguous vacation days that must be taken during the legal period.

  • Number of remaining acquired vacation days at the end of the legal period.

When the conditions are met, employees are entitled to:

  • 1 extra vacation day when they have a remaining balance of 3-5 days.
  • 2 extra vacation days when they have a remaining balance of 6 or more days.

The extension works only for day-based accruals in the current year. Organizations identify the day-based paycodes that are considered main vacation. Interruptions to vacation caused by worked time or assimilated absences, such as training or customer visits, initiate the validation process. Adjustments are made to a specified accrual on a grant date that falls after the legal period end date. An indicative paycode and comment are added to the timecard.

Use case

An employee works in an organization where extra vacation days are awarded when:

  • The employee acquires at least 15 days of paid leave at the start of the legal period.

  • The employee takes the minimum number of 12 contiguous vacation days during the legal period May 1 — October 31.

The number of extra days granted on November 1 depends on the number or remaining vacation days at the end of the legal period.

  • 1 extra day is awarded when 3 or more vacation days are remaining.

  • 2 extra days are awarded when 6 or more vacation days are remaining.

During the current year, the employee took 15 vacation days in August, which qualifies as the main leave. At the end of October, 5 vacation days remain.

Since the employee qualifies for all conditions, the extension grants 1 extra vacation day on November 1, increasing the vacation balance to 6 days. On November 1, the employee's timecard contains an appropriate paycode representing the grant.

Before you start

Before you configure this integration, you must do the following:

  1. Configure Access to Integrations.
  2. Configure the following:
    • Comments: Configure a comment, such as Jours De Fractionnement, that has a selected category of Pay Codes. See the Comments topic.

    • Accrual codes: Configure a day-based accrual code for which balances are checked. See the Accrual codes topic.

    • Accrual policies: Configure an accrual policy that contains the accrual code. See the Accrual policies topic.

    • Accrual profiles: Configure an accrual profile to assign to either People Records or employment terms. See the Accrual profiles topic.

    • Paycodes: Configure an hour-based informational paycode, such as Jours de Fractionnement. See the Paycode definition topic.

    • Combined paycodes: Configure multiple combined paycodes. See the Combined Paycodes topic.

      Examples include:

    JDF Workday Paycode Day— includes day-based paycodes representing interruptions, such as Training. Do not include holiday paycodes.

    JDF Workday Paycode Hours— includes hour-based paycodes representing interruptions, such as Regular, Travel, and Training Hours. Do not include holiday paycodes.

    JDF Combined Paycode— includes day-based paycodes representing paid leave, such as Vacation, Sick, and Holiday.

  3. Get the URL, User, and Password for the APIGatewayServer.

Configure the Jours de Fractionnement integration

  1. Deploy the Jours de Fractionnement integration
    Note: For more information, see the Deploy Integration Packs to your Atom topic.
    1. Open the Integration Template Designer: Select Main Menu Administration > Application Setup > Integrations Setup > Design Integration Templates.

      Note: If prompted, enter your Username and Password. Click Tap Log in.
    2. Make sure that the Account is correct. If not, select the right account.

    3. Select the Deploy tab > Integration Packs.
    4. From the list in the left column, search for and select the Pro WFM Jours de Fractionnement Extension integration.
      Note: If the integration does not display, select Browse Integration Packs to search for and select the iPack.
    5. Click Tap Install.

    6. From Unattached Environments, select the environment in which to deploy the integration process for the selected integration. Click Tap the double-left arrows button
      Select items
      .
  2. Configure the Jours de Fractionnement integration settings
    1. Select the environment
      1. Select the Manage tab > Atom Management.
      2. Select your environment.
    2. Select environment extensions
      1. In Administration, click tap Environment Extensions.
      2. In Process Filter, click tap the magnifying glass
        Search button
        . It can take several seconds before the button becomes active.
      3. Scroll to and select the integration pack: Jours de Fractionnement > JoursdeFractionnement_iPack_v2.
  3. Configure connection settings
    Caution: 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.
    1. Select Connection Settings.
    2. From the Connection list, select and configure the following:

      Connection Settings

      Connection Settings for the integration

      Setting

      Required

      Actions

      JoursdeFractionnement_iPack_v2_APIGatewayServer

      Required

      To change the default API gateway server:

      1. Clear Use Default.
      2. Enter the URL to the server.

        Example: <tenantURL>/api

      JoursdeFractionnement_iPack_v2_AccrualDetails_CRT

      Required

      Enable Override.

      JoursdeFractionnement_iPack_v2_Locale_CRT

      Required

      Enable Override.

  4. Configure process properties
    1. Select Process Properties.

      Caution: Do not edit the default values of the AuthenticationProperties. By default, cookies are enabled and set the values for authentication properties.
    2. Select JoursdeFractionnement_iPack_v2_CRTConfig to set process properties that must be configured before the integration can run. This main process starts the integration process and handles errors.

    Process Properties

    Process Properties

    Process property name

    Column header value

    _JoursdeFractionnement_iPack_v2_Locale_CRT

    Parameter Name,Locale Policy,Value,Description

    _JoursdeFractionnement_iPack_v2_AccrualDetails_CRT

    Version Number,Accrual Profile,Accrual Code,Legal Period Start (dd/mm),Legal Period End (dd/mm),Paid Leave Paycode,Interrupting Paycode Days,Interrupting Paycode Hours,Contiguous Days,Minimum Acquired at start of legal period(days),Remaining Balance at end of legal period(days),Extra Grant (Days),Extra Grant Accrual Code,Grant Date (dd/mm),Reference Date (dd/mm)

  5. Configure 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.

    • 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.
    1. Select Cross Reference.
    2. From the Cross Reference dropdown list, select a JoursdeFractionnement table.
    3. Select Override, which allows you to:
      • Download the tables when you run the integration.
      • Edit the table cells in Extensions.
    4. When you finish, click tap OK.
    5. Repeat the steps for each of the JoursdeFractionnement tables.
      • JoursdeFractionnement_iPack_v2_AccrualDetails_CRT: Defines the rules that the extension follows to determine the number of extra vacation days to grant to qualifying employees.

        Jours de Fractionnement - Accrual Details CRT structure

        Jours De Fractionnement - Accrual Details CRT strucuture

        Column name

        Description

        Version Number

        Sequential value, beginning with 1, that allows configuration of multiple rules for each Accrual Profile.

        Accrual Profile

        Accrual profile for which the rule applies. References the employee's accrual profile in effect on the reference date.

        Accrual Code

        Accrual code that is validated at the end of the legal period.

        Legal Period Start (dd/mm)

        Effective start date of the legal period for which the system checks for contiguous leave. Format dd/MM.

        Legal Period End (dd/mm)

        Effective end date of the legal period for which the system checks for contiguous leave. Format dd/MM.

        Paid Leave Paycode

        Combined paycode that holds all day-based leave paycodes.

        Interrupting Paycode (days)

        Combined paycode that holds all day-based paycodes, such as Training Days, which can interrupt contiguous days.

        Interrupting Paycode (hours)

        Combined paycode that holds all hour-based paycodes, such as Regular, which can interrupt contiguous days.

        Contiguous Days

        The minimum number of contiguous leave days in the legal period to qualify for extra days.

        Minimum Acquired at start of legal period (days)

        (Optional) The minimum number of leave days in the accrual balance to trigger the validation.

        Remaining Balance at end of legal period (days)

        Minimum number of leave days remaining in the accrual balance to qualify for extra days.

        Extra Grant (days)

        Number of extra days that are added to the accrual balance when the employee qualifies.

        Extra Grant Accrual Code

        Name of the accrual code to which the additional days are added. The value is not required to match the name of the validated accrual code.

        Grant Date

        Date on which the extra days are added to the accrual balance. This value must fall after the Legal Period End (dd/mm). Format = dd/mm.

        Reference Date

        Date on which the accrual balance is validated. Default = last day of the legal period. Format = dd/mm.

        Note:
        • Values entered in the CRT are case-sensitive and must match the configured values in UKG Pro Workforce Management( UKG Pro WFM).

        • Values must be entered in each column of every row.

        • Columns must not be altered.

      • JoursdeFractionnement_iPack_v2_Locale_CRT: Allows translation of labels and messages into different languages.

        Jours de Fractionnement - Locale CRT structure

        Jours De Fractionnement - Locale CRT structure

        Column name

        Description

        Parameter Name

        Key for which localization is defined.

        Locale Policy

        Locale policy.

        Value

        The label that shows in the Run Summary section or localized exceptions name.

        Description

        The value shown in Additional Details.

        Note:
        • 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").

        Sample Locale CRT content

        Sample Locale CRT content

        Parameter Name

        Locale Policy

        Value

        Description

        Error_AccrualProfileIsNotPresent

        *

        Accrual Profile is not present on Effective Date.

        Error_CRTColumnEmpty

        *

        CRT column is empty. Profile and Version Number -

        Error_EmptyComments

        *

        Comments cannot be empty.

        Error_InactiveOrTerminatedEmp

        *

        Employee Inactive or Terminated

        Error_InvalidComment

        *

        Comment category is invalid or null.

        Error_InvalidCommentCategory

        *

        Comment '<Comment>' should be configured with 'Pay Codes' category.

        Error_InvalidContiguousFlag

        *

        Invalid or empty Contiguous Flag. Acceptable values are either "True" or "False".

        Error_InvalidEnableEdit

        *

        Invalid or empty Enable Edits. Acceptable values are either "True" or "False".

        Error_InvalidGrantDate

        *

        Grant date should be greater than Legal period end date. Profile and Version Number -

        Error_InvalidInterruptingPaycode

        *

        Both Interrupting Paycode in CRT is empty. Accrual Profile and Rule number -

        Error_InvalidUnitOrType

        *

        Invalid type or unit for the Paycode.

        Error_PaycodeEditError

        *

        Cannot edit paycode for the employee.

        Error_AccrualCodeIsNotPresent

        *

        Accrual code in CRT is not part of Accrual profile in UKG Pro WFM. Accrual Profile : Accrual Code : Version number -

        Accrual code is not part of Accrual profile CRT.

        Error_NotEligible

        *

        Employee is not eligible for Fractionnement.

        Employee did not meet eligibility to get additional grant.

        Error_EmployeeNotFound

        *

        Employees not found

        Employee not found or defined in UKG Pro WFM.

        Error_InvalidHyperfindOrEmployee

        *

        Hyperfind or Employee Id not found or invalid.

        Hyperfind or Employee not found or is invalid.

        Error_EmptyInformationalPaycode

        *

        Informational Paycode empty.

        Informational Paycode cannot be empty.

        Error_NoPayCodesFound

        *

        Pay code is not found in UKG Pro WFM

        Pay code is not found in UKG Pro WFM.

        Error_IncorrectDateFormat

        *

        Incorrect Date Format provided in CRT. Accrual Profile and Version number -

        Selected Date format does not match CRT Date format.

        Label_IntegrationNotes

        *

        Accrual Balance Added

        Label_AdditionalDetails

        *

        Process completed with transaction errors. Additional details, such as disqualifications, may be accessible using the button below.

        Label_TransactionEnabled

        *

        Integration completed without transaction errors. Additional details, such as disqualifications, may be accessible using the button below.

        Label_MessageWithoutErrors

        *

        Integration completed without errors.

        Label_MessageWithoutTransactionErrors

        *

        Integration completed without transaction errors. Additional details, such as disqualifications, may be accessible using the button below.

        Label_ProcessedSourceTransaction

        *

        Processed Source Transaction

        Label_DisqualifiedTransaction

        *

        Disqualified Transaction

        Label_FailedTransaction

        *

        Failed Transaction

        Label_SuccessTransaction

        *

        Success Transaction

        Label_IntegrationType

        *

        Integration Type

        Label_IntegrationValue

        *

        Import

        Label_IntegrationExecutionID

        *

        Integration Execution ID

        Custom tag available for use in errors and labels: < Comment>.

Install the Jours de Fractionnement 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.

Note:
  • 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.
  1. Select Main Menu Administration > Application Setup > Integrations Setup > Install Integrations.
  2. Click Tap Create .
  3. In Integration Name, enter a unique name, such as JoursdeFractionnement_iPack_v2.
  4. (Optional) Enter a Description.
    Note: Do not select API Integration.
  5. In File Access, select None to not select a connection.
  6. (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.
  7. (Optional) Select Re-Run to allow repeated runs of the integration with the same parameter values as the previous run.

  8. Email Notifications

    (Optional)

    1. Select Yes to send email and control center notifications for integration runs.
    2. 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.

  9. 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.
  10. Integration template and parameters
    1. In Integration Template, select JoursdeFractionnement_iPack_v2.
    2. Click Tap Assign .
    3. In Integration Parameters, you can override default settings. Click Tap Create.
    4. Complete the configuration for each parameter value.
    5. Click Tap Save.

      Repeat this step for each integration parameter that supports the Jours de Fractionnement process.

      Integration parameters

      Integration parameters

      Parameter Name

      Description / User Prompt / Mandatory

      Template Parameter

      Parameter Type

      Hyperfind And Location

      Hyperfind or Location query for which the integration will run.

      Default = All Home

      User prompt = Yes

      Mandatory = Yes

      HyperfindAndLocation

      Hyperfind

      Employee IDs

      Comma-separated list of employee IDs for which the integration will run.

      When no value is entered, the integration defaults to the Hyperfind Or Locations parameter.

      To process the integration for only a limited group of employees, enter the person numbers as defined in the source system, each separated by a comma (,) but not spaces.

      User prompt = Yes

      Mandatory = Yes

      EmployeeIDs

      Text

      Comment

      Contains the comment that is added to identify the Jours de Fractionnement reference.

      Default = Adjusted by integration

      User prompt = No

      Mandatory = Yes

      Comment

      Text

      Contiguous Paid Leave flag

      Checks for continuous leave days during the legal paid leave period.

      • True— (default) Requires employees take contiguous paid leave during the legal period.

      • False— Does not require employees to take contiguous leave during the legal period.

      User prompt = No

      Mandatory = Yes

      ContiguousPaidLeavesFlag

      Boolean

      Informational Paycode

      Paycode that identifies Jours de Fractionnement days in the employee's timecard.

      Default = Jours de Fractionnement

      User prompt = No

      Mandatory = Yes

      InformationalPaycode

      Text

      Enable Edits

      Enables editing when an employee's timecard is signed-off.

      Default = True

      User prompt = No

      Mandatory = Yes

      EnableEdits

      Boolean

  11. Ensure that the generic data access profiles (GDAP) allow access by the people who need to run the installed integrations.

    See Configure Access to Integrations .

Run and test the Jours de Fractionnement integration

Run integrations to test that the configuration is set up correctly.

  1. Run the integration
    1. Select the integration:
      1. Select Main Menu Maintenance > Integrations.
      2. Click Tap Run an Integration .
      3. Select the JoursdeFractionnement_iPack_v2 integration from the list. Click Tap Select.
      4. (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.
    2. Set parameters as follows:
      • Hyperfind And Location: Select a Hyperfind or location 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.

        For 3 employees: 13997,15556,20012

    3. 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.
    4. Wait for the confirmation that the integration completed or failed. Close the panel.
    5. Click Tap Refresh .
    6. To see details, select the integration run. Select Run Summary.
  2. 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:

    1. Click Tap the tile for the integration run.
    2. Click Tap Run Summary to see 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.
    3. Log in to the destination system and ensure that the data has been correctly updated.
    Note: You can schedule integrations and integration sets to run once later or at a recurring frequency. See the Schedule Integrations topic.

APIs

API Details

Jours De Fractionnement - API Details

API title

URI

Method

Description

Retrieve User Preferences for Current User

/v1/commons/user_preferences/locale_policy

GET

Retrieve the user's preferences for the tenant.

Retrieve All Accrual Profiles

v2/timekeeping/setup/accrual_profiles

GET

Returns a list of accrual profiles according to the user's access rights.

  • When executed without parameters, the system returns a list of all available accrual profiles.

  • When executed with an ID or qualifier, the system returns a list containing the specified accrual profile.

Retrieve Employment Terms

/v1/timekeeping/setup/employment_terms/multi_read

POST

Returns one or more employment terms by object reference.

Retrieve Paycodes

/v1/timekeeping/setup/pay_codes/multi_read

POST

Returns paycodes available to the logged-in manager by object references.

Retrieve Comment as Manager

v1/commons/comments

GET

Returns a filtered list of comments.

Execute Hyperfind Query

/v1/commons/hyperfind/execute

POST

Executes a Hyperfind query by ID or qualifier, and then returns the result.

Retrieve Timecard as Manager

/v1/timekeeping/timecard/multi_read

POST

Returns timecard data for a set of employees or locations.

Retrieve Persons

v1/commons/persons/extensions/multi_read

POST

Returns multiple person records based on search criteria. Search criteria include personid, personnumber, jobassignmentid, username, useraccountid, and badgenumber.

Retrieve Timecard Data for Multiple Employees

/v1/timekeeping/timecard_metrics/multi_read

POST

Returns timecard data for a set of employees or locations.

Bulk Delete Paycode Edits

/v1/timekeeping/pay_code_edits/multi_delete

POST

Performs a bulk delete of paycode edits for multiple employees using a list of paycode edit IDs.

Update Timecard as Manager

/v1/timekeeping/timecard

POST

Updates a timecard for an employee as a manager.

Retrieve All Integration Executions

/v1/platform/integration_executions

POST

Returns a list of all integration runs including completed, in-progress, scheduled, and failed integration runs.

Update Integration Execution Details

/v1/platform/integrations/update_status

POST

Updates and returns the callback instance against the provided integration execution details.

Apply Updates to Accrual Balance for Multiple Employees

/v1/timekeeping/accruals/updates

POST

Updates accrual balances in bulk.

Enable Edits Bulk Update

/v1/timekeeping/enable_edits/import

POST

Returns a list of employees with enabled edits. Supports partial success.

Version history

Version history

Version

Description

1

Initial release. This integration extension validates the Fractionnement conditions and adjusts the accrual balance on the grant date, when required.

1.1

In the Jours de Fractionnement integration, the column order of process properties JourDeFractionnement_v1_CRTConfig was incorrect.

1.2

To prevent time-out errors during bulk data handling by the Jours de Fractionnement integration, the employment terms GET API was replaced with the POST API.

1.3

The Jours de Fractionnement integration failed when a comma existed in the accrual profile name assigned to the employee.

iPack_v2

The Jours de Fractionnement integration delivery is now by way of an iPack.