Skip to main content
Pending validationOdoo 20.0Community and Enterprise

How to set up the company's payroll

What is it for?​

Before the first month of payroll, each company needs three records: the employer record (the data that goes into the returns and the work accident insurance), the company size (micro, small, medium or large) and the payroll settings, where the company chooses how the daily rate is calculated, what happens to an employee without a Personal Income Tax (IRS) profile and which checks prevent a payslip from being validated.

These choices apply to all the company's payslips. Setting up does not generate journal entries: journal entries are only created when the payslips are posted to accounting.

When to use it?​

  • When you start processing payroll in a company that is new to fiscaldoo.
  • In January, to record the size for the year (the average number of employees in the previous year).
  • When the work accident insurer or policy changes, or the company becomes covered by a collective bargaining instrument.
  • When the certified accountant decides one of the choices that fiscaldoo leaves to the company (list in For the accountant).

Do not use this article for the minimum wage amount: it is in How to update the minimum wage and apply reductions.

Where to find it?​

Payroll › Configure › Company, with three entries: Payroll settings, Employer record and Company size.

Before you start​

  • Your profile is Payroll Administrator. The Configure menu does not appear to the Payroll Processor.
  • Check the active company in the top-right corner: each company has its own record, size and settings. In the demo, the Payroll Administrator opens in Empresa Teste Portugal: choose Empresa Demonstração, Lda to see the records in this article.
  • Have the work accident insurance policy at hand (insurer, number and end date) and the average number of employees in the previous year.

How to use it​

  1. Open Payroll › Configure › Company › Employer record. In a company without a record, the list says “The employer's data used in the declarations appears here; create it with New, one per company.” Click New.
  2. Fill in Valid from and the Employer Social Security number. The Tax number (NIF/NIPC) and the CAE (economic activity code) come from the company and cannot be edited on the record: the NIF (509999999 in the demo) and the CAE (46900) are changed in the company's own data. Leave NIPC of the Social Security (DMR) empty until you have the number from the official instructions for the DMR (monthly pay statement): fiscaldoo never assumes it. The record's Legal basis is read-only.
  3. In Work accidents and agreements, choose the Insurer (work accidents), type the Policy number (work accidents) and the Policy valid until date. In Premium of the insurance, choose Fixed premium or Variable premium (with the variable premium, the insurer charges on the month's salaries and the company sends it the monthly payroll sheet). Covered by the regime of accidents in service comes ticked: untick it only if the company is not covered. Pending validation by a certified accountant: when to untick Covered by the regime of accidents in service, and the FGCT (art. 106.º/3-m) (reference of the Work Compensation Guarantee Fund): when and how it is filled in. Fill in the Applicable collective agreement (IRCT) and the Parties that signed it, if any. Save.
  4. Open Payroll › Configure › Company › Company size and click New.
  5. Type Valid from (for example 01/01/2026) and, in Average workers, the average number of employees in the previous calendar year (in the year the business starts, the employees on that day). The Size fills in by itself: with 8 it becomes Micro-company (fewer than 10 workers); with 60, Medium company (50 to fewer than 250).
  6. In Source of the headcount, say where the number comes from (for example Média de 2025 (Relatório Único)) and save.
  7. Open Payroll › Configure › Company › Payroll settings and click the company's line. The line already exists in every company, even before the first payroll.
  8. At the top, check the daily rate and the incomplete month:
    • Active Social Security declaration scheme: Legacy scheme (monthly DR file) or New scheme (Direct Social Security / RRT). It decides how the Social Security return is made.
    • Default incomplete-month method (hiring, leaving or suspension mid-month): 30 fixed days (default practice) or Actual calendar days of the month.
    • Default holiday allowance (SF) payment mode: Before the start of the holiday period (legal default) or Together with the monthly salary (written agreement).
    • Daily wage divisor: 30 by default. A salary of €1,500.00 gives €50.00 per day.
  9. In Worker without an IRS profile, choose Nothing assumed: no IRS is calculated until the worker's IRS profile exists (the payslip has no IRS and is not posted) or Withhold as “not married, no dependents” (table I) and warn on the payslip. In Rounding of the IRS withholding, the default is Each withholding on its own (monthly and each allowance).
  10. Review the checks that prevent a payslip from being validated. By default they are all switched on:
    • Require the Social Security framework to calculate: without a scheme and beneficiary type on the contract, the payslip is not calculated.
    • Check the minimum wage when validating a payslip: a payslip below the applicable minimum wage is not validated.
    • Floor of the collective agreement: Block the validation or Alert only (the legal minimum is still blocking).
    • Employer file required: the payslip is only validated with a work accident insurance policy in force.
    • Require the Social Security code of every rule with an amount to close a payslip and Check the deductions (CT art. 279.º) when calculating and validating.
  11. In Payslip: information beyond the legal minimum (good practice), tick what you want to print in addition on the payslip: Payslip: show the cost to the employer, Payslip: show the totals of the year, Payslip: show the holiday balance (the only one ticked by default) and Payslip: attach the explanation of the calculation.
  12. Save the settings.

Expected result​

  • Employer record and Company size have one line each, with the start date. Once saved and in use, the record shows “This record is already in use, so it can no longer be changed. To change it, close the period (fill in “Valid until”) and register a new one with its start date.”: only Valid until and NIPC of the Social Security (DMR) remain editable. The size still shows the old text “This record is already closed (validated, approved, paid or sent), so it can no longer be changed. …”, and on it only Valid until (while it is empty) and the Source of the headcount remain editable.
  • The Payroll settings save without a message. As the field help says, the choices only reach payslips calculated afterwards; payslips already validated do not change.
  • No journal entry is created.

Important notes​

  • Changing closed data is done by periods. A new size or record starts the day after the previous one ends: fill in Valid until on the old one and create the new one with New. In January, record the new year's size the same way. The record has no “New version” button (only Duplicate and Delete, in the gear menu), and Delete on a record that has already started is refused: “Invalid Operation. Employer data that has already started cannot be deleted: register a new version.”
  • The size counts for overtime. The annual overtime limit of each employee depends on the size in force (175 hours in a micro-company). With no size recorded, the counter says “The size of the company is not registered (Payroll › Configure › Company › Company size), so the limit cannot be applied.” See How to record and pay overtime.
  • The choice in the Accounting section, Post the salaries (By worker or Added up by batch, the value for new companies), is decided with the certified accountant: it changes the detail of the journal entry, not the totals per account. See How to post payroll to accounting.
  • The fields DMR: hours before the simulated resubmission and DMR: maximum of simulated attempts only affect the simulator of the communication with the AT; they do not change any payslip.

Common problems​

When saving, “Some required fields are empty” appears​

  • Symptom: “Some required fields are empty. Fill in the fields marked in red to be able to save.”
  • Cause: Valid from is missing (on the record or the size).
  • What to do: type the start date and save again.

The company size overlaps another period​

  • Symptom: “The size of the company overlaps another period (01/01/2026). What happened: two sizes cannot be in force on the same day. How to fix it: end the previous period the day before this one starts.”
  • Cause: the previous size has no Valid until, or it ends after the new one starts.
  • What to do: close the window, click Discard, open the previous size and fill in Valid until with the day before; then create the new one. Note: once saved, Valid until can no longer be changed.

“The company already has employer data for these dates” when saving a new record​

  • Symptom: “Validation Error. The company already has employer data for these dates (from 01/01/2026). How to fix it: use “New version” or close the “Valid until” of the previous one.”
  • Cause: the previous record has no Valid until or it ends after the new one starts.
  • What to do: click Close and discard the new record; open the previous one, fill in Valid until with the day before and create the new one. There is no “New version” button, despite the message.

The divisor does not accept zero​

  • Symptom: “The daily wage divisor must be a positive number.”
  • What to do: type a number greater than zero (30 by default).

The size (and the absence types) says it “is already closed” and has no buttons to cancel​

  • Symptom: “This record is already closed (validated, approved, paid or sent), so it can no longer be changed. To correct it, use the actions of the document: cancel it or create a correction.” The record has no cancel or correction buttons. The employer record already shows the correct text (see “Expected result”).
  • Cause: the size and the record cannot be changed after saving, so that payslips already made keep the data they were calculated with. The message is the one used for documents and does not say how to correct a record like this.
  • What to do: end the record in Valid until and create another with New (see Important notes).

For the accountant​

Choices in the Payroll settings that the law does not set or that fiscaldoo itself flags for validation. They are logged when they change and only reach payslips calculated afterwards. Pending validation by a certified accountant: the option to use in each of these choices.

SettingOptions on screen (the first is the demo's)
Fraction of the year of seniority (termination compensation, notice)Complete months over 12 (the days of the incomplete month are not counted) · Days over 365
Compensation of a fixed term (policy) (contracts started before 01/05/2023)empty · The 24 days over the whole duration of the contract · The 24 days only for the service from 2023-05-01
Years of seniority for the IRS exclusionA fraction of a year counts as a year · Years and the proportional fraction
RMMG of the caps of the compensationLast day of the contract · Communication Date
Allowance in a suspensionApply the rule of the Social Security (compensatory benefit) · Do not calculate until decided · The employer pays all
Base of the limit of one sixth (deductions under CT art. 279)Gross monthly remuneration (default) · Net monthly remuneration (after IRS and Social Security)
Deductions above the limitDefer: the excess is carried to the following payslips (never forgiven) · Block: a payslip whose deductions exceed the limit cannot be validated
Compensated expense without a trip mapTax: … · Block: …
Order of the garnishments · Conflict between garnishmentsBy the date of the notification (CPC art. 794.º/1) · Maintenance before ordinary debts (interpretation); Alert on the payslip · Refuse the validation until the agent's decision is registered
Employer's choice for work on a holidayCompensatory rest of half the hours · Increase of 50 % of the pay
Pay 2 hours when the overtime register is not signed (art. 231.º)off · on
Deduct the missing notice from the final payslipoff · on

Two more choices next to the schemes: Novo modelo de declaração desde? and Origem do método da antiguidade?, which the screen shows without a value in the demo. Pending validation by a certified accountant: what to write in these two fields.

The other fields of the form: Review payslips that change more than (%) (20%, for the list of differences to review before closing), Pay transparency obligations (off: today it does not change any payslip), Hours lost per rest day or holiday of the extension, The payroll processor approves holidays and absences, Alert when the monthly base crosses (€), The company is not obliged to close on public holidays (art. 236.º/1), the four holiday and allowance accrual fields (Accrual method, Accrual rounding, Accrue the employer's contributions, Accident insurance rate on the allowances (%)) and the partners Social Security (partner) and Tax authority (partner) used in the journal entries.

Versions: Odoo 20.0Community and Enterprisefiscaldoo 20.0 (master ba9c8bd7)ID DOC-0177
Was this page helpful?