1. Employees
Payflow API
Spain
  • Spain
  • Colombia
  • Peru
  • Guides
    • API Integration guide
  • Definitions
    • Employees
      • Employee Statuses
      • Salary Concepts
      • Part-Time Employees
    • Payments
      • Payment Lifecycle
  • Explore our Public API
    • Auth & Health
      • Health
      • Test an API Key
    • Company
      • Retrieve your Company Details
    • Employee
      • Retrieve an Employee
      • Retrieve all Employees
      • Retrieve all Employees (V1.1)
      • Create an Employee
      • Upsert Employees in Bulk
      • Update an Employee by Personal ID
      • Update an Employee by Payflow ID
      • Update an Employee by Payroll ID
    • Leaves
      • Retrieve all Employees on Leave
      • Create an Employee Leave
      • Remove an Employee Leave
    • Payments
      • Retrieve a Payment
      • Retrieve all Payments
      • Retrieve Employee Payments
      • Calculate Employee Available Amount
      • Request a Payment
      • Subscribe to Payment Updates
      • Mark Payments as Informed
    • Flexflow
      • Retrieve all Flexflow Transactions
      • Retrieve Employee Flexflow Transactions
    • Flexflow 2.0
      • Retrieve Flexflow Benefits by Cycle
  • Notifications Structure
    • Payment Updates
  • Raíz
  • Schemas
    • Company
      • Company Response
    • Employee
      • ES | Create Employee Request
      • ES | Update Employee Request
      • ES | Employee Response
      • Create Employee Leave Request
    • Payment
      • Payment Response
      • Payment Response Convoluted
      • Payment Update
    • Flexflow
      • Employee Flexflow Transactions
    • Error
      • Generic Error Response
    • FlexflowBenefitsResponse
    • EmployeeFlexflowBenefits
    • BenefitLine
    • BenefitTotals
    • PaginationMeta
  1. Employees

Part-Time Employees

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.
INFO
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 hoursworkingTimePercentageType
401Full-time
300.75Part-time
200.5Part-time
160.4Part-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.
grossSalaryworkingTimePercentageAdjusted minimumEligible
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
TIP
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.
FieldTypeAccepted valuesDescription
workingTimePercentagenumber0 to 1Proportion of a full-time week. Example: 0.5 for a half-time employee
weeklyHoursnumberGreater than 0, up to 40Contracted hours per week. Payflow converts it to workingTimePercentage = weeklyHours / 40
Rules:
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.
Using weekly hours:
{
  "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:
CaseworkingTimePercentageweeklyHours
Part-time employee0.520
Full-time informed140
Not informednullnull
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
}
Modified at 2026-10-09 21:22:07
Previous
Salary Concepts
Next
Payment Lifecycle
Built with