The simplified contributory cycle (CCS) requires factories to reconfigure how they record, calculate and report Social Security contributions — but the most common mistake we see in INFOS projects is treating this as a spreadsheet exercise. It is not. It is a reorganisation of data in pplPortal that affects payroll, monthly declarations, internal audit and, above all, how the system distinguishes who is in and who is out. This guide gives you the 11 reconfiguration points you need to make now, a verification checklist for each module, and the three mistakes that cost the most in payroll reprocessing.
Before you start: what you need to have to hand
Administrator access to pplPortal (pplCore or pplAdvanced), Portaria 195/2020 and Social Security Circular 20/2024 (which defines the CCS rules), a sheet with each employee's current data — professional category, salary bracket, work regime (full-time, part-time, intermittent) —, confirmation from the HR/Payroll manager on who enters the CCS (not everyone: there are exclusions), a full database backup before any changes, and a test calendar with a minimum of 2 payroll cycles in a test environment before going to production.
Contact your INFOS specialist or helpdesk — the CCS has variations by sector and regime, and a textile factory in the Vale do Ave with intermittent workers has different configurations from a distribution chain with fixed administrative staff.
Step 1: Audit each employee's eligibility
The CCS does not apply to everyone. Before reconfiguring the system, determine who enters and who stays in the general regime. Eligibility is binary — you are either in or out — and it is the basis for everything else.
Employees with a contract of employment (full-time or part-time) are included. Intermittent workers with a written contract are included if they meet the minimum of 30 days/year. Directors, board members and managing partners are not included — they remain in the self-employed worker regime. Trainees and apprentices need verification: if they have an apprenticeship or professional traineeship contract, they have special regimes. Employees on contract suspension (unpaid leave, leave of absence) remain outside the CCS during the suspension.
A factory in the Vale do Ave processed 3 months of payrolls with a worker marked as eligible for CCS when, in fact, he was a disguised managing partner. On discovering the error, it had to reprocess 3 full months of DMR, correct contributions and pay a late-payment fine to Social Security — total approximate cost: €8,400 in reprocessing and penalties.
Verification checklist: In pplPortal, tick the "Eligible for CCS" field (or equivalent) for each employee. Document the eligibility date (month/year they enter the CCS). Create an exclusions report and justify each one in writing — keep this for auditing. Ask the HR manager to sign the eligibility list before processing the first payroll.
Step 2: Configure professional categories in pplPortal
The CCS groups employees into categories. Each category has a different contribution rate — in fact, most have the same rate (11% employer + 8% worker), but pplPortal needs to know each person's category because Social Security requires this in the DMR. According to Tax Authority data, professional category errors in the DMR are the second most frequent cause of payroll reprocessing, right after omission of personal data.
Category A is operatives, technicians, administrative and commercial staff. Category B is middle managers, section heads, supervisors. Category C is senior managers, directors, specialists. Category D is intermittent workers. In textile, clothing or footwear factories, most employees fall into Category A or B — check the job description in each one's contract, not the day-to-day reality (an operative who does occasional supervision is not Category B).
Verification checklist: In pplPortal, go to Configuração > Categorias Profissionais (or Recursos Humanos > Tabelas > Categorias, depending on the version). Confirm that each category has the correct contribution rate. Assign the correct category to each employee in their individual record — use the contract as the source of truth, not the organisation chart. Run an "Employees by Category" report and validate it with HR. If pplPortal does not have a native flag for CCS category, create a custom field in Employee > CCS Eligibility and map it in the DMR via a business rule — this avoids manual reprocessing.
Step 3: Redefine the contribution calculation in payroll
pplPortal calculates contributions automatically, but it needs to know it is in the CCS regime. The formula changes slightly compared to the general regime: in the CCS, there are no deductions by income brackets (it is a simplification), holidays and Christmas/holiday bonuses count as working days — contributions included — and the base is always basic salary + eligible bonuses, with no variations.
Test the calculation with a typical employee: a salary of €1,200 should produce a deduction of ~€96 (8%) and an employer cost of ~€132 (11%). If the numbers do not match, there is an error in the base configuration or the rate. Before going to production, run a reconciliation test: manual sum of 5 employees vs. the DMR report — if the difference is >€0.01, there is a rounding error in the calculation rule. This catches 90% of problems before they reach Social Security.
Verification checklist: In pplPortal, go to Folha de Vencimento > Configuração de Cálculo (or Payroll > Rules). Confirm that the regime is marked as "CCS" (not "Regime Geral"). Check that the calculation base includes basic salary + attendance, hardship bonuses, etc. Validate with your accountant or INFOS specialist before processing real payrolls. Generate a test report with 10 employees, print it and compare it line by line with the manual calculation — this takes 30 minutes and saves weeks of auditing later.
Step 4: Map the eligible salary components
Not all payroll components enter the CCS. pplPortal needs to know which is which.
| Component | Enters the CCS? | Note |
|---|---|---|
| Basic salary | Yes | Always included. |
| Meal allowance | No | Exempt up to €10.63/day (2024). Above that, the difference enters. |
| Travel allowance | No | Exempt if supported by receipts. Above the limit, it enters. |
| Hardship allowance | Yes | Enters the contribution base. |
| Sales commissions | Yes | Enters as variable pay. |
| Bonus or production premium | Yes | Enters as variable pay. |
| Holidays (paid days) | Yes | Holiday days count as working days. |
| Christmas bonus | Yes | Enters the base. |
| Holiday bonus | Yes | Enters the base. |
| Redundancy payments | No | Exempt up to 3 months' salary. Above that, the difference enters. |
Verification checklist: In pplPortal, go to Configuração > Componentes Salariais or Payroll > Salary Components. Mark each component with the "Include in CCS" flag (or equivalent). For meal and travel allowances, configure the exempt limit (2024 values). Test with a real example: an operative with a salary of €1,200 + hardship allowance of €100 + commission of €150 should have a CCS base of €1,450. If the system cannot mark individual components, create a business rule that automatically sums the eligible ones — this avoids manual calculation errors.
Step 5: Configure the treatment of absences and leave
In the CCS, unjustified absences and unpaid leave affect the contribution calculation — and this is where many systems fail because the logic is different from traditional payroll. An unjustified absence deducts salary AND contributions are not paid (neither employer nor worker). A justified absence (illness, accident) pays salary (via allowance or insurance) and contributions are paid normally. Unpaid leave has no salary or contributions during that period. Contract suspension is the same. Part-time or intermittent work: contributions calculated only on days/hours actually worked.
Critical error: configuring absences to deduct salary but NOT deduct contributions. Social Security then queries the DMR because the reported days do not match the salary — this results in an audit and reprocessing of 2-3 months.
Verification checklist: In pplPortal, configure the absence types: unjustified absence, justified absence, leave, suspension. For each type, mark whether it deducts salary and whether it deducts contributions — they should be aligned. Test: an employee with 2 unjustified absences in a month of 22 working days should have 20 days paid and contributions on 20 days. For intermittent workers, check that the system records days/hours actually worked (not calendar days). Create a monthly "Absences vs. Contributions" report to validate that the system is applying the logic correctly.
Step 6: Redefine the Monthly Remuneration Declaration (DMR)
The DMR is the file you send to Social Security every month — it is the bridge between pplPortal and the administration. In the CCS, some fields change: the "Professional Category" field is now mandatory (A, B, C or D); the "Contribution Base" field must reflect the CCS base (salary + eligible bonuses); the "Worker Contribution" field must be 8% of the base (there are no variations by bracket); the "Employer Contribution" field must be 11% of the base; working days and absence days must be correctly reported.
Verification checklist: In pplPortal, go to Declarações > DMR or Payroll > Monthly Declarations. Generate the test DMR for a month and validate the fields above. Compare with the payroll: the DMR base should equal the CCS base. If it does not, there is a component mapping error — go back to Step 4. Send the test DMR to Social Security (or to your accountant) for validation before processing real months. Document the submission date of each DMR (mandatory by the 5th working day of the following month). Keep Social Security's acknowledgement of receipt.
Step 7: Adjust the treatment of holidays and bonuses
Holidays and Christmas/holiday bonuses have special rules in the CCS. Holiday days (22 days/year, or as per contract) count as working days for contribution purposes — this means that if an employee takes holiday in a month, pplPortal should record 22 working days + actual working days, not 22 absence days. The Christmas bonus is paid in December and enters the contribution base of the month in which it is paid. The holiday bonus is paid before the holidays and enters the contribution base of the month in which it is paid. If an employee leaves before taking holiday, the outstanding amount is paid as compensation (with special contribution rules).
Verification checklist: In pplPortal, configure the holiday calendar: start/end dates and number of days. Configure the payment month of the Christmas bonus (typically December) and of the holiday bonus (June or as per policy). Test: an employee with a basic salary of €1,200 should receive a Christmas bonus = €1,200 (1 full month) in December, with contributions included. For employee departures, check that the system calculates compensation for untaken holiday correctly. If pplPortal does not automatically calculate holiday days as "working days" in the DMR, create a business rule that adds holiday days taken to working days — this avoids discrepancies with Social Security.
Step 8: Configure the treatment of intermittent workers
Intermittent workers have their own rules in the CCS — if you have this type of contract, the reconfiguration is critical. An intermittent worker has a written contract that defines the availability period (e.g. March to October, or all year with advance notice). They work only when called. Contributions are calculated only on days/hours actually worked, not on calendar days. pplPortal needs to record each working day in a granular way.
Test with a real intermittent worker: if they worked 15 days in a month with a salary of €60/day, the CCS base is €900 (15 days × €60), the worker contribution is €72 (8%), the employer contribution is €99 (11%). The DMR should report 15 working days, not 22. If the system cannot record granular days (only "present/absent"), create a custom field "Intermittent Actual Days" and map it in the DMR — this avoids reprocessing calculations.
Verification checklist: In pplPortal, configure the contract type as "Intermittent" in the employee record. Check that the system allows working days/hours to be recorded in a granular way (not just "present/absent"). Configure the calculation base for intermittent workers: salary × days actually worked. For each month, validate that the DMR reports the correct number of working days. Create an "Intermittent Workers by Month" report with days worked vs. days reported — this catches errors before sending.
Step 9: Test the integration with Social Security
Before processing real payrolls, send a test DMR to Social Security (or to your accountant) for validation. Social Security has a DMR file validation service — use it. Common errors caught here: blank professional category, negative contribution base, working days greater than 31, contributions that do not match the base.
Verification checklist: Generate a test DMR with 3-5 employees (different categories, different contract types). Send it for validation. Correct the reported errors. Repeat with a complete DMR (all employees) before processing the real month. Keep the test file and the validation response — this proves you validated before sending.
Step 10: Document the configuration changes
This may seem administrative, but it is critical for auditing. When Social Security queries a DMR, or when there is a tax audit, you need to prove that the reconfiguration was done correctly and when. Create a document with: reconfiguration date, pplPortal version, user who did the reconfiguration, changed fields (before/after), validation carried out (tests, test DMR), signature of the HR/Payroll manager and of IT. This document is your defence in an audit.
Verification checklist: Keep screenshots of the main configurations (categories, salary components, calculation rules). Keep the test DMR and Social Security's response. Keep the employees by category report. Keep the test log (test payrolls, before/after comparison). Organise everything in a project file with date and signature — this is proof of due diligence.
Step 11: Train the team and prepare support
The reconfiguration is technical, but the impact is operational. The HR/Payroll team needs to understand what has changed, how to check it is correct, and how to report problems. Organise a training session with pplPortal: how to generate validation reports, how to identify common errors, how to contact support. Prepare a troubleshooting guide: if the DMR fails, what are the diagnostic steps? According to Mercer data (2023), 52% of companies in Portugal admit to difficulty in retaining talent — a poorly communicated reconfiguration can lead to operational errors and team frustration. Invest in clear communication.
Verification checklist: Organise a training session with the HR/Payroll team. Prepare a troubleshooting guide. Leave a direct contact for support (INFOS specialist or helpdesk). Schedule a post-implementation review (2-3 months later) to validate that everything is working. Document who was trained and when — this is proof that the team was prepared.
The three mistakes that cost the most
After 35 years implementing payroll in Portuguese factories, we see three mistakes that always appear.
Mistake 1: Marking someone as eligible for CCS without checking the contract. This results in reprocessing 3-4 months. A managing partner or director marked as eligible by mistake generates a cascade of DMR corrections, late-payment fines, and an internal audit. Solution: before marking any employee, ask the HR manager to sign the eligibility list based on the contract — not on the organisation chart.
Mistake 2: Configuring absences to deduct salary but NOT deduct contributions. Social Security then queries the DMR because the reported days do not match the salary. This results in an audit and reprocessing of 2-3 months. Solution: before going to production, run a reconciliation test with 5 employees who had absences — validate that salary and contributions are aligned.
Mistake 3: Not testing the DMR with Social Security before processing the real month. Errors discovered afterwards cost reprocessing + a potential fine + loss of trust from the HR team. Solution: send a test DMR (even if with 3-5 employees) to Social Security for validation before processing the complete month.
Avoid these three and the reconfiguration runs without surprises.
Frequently asked questions
What is the Simplified Contributory Cycle and who needs to implement it?
The Simplified Contributory Cycle (CCS) is a regime for recording, calculating and reporting Social Security contributions that requires companies to reconfigure how they process data in pplPortal. It affects payroll, monthly declarations and internal audit. Not all employees enter the CCS — only some work regimes are eligible.
Which employees enter the Simplified Contributory Cycle?
Employees with a contract of employment (full-time or part-time) enter the CCS. Intermittent workers with a written contract enter if they meet the minimum of 30 days/year. Directors, board members and managing partners remain in the self-employed worker regime. Trainees, apprentices and employees on contract suspension have special regimes and need individual verification.
What is the most common mistake in implementing the CCS?
The most common mistake is treating the CCS as a spreadsheet exercise, when in fact it is a reorganisation of data in pplPortal that affects multiple modules. Another frequent mistake is classifying the wrong employees as eligible — for example, marking a managing partner as an operative — which forces reprocessing of whole months of payrolls and generates fines.
What documentation do I need to have before starting the reconfiguration?
You need administrator access to pplPortal, Portaria 195/2020, Social Security Circular 20/2024, each employee's current data (professional category, salary bracket, work regime), confirmation from HR on eligibility, a full database backup and a test calendar with a minimum of 2 payroll cycles before production.
How should I configure professional categories in pplPortal for the CCS?
Go to Configuração > Categorias Profissionais in pplPortal and confirm that each category has the correct contribution rate. Assign the category to each employee based on the contract of employment, not the actual day-to-day role. Generate an "Employees by Category" report and validate it with HR. If pplPortal does not have a native flag, create a custom field mapped in the DMR.
What is the contribution calculation formula in the CCS?
In the CCS, the base is always basic salary plus eligible bonuses, with no variations by bracket. There are no income-based deductions — it is a simplification. Holidays and Christmas/holiday bonuses count as working days with contributions included. The typical rate is 11% for the employer and 8% for the worker, but you should validate with your accountant before processing real payrolls.
What should I do if I discover an eligibility error after processing payrolls?
You will have to reprocess all the affected months, correct the contributions with Social Security and you may be subject to a late-payment fine. That is why, before processing the first payroll, you should ask the HR manager to sign the eligibility list and create a report of justified exclusions. This drastically reduces the risk of costly reprocessing.
Sources
- Portaria no. 195/2020, of 31 August — Regulation of the Simplified Contributory Cycle (CCS) for Social Security
- Circular no. 20/2024 of Segurança Social Direta — Instructions for applying the CCS and rules on eligibility, professional categories and contribution calculation
- Decree-Law no. 8/2002, of 8 January — Portuguese Labour Code, articles on contracts of employment, professional categories and special regimes (apprentices, trainees, intermittent workers)
- ISO/IEC 27001:2022 Standard — Information security and data management requirements in payroll and personal data processing systems
- Tax and Customs Authority (AT) — Guide to the Monthly Remuneration Declaration (DMR) and validation of professional categories
