Skip to main content
Pending validationOdoo 20.0Community and Enterprise

How to pay the holiday and Christmas allowances

What is it for?​

The Christmas allowance and the holiday allowance are paid in a batch of their own, separate from the regular batch of the month. fiscaldoo calculates each employee's amount from their pay and their time of service in the year, deducts what was already paid in twelfths and withholds the IRS on the allowance separately, without adding it to the month's salary.

When to use it?​

  • To pay the Christmas allowance, by 15 December.
  • To pay the holiday allowance of employees with holidays approved in the batch period.

The allowances of someone leaving the company are settled in a batch of type Final settlement, not with this article.

Where to find it?​

Payroll › Process › Process the month › New › Type

Before you start​

  • Payroll Processor profile: creates the batch, creates the payslips, calculates and validates. It can also take a calculated batch back to draft (Reset to draft), as long as no payslip is validated.
  • For the holiday allowance, the employee's holidays are approved in Absences and start within the batch period.
  • Employees whose contract ended before the period are not included. In the example, Hugo Miguel Santos, with a contract until 30/11/2026, is not included in the December Christmas batch.
  • In the Christmas batch, anyone leaving within the period is also left out, because the final payslip already pays the proportional Christmas allowance. The batch warning says who was left out and why (see “Common problems”).

How to use it​

  1. Open Payroll › Process › Process the month and click New.
  2. In Type, choose Christmas or Holidays. The options are Regular, Holidays, Christmas, Final settlement, Corrective and Simulation. The Name fills in by itself, for example “Christmas of December 2026”.
  3. In Period start and Period end, choose the dates. The last working day of the period is the due date of the payslips; for the Christmas allowance it must be no later than 15 December (see “Important notes”).
  4. Save and click Create the payslips of the month. The Christmas batch includes every employee with a contract in the period (7 in the example); the Holidays batch includes only those with approved holidays starting in the period.
  5. Click Calculate. The batch becomes Previewed and the list shows the Net pay of each payslip and the total.
  6. Open an employee's payslip and, on the Christmas allowance line (or Holiday allowance), click How was it calculated?. Check the base, the proportion and what was already paid in twelfths.
  7. Click Validate (it takes a few seconds). The batch and the payslips become Validated and the total stays the same: €8,232.88 in the example. The batch pays only the allowance: the company car for personal use and the instalment of an ongoing advance stay on the regular payslip of the month, created separately in the December Regular batch. The two December batches coexist: neither shows the duplicate payslip warning. Then post and pay as for the batch of the month: see How to process the month's payroll and How to pay the salaries.

What fiscaldoo calculates by itself​

  • Christmas allowance amount: base × proportion − twelfths already paid. The base is the pay of the month of payment (Labour Code (Código do Trabalho, CT), art. 263.º); the proportion counts the days in service in the year (method “D — days in service / days in the year”), so an employee hired mid-year receives only the part for their time of service.
  • Social Security: the allowance is part of the Social Security base, with the same rates as the month (11 % for the employee and 23.75 % for the company under the general scheme).
  • IRS: the IRS on the allowance is calculated separately and never added to the month's salary. The payslip's Social security and income tax tab says “Withheld on their own, never added to the month (CIRS art. 99.º-C/5)”. The table is the one in the employee's IRS profile (see How IRS withholding on salaries is calculated).
Pending validation by a certified accountant: base of the Christmas allowance (pay of the month of payment), proportion by days in service / days in the year in the year of hiring, termination or suspension (CT art. 263.º/2), rounding to the cent and separate IRS withholding on allowances (Personal Income Tax Code (CIRS), art. 99.º-C).

Example. Ana Margarida Pinto earns €2,400.00 and was in service for the whole of 2026. On the payslip of the batch “Christmas of December 2026”:

  • Christmas allowance: €2,400.00 (base 2,400.00 × proportion 1.0000, 365 days of service out of 365, minus 0.00 already paid in twelfths);
  • Social Security (worker): 11 % of €2,400.00 = €264.00; Company contribution to Social Security: €570.00;
  • Total IRS withheld: €171.00, withheld separately;
  • Net pay: €1,965.00; Total cost to the company: €2,970.00.

Gabriela Sousa Reis, hired on 01/03/2026 at €800.00, receives €670.68 of Christmas allowance (800.00 × 306 ÷ 365) and net pay of €596.91, after €73.77 of Social Security and with no IRS withheld.

Creating and calculating the batch does not generate journal entries. The allowance reaches the accounts with the batch's payslips, like the month's salaries.

Expected result​

  • The batch is Previewed, with one payslip per employee and the total in the list; after Validate, the batch and the payslips are Validated, with the same total.
  • Each payslip has only the allowance line, the Social Security deductions, the IRS withheld separately and, if there is an active garnishment, the garnishment.
  • With the batch running until 31/12/2026, the payslip shows the Payment warning about the 15 December deadline (see “Important notes”); with the batch ending by 15/12/2026 it would not.

Important notes​

  • Christmas allowance deadline. The payslip falls due on the last working day of the batch period. With the December batch until 31/12/2026, the payslip warns: “Payment: The Christmas allowance of this payslip is due on 31/12/2026, after 15 December (15/12/2026): CT art. 263.º/1 asks for the payment until that day (very serious offence).”. Choose the Period end before clicking Create the payslips of the month: changing the date afterwards does not change the payslips already created (in the example, the batch was changed to end on 15/12/2026 and the payslips stayed until 31/12/2026). A batch created from the start with the period until 15/12/2026 gives the same 7 payslips and the same total.
  • Holiday allowance. The Holidays batch creates payslips only for approved holidays that start in the period and whose allowance has not yet been paid on another payslip. Pending on-screen validation: amount of the holiday allowance. In the demonstration, Gabriela Sousa Reis's holidays from 09/12/2026 to 22/12/2026 did not generate a payslip, because she already has the December Christmas payslip (see “Common problems”).
  • Twelfths. Paying an allowance in twelfths requires a written agreement with the employee; fiscaldoo deducts from the allowance what the twelfths have already paid. Pending on-screen validation: recording the twelfths agreement (the Written payment agreements menu does not appear in the menu bar in this version).
  • Garnishments. A garnishment in the Active state is deducted in the Christmas batch: in the example, with an active garnishment of €2,000.00, the Christmas payslip withholds €327.50 and the net pay goes from €1,247.50 to €920.00. A garnishment that is only Validated is not yet deducted: the net pay stays at €1,247.50. Pending validation by a certified accountant: whether the Christmas allowance should be subject to the garnishment (Civil Procedure Code (CPC), art. 738.º).
  • Allowance method. The example uses the legal default method. The company's own methods are recorded in Payroll › Configure › Pay item setup › Christmas allowance methods and Holiday allowance methods, which in this version appear neither in the menu bar nor in the menu search. Pending on-screen validation: recording a company-specific method.

Common problems​

“Create the payslips of the month” says “Nothing to create”​

  • Message: “Nothing to create. All 7 workers with a contract in the period of this batch (01/12/2026 to 31/12/2026) already have a payslip. If the period is not the month you want, correct the dates of the batch.”
  • Cause: the employees already have a payslip in that period, in another batch of the same type (in the example, a second December Christmas batch).
  • What to do: check the approved holidays and the batch dates. Do not delete payslips from another batch to make room: talk to the Payroll Administrator.

An employee does not appear in the Christmas batch​

  • Message: the “Payslips created” message and the Workers left out of the batch warning say who was left out and why, for example: “Left out because their contract ended before this period: …” and “Left out because the final payslip already pays their Christmas allowance: …”.
  • Cause: the first sentence covers those who had already left before the period, through a confirmed termination. The second covers those leaving within the period: the final payslip pays the proportional Christmas allowance.
  • What to do: nothing in the batch. The other payslips are created all the same. The allowance of someone leaving is handled on the final payslip: see An employee leaving. Without a confirmed termination there is no warning: in the example, Hugo Miguel Santos, with a fixed-term contract until 30/11/2026, is left out and the message only says “7 payslips created; 0 workers already had one.”

“Create the payslips of the month” says “No payslips created”​

  • Message: “No payslips created. No worker has a contract in force in this month. Check the contract dates of the workers.”
  • Cause: currently, this message also appears in the Holidays batch when nobody has approved holidays starting in the period, even with contracts in force.
  • What to do: check the approved holidays in Absences and the batch dates. While the batch has no payslips, the Calculate button does not appear.

“Reset to draft” asks for a reason​

  • Symptom: a window opens: “Batch “…” goes back to “Draft” and keeps its draft payslips, to be calculated again or removed. If any payslip is validated or paid the batch is refused.”
  • What to do: write the Reason and click Reset to draft in the window. With the Payroll Processor, the October batch went back to Draft, with its 8 payslips.
Versions: Odoo 20.0Community and Enterprisefiscaldoo 20.0 (master d83bdf7ae)ID DOC-0205
Was this page helpful?