How advance days are earned
The number of advance days an employee can request is not fixed — it grows over the course of the active period. The system accrues 2.5 days per completed calendar month elapsed sincefechaInicioAnio.
calcularDiasAdelantoDisponiblesEnPeriodo in vacationUtils.ts. The sidebar in the Vacation Scheduling module shows the current accrued balance, how many advance days have already been used, and how many remain.
An employee 4 months into a period has accrued 10 advance days (4 × 2.5). An employee 12 months in has the maximum of 30.
How to request an advance
The Adelanto de Vacaciones card appears in the right-hand sidebar of the scheduling module whenever an employee is selected. It is rendered by theAdelantoVacaciones component.
1
Open the scheduling module
Navigate to Vacation Scheduling and select the employee from the dropdown.
2
Review the advance balance
The Adelanto de Vacaciones card shows three numbers: days available (accrued this period), days already used, and days remaining to borrow.
3
Enter the number of days
Type the number of days you want to advance in the input field. The maximum is the employee’s remaining advance balance for the current month.
4
Click Solicitar Adelanto
The system adds the requested days directly to the employee’s block day balance. No separate vacation range is created at this step — the days simply become available in the block pool to be scheduled normally.
What changes on the schedule
When an advance is requested, three fields on theCronogramaVacaciones record are updated immediately:
The HR administrator can then schedule the advance days as normal block ranges in the Vacation Scheduling module. Ranges created after an advance may carry
esAdelanto: true to distinguish them from standard ranges.
Removing an advance range
If you delete a range that was created using advance days (esAdelanto: true), the system reverses the advance:
diasAdelantodecreases by the number of days in that range (minimum 0).diasTotalesdecreases back toward 30. IfdiasAdelantoreaches 0,diasTotalesis reset to exactly 30.- The block day balance adjusts accordingly.
handleEliminarRango in RegistroVacaciones.tsx.
Use case
An employee’s"2025-2026" period runs from 1 June 2025 to 31 May 2026. By November 2025 they have used all 30 days. They need 5 additional days off in December.
By November, the employee has been in the period for 5 months, accruing 12.5 advance days (5 × 2.5). They request a 5-day advance. The system:
- Sets
diasAdelantoto 5. - Sets
diasTotalesto 35. - Increases
diasBloqueDisponiblesby 5.
esAdelanto: true. When the "2026-2027" period opens, those 5 days will be reflected in the new period’s starting balance.