Documentació MyChronos
FeaturesTime Log

Hour Compensation

Balance scheduled hours against actual clockings and compensate any overtime by adding days or hours to an employee's absence balance.

/panel/hour-compensation lets you compare each employee's scheduled hours against their actual clockings for a given period, and compensate any overtime by crediting days or hours to an absence type of your choice. To access it, go to the Time Log page and click Hour Compensation in the top menu.

ℹ️

Behavior depends on a global setting

How hours an employee has worked short (a negative balance) are handled depends on the Debt handling mode configured in Global Settings. This setting determines whether a carried-in and carried-out balance accumulate between settlements, and whether the "Apply yearly debt" actions described below are available.

The compensation list

The list shows all previously created compensations with the date range, the employees included (the first two by name and the rest summarised, e.g. Anna, John and 5 more), whether the compensation has been applied or is still a draft, and the creation date.

Creating a compensation

Click Create Hour Compensation at the top right.

Choose the source of worked hours

Select where MyChronos should read the worked hours from:

  • Time records — Uses the direct sum of all clockings in the selected period for each employee.
  • Payrolls — Uses the hours calculated in the payroll for that period. Only available if the Payrolls module is active. When selected, you will be asked which hour types from the payroll to include in the filter. With this source, the worked time shown in the table is the sum of all hour types in the payroll, while the compensable time (the excess over the expected hours) is calculated using only the hour types you selected in the filter.

Select employees

All employees are selected by default. Narrow down to specific people if needed.

Set the date range

Choose the period to compensate. Once a compensation has been confirmed for a given date range and set of employees, you cannot create another compensation for the same dates and employees — MyChronos shows a warning if it detects this overlap.

Choose the absence type to compensate with

Select the absence type to which the overtime hours will be credited — for example, vacation days or another custom absence type.

Set the year

Choose which year the compensated days or hours should be added to. This defaults to the current year.

Preview the compensation

Click Preview compensations. MyChronos calculates the hour balance for each employee in the background — while it's processing, you'll see an indicator showing how many employees have been calculated out of the total. Once it's done, a table appears with one row per employee and the following columns:

  • Expected time — Total hours scheduled for the period according to their work schedule.
  • Worked time — Total hours actually worked according to the selected source (records or payrolls).
  • Compensable time — The difference between worked and expected time. It's negative if the employee worked less than scheduled.
  • Carried-in balance — The balance, positive or negative, the employee carried over from the last completed settlement. This only accumulates when the debt handling mode is Carry over between periods; in Deferred to end of year mode it's always 0.
  • Carried-out balance — The balance left unresolved after this settlement (carried-in balance plus compensable time, minus the time already compensated). Like the carried-in balance, this only accumulates in Carry over between periods mode.
  • Compensated time — The time that will actually be credited. This differs from compensable time for two reasons:
    • If the selected absence type is counted in days, MyChronos rounds to the nearest day (e.g., 8h 32m → 1 day).
    • If the absence type is counted in hours, MyChronos rounds to the nearest hour to avoid leftover minutes.
  • Valid until — Until when the compensated hours can be enjoyed. Before confirming it shows the expiration from the employee's policy (for example, "6 months after confirmation"); once confirmed, the actual date. Shows Never expires if the policy has none.

Columns with a negative value (compensable time, carried-in balance, carried-out balance, or compensated time) are shown in red so you can spot employees with hours debt at a glance. Use the With compensated time filter to show only employees with, or without, compensated time.

You can always edit the suggested compensated time for any employee and enter a custom value — when saved, MyChronos automatically recalculates their carried-out balance.

Confirm the compensation

Once you have reviewed all rows, click the green Confirm compensations button in the table. This adds the compensated days or hours to each employee's available absence balance for the selected year. If the employee's absence policy has an expiration set, confirming fixes the date until which they can be enjoyed (Valid until column).

⚠️

A confirmed compensation can't be edited

Once confirmed, the whole compensation is locked: you can no longer change its general details (source, employees, dates, absence type, or year) or any employee's compensated time. The confirmation button switches to Compensated and becomes disabled.

Compensated hours expiration

By default, compensated hours are added to the year's balance and never expire. If they must be enjoyed within a period (for example, 6 months or 15 days), set Compensated hours expiration in the employee's Absence Policy, for the absence type you compensate with.

  • Each employee with their own policy — A single compensation can include employees with different policies: each one gets the expiration of their own policy.
  • Starts counting on confirmation — The period counts from the day you click Confirm compensations, that is, when the hours enter the absence balance. It does not count from the day the overtime was worked, nor from the compensated period. For example, if you compensate January's overtime and confirm the compensation on 5 February, with a 6-month expiration the hours can be enjoyed until 5 August. The resulting date is shown in the Valid until column and is the last day they can be enjoyed.
  • Same when the compensation comes from a payroll — When the hours source is Payrolls, the payroll is only used to calculate the hours: the period also counts from the confirmation of the compensation, not from the payroll date.
  • Never beyond the usage limit — Compensated hours are part of the year's balance, so they can't be used after the policy's Usage limit either, even if the expiration is later.
  • Only what wasn't enjoyed is lost — When the date passes, only the part the employee hasn't used yet expires.

What if the employee has already used part of them?

If the employee has hours accumulated from different periods, MyChronos always deducts each absence from the hours that expire first, which are the oldest ones, so the employee loses as little as possible. Absences are processed in the order of the date they are enjoyed, not the date they were requested. For example, Marta has two confirmed compensations for the same absence type and takes an 8h absence on 10/07:

CompensationHoursValid untilEnjoyedExpired
January16h31/078h8h (on 1/08)
May8h30/110h—

The 8h on 10/07 are deducted from the January compensation, the oldest one and the one that expires first. On 1/08 only the 8 January hours she didn't enjoy expire; the 8 May hours stay available until 30/11.

Requests and balance

  • An absence on a date when the compensated hours will already have expired is rejected with the message "Not enough valid balance for the requested dates: part of the compensated hours expire before.", even if the year's total balance is enough.
  • When creating an absence from the panel, the balance summary shows how much expires and when (for example, "8 hours expire on 31/07/2026").
  • In the annual absence summary, lost hours are shown as Expired.

Changing the expiration

On a confirmed compensation, each employee's Change expiration action lets you extend or shorten the Valid until date, or clear it so it never expires. It is the only value that can be changed after confirming.

ℹ️

Earlier compensations don't change

The policy's expiration is copied to each employee when the compensation is previewed. Compensations calculated before it was set never expire, unless you set a date with Change expiration.

Example: chaining multiple compensations

The balance columns make sense once you compensate the same employees several times in a row — for example, one compensation per month. Let's see how they evolve for an employee, Marta, whose schedule expects 160 hours a month, across three consecutive monthly compensations using the same absence type (measured in hours):

  • January — 160h expected, 168h worked → 8h over.
  • February — 160h expected, 155h worked → 5h short.
  • March — 160h expected, 170h worked → 10h over.

With "Carry over between periods" mode

CompensationCompensable timeCarried-in balanceCompensated timeCarried-out balance
January+8h0h+8h0h
February−5h0h0h−5h
March+10h−5h+5h0h
  • January — Marta worked 8h over. Since this is the first compensation there's no carried-in balance, so the full 8h are compensated and no balance is carried out.
  • February — Marta worked 5h short. MyChronos doesn't deduct hours from her absence bag: it simply compensates nothing this month (0h) and carries those −5h out as a balance toward the next compensation.
  • March — Marta worked 10h over, but carried in a −5h balance. That −5h is deducted first: only 5h are compensated, and the carried-out balance returns to 0.
ℹ️

The balance adjusts itself automatically each time

In this mode you never need to intervene manually: each new compensation picks up the previous one's carried-out balance as its carried-in balance and nets it against the new period's compensable time.

With "Deferred to end of year" mode

Using the same data for Marta:

CompensationCompensable timeCarried-in balanceCompensated timeCarried-out balance
January+8h0h+8h0h
February−5h0h0h0h
March+10h0h+10h0h

In this mode, the carried-in and carried-out balances are always 0: each compensation is calculated independently, without carrying anything over from the previous one. January and March compensate their full overtime (8h and 10h) without deducting February's debt. That debt (−5h) doesn't disappear — it stays recorded as negative compensable time on that row, waiting to be settled.

At year end, an administrator runs Apply yearly debt: MyChronos adds up all the negative compensable time for the year for that absence type (February's −5h) and subtracts it from the absence bag Marta was granted for that type that she hasn't used yet. If none of the 18h granted (8h in January + 10h in March) has been used, 5h are subtracted and 13h remain available. If, say, 16h of those 18h had already been used, only 2h would remain in the bag — the debt could only be settled partially (2h applied, 3h of debt remaining).

⚠️

Deferred debt doesn't resolve itself

Unlike "Carry over between periods" mode, here you need to run Apply yearly debt (or its all-employees version) for the accumulated debt to actually be deducted from the absence bag.

Applying the yearly debt

These actions are only available when the debt handling mode is Deferred to end of year. In this mode, hours worked short aren't automatically deducted at each settlement — they accumulate separately throughout the year, as in the example above. To settle that debt against the employee's unused absence bag:

  • Apply yearly debt — On an employee's row, subtracts their accumulated yearly debt from the part of the absence bag of the selected type they haven't used yet.
  • Apply yearly debt (all employees) — Applies the same operation to every employee in the compensation at once, from the top of the table.

Both actions show a notification indicating how much debt could be applied and how much remains if the available absence bag wasn't enough to cover it in full.

ℹ️

Compensable vs compensated time

Compensable time is the raw overtime difference. Compensated time is what will actually be credited after rounding to the unit of the selected absence type (days or hours). You can always override the suggested value before confirming.

Compensated hours report

To review all hours compensated in a period, go to /admin/reports and, in the Timesheets group, open Compensated hours summary. Filter by employees and date range, and tick Show totals only if you only want the subtotals. The report can be viewed on screen or downloaded as Excel.

It includes confirmed compensations with positive compensated time and filters them by the date they were confirmed. Older compensations without that date use the end of their period. For each compensation it shows:

  • Employee, Date (when the hours were granted) and the compensated Period.
  • Origin — Time records, Payrolls or Hour request.
  • Hour type — The hour request's type, the hour types included in a Payrolls compensation, or No hour type.
  • Absence type whose bag the hours were added to.
  • Compensated — The value in the policy unit (hours or days).
  • Equivalent hours — The compensated time in hours. If the unit is days, it is converted using the employee's average working day stored on the compensation.
  • Valid until — The expiration, if any.

Below each employee's rows there is a subtotal of equivalent hours per hour type, and at the end the per-hour-type subtotal for all employees and the overall Total.

Related pages

On this page