Skip to main content
Pending validationOdoo 20.0Community and Enterprise

How to record and pay overtime

What is it for?​

Overtime (extra hours) is recorded in fiscaldoo as the whole day the employee worked: start time, end time and break. fiscaldoo compares that day with the planned schedule, counts the extra hours, adds them to the employee's counter for the year and warns you when they approach the legal limit. Payment is made on the month's payslip, when payroll is processed.

When to use it?​

  • An employee stayed after hours on a working day.
  • An employee worked on a rest day (mandatory or complementary) or on a public holiday.
  • Before processing the month, in step 2 of the What is there to do this month? screen (“Register bonuses, allowances and overtime before processing”).

Do not use this record for a day in a month that is already validated: fiscaldoo refuses it (see Common problems). Nor is it for missing hours: for that there is the The worker was absent for some hours button, in the same window.

Where to find it?​

Payroll › Prepare › Work time › Overtime › Register overtime work.

The What is there to do this month? screen also has, in the Prepare the month block, the Register overtime work button.

Before you start​

  • Your profile is Payroll Processor or Payroll Administrator. Both can do every step.
  • The company has its size recorded: without it, the counter shows “Limit not known” and the annual limit does not apply. The Payroll Administrator records it in Payroll › Configure › Company › Company size › New: confirm the Company, write Valid from 01/01/2026, leave Size at Micro-company (fewer than 10 workers) and save. In the demonstration, once it was recorded, the 8 employees showed the limit straight away (175 hours, and 87.50 for Gabriela, who works part-time). See How to configure the company's payroll.
  • The employee has a schedule on the contract, so that fiscaldoo knows the planned hours for the day.

How to use it​

  1. Open Payroll › Prepare › Work time › Overtime and click Register overtime work. Register overtime work without a punch opens.
  2. In Worker, choose the employee.
  3. In Day worked, write the day, for example 03/11/2026. Check the planned hours in The day: “Working day: 8 hours planned”.
  4. Write Started at, Finished at and the Break that does not count (hours) for the whole day, not just the extra hours. In the example: 9, 20 and 1 (10 hours worked).
  5. In Kind of work, leave Worked on site or choose Teleworking or Public holiday worked as a normal day.
  6. Only if the day was a rest day: in Rest day worked, choose Mandatory weekly rest day or Complementary rest day. Only if it was a public holiday: in Employer's choice (holiday), choose Compensatory rest of half the hours or Increase of 50 % of the pay (the default comes from the payroll settings).
  7. Tick The worker signed the register if they signed the record of the hours.
  8. Write the Reason, for example Inventário de fim de mês. It is required: it is kept as proof in the working time register (without it, see “Common problems”).
  9. Click Register the work. “Presence registered. The presence of Bruno Miguel Teixeira on 03/11/2026 was registered and validated.” appears.
  10. Go back to Overtime and open the employee's line to check the counter for the year.

Expected result​

  • The day is recorded and validated as an attendance of the employee, with the hours from the window replacing that day's schedule.
  • In the Overtime list, the employee's line shows Overtime of the year (hours) 2.0000, Counted in the limit (hours) 2.0000, Annual limit (hours) 175.00 and State Within the limit. The Note says “2 of 175 hours (CT art. 228.º/1-a (Micro-company (fewer than 10 workers))).”.
  • The record does not generate journal entries. The hours are paid on the November payslip, when you process the month's payroll; the amount goes into staff costs when that payslip is posted.

What the November payslip shows​

After processing November 2026, Bruno Miguel Teixeira's payslip (€1,650.00) has an Overtime line of 2.00 hours, €24.99. How was it calculated? says that the first hour pays 25 % and the following hour 37.5 % (CT art. 268.º/1-a), on the employee's normal hourly rate.

  • Gross €1,804.14 (1,650.00 + 129.15 meal allowance + 24.99).
  • Social Security (worker) €184.25: 11 % of €1,674.99 (the pay plus the overtime; the meal allowance is left out).
  • IRS withheld €102.00. Net pay €1,517.89.

In the accounts, the journal entry for the November batch (SAL/2026/00006, 30/11/2026) has a debit of €12,553.62 on 632 Staff remuneration, which is the €12,528.63 of the October batch plus the €24.99 of overtime, with the matching credit on 231290 Remuneration in process; the company contribution (635 / 245) rises by €5.93 (23.75 % of €24.99), from €2,745.52 to €2,751.45. To post it, the batch needs a posting template for the Overtime pay item: without one, the validated batch shows “Accounting account of each pay item with an amount (Blocks the closing)”. In the demonstration it was created like the meal allowance one, with a debit on 632 and a credit on 231290 (see How to post the payroll to the accounts). Pending validation by a certified accountant: expense account for overtime (632 in the demonstration).

Important notes​

  • The annual limit depends on the company size. The counter uses the size in force: in a micro-company, 175 hours a year (CT art. 228.º/1-a, as the Note says). In a medium or large company, point b) of the same article applies. Force majeure hours are counted separately. Pending validation by a certified accountant: limits of art. 228.º of the Labour Code (Código do Trabalho) by size and for part-time work.
  • How much is paid. Payment is calculated in the month's processing, with premiums that change from the Threshold of the second tier (hours) (100 hours in the year, on the counter). Pending validation by a certified accountant: percentages of art. 268.º of the Labour Code before and after 100 hours, and IRS withholding on overtime.
  • The signed register matters. With Pay 2 hours when the overtime register is not signed (art. 231.º) switched on in the payroll settings, a day without The worker signed the register pays two hours of overtime. It comes switched off. Pending validation by a certified accountant: the basis for this penalty before switching it on.

Common problems​

“Say why the work was done”​

  • Symptom: “Say why the work was done. What happened: the register of working time keeps the reason as proof. How to fix it: fill in “Reason”.”
  • Cause: the Reason field is empty.
  • What to do: close the window, write the Reason and click Register the work again.

“An attendance cannot be created in a closed period”​

  • Symptom: “An attendance cannot be created in a closed period. What happened: a validated or paid payslip of Bruno Miguel Teixeira already covers 28/10/2026. How to fix it: correct the existing attendance with the “Fix” action (it creates a new attendance that points to the original). The attempt was registered in the audit trail.”
  • Cause: the payslip for that day's month is already validated or paid.
  • What to do: follow the message: that day's attendance is corrected with the Fix action, which creates a new attendance linked to the original. Pending on-screen validation: the correction was not made, because it would change the already-paid October month that the rest of the demonstration uses.

The counter says “Limit not known”​

  • Symptom: State Limit not known and the note “The size of the company is not registered (Payroll › Configure › Company › Company size), so the limit cannot be applied.”
  • Cause: the company has no size recorded for the year (see “Before you start”).
  • What to do: ask the Payroll Administrator to record the size. In the demonstration, the list showed the limit for every employee straight afterwards.
Versions: Odoo 20.0Community and Enterprisefiscaldoo 20.0 (master 7281543f)ID DOC-0189
Was this page helpful?