Morocco payroll on Odoo: the complete guide (CNSS, AMO, IR, CIMR)
Managing payroll in Morocco means orchestrating a precise sequence of social security contributions, tax withholdings and legal declarations, month after month. This reference guide explains how to structure a compliant, automated Morocco payroll on Odoo — from CNSS to IR, including AMO and CIMR — to produce reliable payslips and stress-free declarations.
Understanding the architecture of Moroccan payroll
Payroll in Morocco follows a cascading logic: you start from the gross salary, apply the social security contributions, then calculate income tax (IR) on a net taxable base, to arrive at the net pay. Each layer has its own rules, ceilings and filing deadlines.
- CNSS — social security contributions, with a capped employee share and an employer share.
- AMO — mandatory health insurance, generally calculated without a ceiling.
- IR — income tax withheld at source according to a progressive bracket scale.
- CIMR — optional supplementary pension, according to the subscribed contract.
- Professional expenses — a deductible allowance before the IR calculation.
CNSS and AMO: the social security contributions
The CNSS funds short-term social benefits, the basic pension and family allowances. The employee share is calculated on a capped salary, the employer share on its own bases. Odoo must handle two distinct bases within the same payslip. The AMO most often applies to the full salary, without a ceiling. In Odoo, these rules translate into salary rules grouped in a Moroccan payroll structure. Our HRIS solution also covers leave, contracts and variable items.
Best practice. Never hard-code the rates. Use dated parameters so that each regulatory change applies to the right period, without rewriting the history of validated payslips.
IR and CIMR: income tax and supplementary pension
The IR is withheld at source according to a progressive scale: the net taxable income is split into brackets, each with an increasing rate and an amount to deduct. Before applying the scale, the taxable base is built: gross, less professional expenses, less deductible contributions (CNSS, AMO), less the employee CIMR where applicable. The CIMR is optional; its employee share reduces the taxable base within the permitted limits. Also discover MySIRH, our HR digitalization offering.
Payslip, allowances and declarations
Beyond the base salary, payroll includes bonuses, transport allowances, benefits in kind, overtime and deductions. Each item must be qualified once and for all in the configuration. The payslip shows the gross, the breakdown of contributions, the taxable base, the IR and the net. Every month, the employer declares via Damancom, remits the IR and, at year-end, produces the 9421 return. Payroll entries integrate with accounting and are reconciled during the accounting close on Odoo.
The cost of a payroll project depends on the number of employees and the level of customization — to be scoped together.
Your questions about Morocco payroll
Move to a reliable, automated Morocco payroll
Karizma configures your compliant Odoo payroll (CNSS, AMO, IR, CIMR) and integrates it with your accounting.