Flexflow (Flexible Compensation) supports part-time employees. Their eligibility is calculated proportionally to the time they work, so an employee with a reduced working week can be eligible even if their gross salary is below the full-time minimum.This applies only to companies with Flexible Compensation enabled.
Who is a part-time employee#
An employee is part-time when they are contracted to work less than a full working week. Payflow uses a 40-hour week as the full-time reference.Working time is stored in a single field, workingTimePercentage, a value between 0 and 1:| Weekly hours | workingTimePercentage | Type |
|---|
| 40 | 1 | Full-time |
| 30 | 0.75 | Part-time |
| 20 | 0.5 | Part-time |
| 16 | 0.4 | Part-time |
An employee with no working time informed (null) is considered full-time (100%).How eligibility is calculated#
To be eligible for Flexflow, an employee's grossSalary must reach the minimum monthly gross salary of 1,425.01 €. For part-time employees, this minimum is adjusted proportionally:Adjusted minimum = 1,425.01 € × workingTimePercentage
The employee is eligible when grossSalary is equal to or higher than the adjusted minimum.grossSalary | workingTimePercentage | Adjusted minimum | Eligible |
|---|
| 900 € | 0.4 (16 h/week) | 570.00 € | Yes |
| 900 € | null (full-time) | 1,425.01 € | No |
| 800 € | 0.6 (24 h/week) | 855.01 € | No |
Send grossSalary as the salary the employee actually earns. Do not convert it to a full-time equivalent: Payflow only adjusts the eligibility threshold. The monthly spending limits per category are not affected.
How to send working time#
The employee create and update endpoints accept two optional fields. Send only one of them.| Field | Type | Accepted values | Description |
|---|
workingTimePercentage | number | 0 to 1 | Proportion of a full-time week. Example: 0.5 for a half-time employee |
weeklyHours | number | Greater than 0, up to 40 | Contracted hours per week. Payflow converts it to workingTimePercentage = weeklyHours / 40 |
weeklyHours is only an input. Payflow converts it and stores only workingTimePercentage.
If null is sent, the employee is considered full-time (100%).
If neither field is sent when creating an employee, the employee is considered full-time. When updating, the current value is kept.
{
"personalId": "12345678A",
"grossSalary": 900,
"weeklyHours": 16
}
Using the percentage directly:{
"personalId": "12345678A",
"grossSalary": 900,
"workingTimePercentage": 0.4
}
Both requests store the same value: workingTimePercentage = 0.4.How it is returned#
The employee retrieve endpoints always return working time in both formats, workingTimePercentage and weeklyHours, regardless of how it was sent:| Case | workingTimePercentage | weeklyHours |
|---|
| Part-time employee | 0.5 | 20 |
| Full-time informed | 1 | 40 |
| Not informed | null | null |
A null value means the employee is considered full-time (100%).{
"personalId": "30000102B",
"firstName": "Diego",
"lastName": "Martín",
"grossSalary": 1500,
"status": "active",
"workingTimePercentage": 0.5,
"weeklyHours": 20
}