Skip to Content
Senedoo Get in touch
Senegal

Odoo payroll software

Payroll and accounting as the law writes them.

A Senegalese payslip produced by the ToolBox — IPRES, TRIMF, IPM, CSS, CFCE (fictitious employee)
A Senegalese payslip produced by the ToolBox — IPRES, TRIMF, IPM, CSS, CFCE (fictitious employee)
The law written as calculation rules

Income tax by bracket and household share, TRIMF, CSS capped at 63,000 F, general and executive IPRES, CFCE.

Inside your Odoo, not beside it

Payslips come out of the database that already carries your invoices and journal entries.

29 collective agreements modelled

Categories, grids and hours; a rules engine our consultants maintain; statutory reports in one click.

On the accounting sideOdoo ships the SYSCOHADA chart and stops there. We added what your accountant, your auditor and the tax authority expect:
  • Six-column trial balance and cumulative four-column balance
  • Expandable SYSCOHADA income statement
  • Analytic balance, reporting codes, partner balance
  • VAT return, 5% withholding (BRS), CEL on value added
  • 360-day customer and supplier ageing, tax and social deadlines calendar
On the payroll and HR side
  • Compliant payslip (IR, TRIMF, CSS, IPRES, CFCE)
  • Complete payroll ledger, managers and staff, with your company logo, and Form 1024 over the calendar year
  • Nominative salary return (DNS) as an Excel file, ready to file
  • CSS-IPRES return, DGID salary withholdings
  • Employment certificate and salary assignment letter, printed from the employee record
  • Paid leave: entitlement accrued (1/12 of gross) on every payslip, payout from a button on the month's payslip, year-end provision posted
  • Public holidays synced every year
  • Payroll posting company by company
The law changes?

Every client has the update the same month.

SaaS database

Your Odoo stays standard: no Python module, no server to maintain.

At a glance

A complete ecosystem: payroll and every Odoo HR module

Odoo payroll is not an isolated module: it is the core of a set of complementary modules sharing the same database and the same employees. The arrows follow the data: the employee record feeds skills and appraisals, whose salary review goes back to the contract; the contract and the month's events feed payroll; payroll in turn feeds returns, accounting, dashboards, signature and the employee file.

The employee and the career

Recruitment

Job offers on the website, applications, interviews; one-click hiring creates the employee record.

hiring creates the record
Employees

Complete record: civil status, ID, bank, IPRES number, job, org chart, departments, bulk updates.

job and expected skills
Skills & training

Skills framework per job, training plans, tracking of authorisations and certifications.

skills and objectives
Appraisals

Periodic reviews, objectives, 360 feedback: the salary review rests on facts.

salary review
Contracts

Permanent, fixed-term, contractors; agreement category and job, agreed net, benefits; end of contract and final settlement.

Payroll

The core of the system, localised for Senegal by Senedoo

  • Compliant payslips under 29 collective agreements: manager, staff, contractor
  • Bonus solved from the agreed net
  • Income tax by shares, TRIMF, IPRES, CSS, CFCE, IPM
  • Bonuses, overtime, meal allowance, advances, loans, deductions
  • Monthly batches, month-to-month check, PDF with the company logo
  • Updated for all our clients when the law changes

The month

Planning

Teams and shifts planned by week, replacements, clashes with leave detected.

planned vs clocked hours
Attendances

Clocking on tablet, badge or phone: hours worked, lateness and overtime.

Time off

Requests and approvals, balances, Senegal public holidays, 1/12 paid leave and provision.

Timesheets

Hours per project or customer: analytic split of payroll cost, time billing.

Expenses

Employee expenses captured by photo, approved, reimbursed on the payslip.

What payroll feeds

Returns & accounting

Payroll ledger, Form 1024, DNS Excel, CSS-IPRES, DGID withholdings; OHADA entry company by company, nothing re-keyed.

Dashboards

Payroll mass, employer cost, headcount, absenteeism and charges payable, read every morning by management.

Electronic signature

Payslips, certificates and amendments signed online by employee and employer, time-stamped.

Documents

Payslips and certificates filed on the employee record, next to ID, diplomas and medical checks.

Your challenges

What payroll costs when it lives on the side

The same four problems come up in every company we meet — a spreadsheet, a stand-alone payroll package, or a provider who sends the payslips at month end.

Payslips made by hand

One spreadsheet per employee, formulas copied month after month, a day lost at every close — and the copy error that ends up on the payslip.

Rules that keep moving

Income-tax scale, IPRES and CSS ceilings, TRIMF, CFCE, 29 collective agreements and their scales: who updates what, and when?

Leave and absences scattered

Requests on WhatsApp, balances in a notebook, absences found after the payslip: the proration is wrong, and the employee sees it.

Distributing, filing, archiving

Print, sign, hand over; re-key for the DNS, Form 1024, CSS-IPRES, DGID; dig out a 2023 payslip for a certificate.

The scope

The whole payroll and HR cycle, inside your Odoo

Not a payroll package next to your management: Odoo's Employees, Attendances, Time Off, Timesheets and Payroll apps, localised for Senegal by Senedoo, in the database that already holds your invoices and entries.

Payslips

  • Manager, staff and contractor structures under 29 agreements
  • Bonus solved from the agreed net
  • Income tax by shares, TRIMF, IPRES, CSS, CFCE, IPM
  • Bonuses, overtime, meal allowance, advances, loans, deductions
  • Monthly batches, month-to-month check, compliant PDF with logo

HR management

  • Complete employee record: civil status, ID, bank, IPRES
  • Permanent / fixed-term contracts, agreement category and job
  • Employment certificate, salary assignment letter
  • Documents and history on the record
  • Bulk updates, Excel import

Leave, absences, attendances

  • Requests and approvals in the Time Off app
  • Senegal public holidays set every year
  • Paid leave: 1/12 of gross, payout, provision
  • Clocking and overtime flow into payroll
  • Automatic absence proration on the payslip

Returns and accounting

  • Payroll ledger, Form 1024, DNS in Excel
  • CSS-IPRES return and DGID withholdings
  • OHADA entry company by company
  • Tax and social deadlines calendar
  • Payroll cost per project (analytic)
Returns, documents and HR add-ons

Everything that comes out of payroll, with nothing re-keyed

Odoo ships the payslip; Senegal expects the rest. Our HR add-ons add it to your database — installed as data, no Python module — and every document starts from validated payslips.

Employee documents

  • Compliant payslip with the company logo, employee and employer shares side by side, year-to-date totals
  • Employment certificate printed from the record, configurable signatory
  • Salary assignment letter to the employee's bank, net of the last payslip
  • Certificate and final settlement at the end of the contract
  • Sent by e-mail or dropped in the employee portal

Social and tax returns

  • Monthly payroll ledger, managers and staff, employer charges and employer cost
  • Form 1024: annual summary per employee
  • DNS — nominative salary return, ready-to-file Excel
  • CSS-IPRES: social contributions for the period
  • DGID withholdings: IR, TRIMF, CFCE
  • OHADA accounting entry company by company, and deadlines calendar

Senedoo HR add-ons

Installed in your Odoo SaaS database, updated for all our clients.

  • Employment certificate — Employees
  • Salary assignment — Employees
  • Payroll ledger + Form 1024 — Payroll
  • DNS (Excel) — Payroll
  • Paid leave: 1/12 accruals, payout, provision — Payroll + Time Off + Accounting
  • Senegal public holidays — Time Off
  • CSS-IPRES return and DGID withholdings — Accounting + posted payroll
  • Tax and social deadlines — calendar, reminders, preparation

Add-ons by support plan

The documents

Printed from Odoo, in the expected format.

Payroll ledger, nominative salary return, employment certificate, salary assignment letter: one click from the payslips or the employee record, with your company logo. These are the real templates, filled with a fictitious company and staff.

The monthly payroll ledger: managers and staff, employer contributions and total employer cost
The monthly payroll ledger: managers and staff, employer contributions and total employer cost
The salary assignment letter, addressed to the employee's bank
The salary assignment letter, addressed to the employee's bank
The nominative salary return (DNS), as an Excel file ready to file
The nominative salary return (DNS), as an Excel file ready to file
The employment certificate, signed by Management or the signatory of your choice
The employment certificate, signed by Management or the signatory of your choice

And the returns

The CSS-IPRES return and the DGID salary withholdings (IR, TRIMF, CFCE) come from the posted payroll; Form 1024 sums up the calendar year employee by employee. Nothing is keyed in twice: everything comes from the payslips validated in Odoo.

The module in detail

What sits under the bonnet

Odoo payroll is not a set of tick-boxes: it is a rules engine. Here is how it works, and what we added to it for Senegal.

Schema paie flux en
One Odoo: employees, attendances, time off and timesheets feed payroll; payroll feeds accounting, treasury and returns

Salary rules, brick by brick

A payroll, in Odoo, is a structure — one per category of staff: executive, non-executive, contractor. Each structure carries rules, and each rule is a small named calculation: a code (SALBASE, IPRES_CADRE, TRIMF), a category, a sequence, and a Python formula evaluated against the contract and the month's inputs.

Three things matter, and are awkward to fix afterwards:

  • The sequence. A rule can only read what has already been computed. Income tax needs the taxable net, which needs the IPRES deductions, which need the gross. A sequence in the wrong order raises no error: it simply yields zero.
  • The condition. A rule that applies only to executives, only above a ceiling, or only one month in twelve, carries that condition in the rule — not in the payroll officer's head.
  • Whether it shows on the payslip. Many rules are intermediate steps and have no business on the paper handed to the employee.

We maintain these rules for twenty-nine collective agreements, with their grids, categories and working hours. When a finance act changes a rate or a ceiling, the rule changes once, for every client.

The sursalaire, and why it is computed backwards

In Senegal, what is negotiated is a net. The employee wants to know what they take home; the collective agreement, for its part, sets a minimum base salary per category. The gap between the two is the sursalaire, and it is the unknown.

The net depends on the sursalaire along a path you cannot reverse by hand: the sursalaire raises the gross, hence the IPRES, hence the taxable net, hence the tax by bracket and by household share, hence the net. Working it out by hand means guessing.

Our solver does the opposite: give it the negotiated net and it finds the sursalaire that lands exactly on it, by successive approximation — five iterations are enough, to within a franc. That is what lets you answer “that net will cost you this much” during the interview, rather than the next day.

Compute a bonus — freeagreed net → bonus, income tax, TRIMF, IPRES, CSS, employer cost

Payslip batches

Payslips are not computed one by one. A batch groups a month, a company, a set of employees: you generate, check, correct, validate, and only then post to the accounts. While the batch is a draft, everything recomputes.

The check that matters before validating is to compare the batch with the previous month, line by line. An unexplained variance on a line is almost always a badly entered input for the month, not a broken rule.

The month's adjustments

A payroll month is never a plain repeat of the last one: absences, overtime, exceptional bonuses, deductions. Those values come in as the month's inputs, entered per payslip or imported, and the rules use them.

One trap we met and fixed: some allowances are entered before the absence proration, others after. A travel allowance entered in the wrong place is prorated twice, or not at all. Our agreements tell the two families apart explicitly.

Advances and loans

Two different mechanisms, often confused:

  • A salary advance is repaid within the same month or the next: a single deduction, no schedule.
  • A loan is spread out: a principal, a number of instalments, a monthly deduction that stops by itself at the last one. The balance outstanding must be readable at any moment — it is the employee's first question, and the auditor's.

In both cases the deduction comes after the taxable net: you do not repay a loan with tax.

Tailoring the payslip

The payslip handed to the employee is both a legal document and a company document. We compose it from templates: the dense Senegalese model — employee and employer shares facing each other on every line, a cumulative band, a boxed net to pay — or a plainer layout. Header, logo, legal wording, columns shown: all of it is set without touching the calculation.

The rule we hold ourselves to: whatever is on the payslip must be demonstrable. Every line points to a rule, every rule to a text.

Posting to the accounts

Validating a batch means writing to the accounts. Each rule carries its debit and credit accounts, and the entry is generated company by company.

This is the step where mistakes are expensive, and we have corrected real ones: a net credited twice because two rules carried the same account; rule accounts defined globally when they differ from one company to the next within a group. The check is simple and final: total staff credits must equal the batch's net to pay, and the expense must equal the gross plus employer contributions.

Analytic accounting

Payroll is often a company's largest cost, and the one least often spread. Yet the question “how much does this site, this shop, this department cost me?” only has an answer if payroll takes part.

Every payroll journal line can carry an analytic distribution — by company, by site, by project, with percentage keys. That is what lets you read, in the same dashboard, a point of sale's margin with staff costs included.

Key benefits

Why Senedoo payroll

Compliant

Labour Code, tax code, CSS, IPRES and IPM: the rules are written, readable and provable, line by line, on every payslip.

Inside your management

No double entry, no exports: employees, attendances, leave and accounting live with payroll in one Odoo SaaS database, with no server to maintain.

Updated for everyone

When a finance act changes a rate or a ceiling, we change the rule once: all our clients get it the same month.

Supported

Consultants who run Senegalese payroll every month, reachable on WhatsApp, and a tooled AI that checks a batch or installs an agreement on request.

How we install your payroll

One month in parallel, then the switch

Read your current payslips

Items, bonuses, over-salary, benefits in kind: we start from what you pay today.

Install the agreement

Structure, rules and categories loaded into your database from our reference set.

Run in parallel, one month

Odoo payslips compared line by line with yours. Differences are explained, not hidden.

Switch and file

Payroll ledger, Form 1024, CSS-IPRES and DGID come out of Odoo. Your deadlines are on the calendar.

Offer and prices

Your payroll in Odoo: three amounts, nothing else

Prices in CFA francs excluding VAT, valid until 31 December 2026. The colour of each box tells you who invoices you.

Senedoo · one-offDeployment and training
750 000 Fexcl. VAT

Flat fee from 1 to 100 employees, for one company and one collective agreement.

  • Full payroll set-up
  • Your employees and contracts imported
  • One month of parallel payroll
  • One day of training
  • First live payroll run together
Odoo S.A. · monthlyOdoo licences
≈ 1 640 Fper employee

Paid directly to Odoo. Senedoo prepares the quote with you.

HR managerfull licence, Custom plan≈ 9 510 F
Each active employeeLight licence: their personal space≈ 1 640 F

First year: full licence at ≈ 7 870 F a month.

Senedoo · monthlySupport contract
60 000 Fexcl. VAT / month

Annual contract, i.e. 720 000 F excl. VAT a year, whatever your headcount.

  • E-mail, phone and WhatsApp
  • Legal updates: scales, rates, ceilings
  • Returns kept up to date
  • Yearly review of your setup
No Senedoo fee per employee. When you hire, only the Odoo Light licence is added, ≈ 1 640 F a month: it opens the employee's payslips, leave, expenses and attendance.
The HR add-ons, included in the Standard and Premium support contracts:
Payroll ledgerForm 1024CSS-IPRESDGID withholdingsDNS in ExcelPaid leave: accrual, payment, provisionSalary domiciliation letterEmployment certificatePublic holidays

Add-ons by support plan

Your budget, by headcount

HeadcountMonthly, from year 2Year 1Following years
10 employees85 910 F1 761 260 F1 030 940 F
30 employees118 710 F2 154 860 F1 424 540 F
50 employees151 510 F2 548 460 F1 818 140 F
75 employees192 510 F3 040 460 F2 310 140 F
100 employees233 510 F3 532 460 F2 802 140 F

Monthly = 60 000 (support) + 9 510 (HR manager) + headcount × 1 640 (Light). Year 1 = 750 000 (deployment) + 720 000 (support) + 94 460 (HR manager, first-year rate) + headcount × 19 680. Amounts excluding VAT (18%). Odoo invoices in euros (€14.50 and €2.50 a month), converted at 655.957 F. Each extra full user adds ≈ 9 510 F a month.

Options · excl. VATBeyond the flat fee
Extra company in the same database250 000 F
Year-to-date totals imported150 000 F
Online training30 000 F / hour
On-site training160 000 F / day
Assisted payroll: we prepare your runson quote
Over 100 employees, extra agreementon quote
TermsHow it is paid
  • Deployment: 50% on order, 50% when the first payroll is validated
  • Support: one-year commitment, 720 000 F excl. VAT
  • Odoo licences: invoiced by Odoo S.A.
  • Three to four weeks to your first payroll

Not included: filing the returns on the CSS-IPRES and DGID portals (the statements are ready to copy), travel outside Dakar, custom development.

With or without Odoo

Payroll in Odoo, or online payslips at 500 F?

The same calculation engine, two ways to use it.

CriterionSenedoo payroll in OdooSenedoo Paie online Beta
For whom
Companies that want payroll inside their management system, with accounting, leave and an employee spaceSmall businesses, associations, domestic or security staff employers, accounting firms running several companies
Calculation
Identical
29 agreements, top-up salary, income tax, TRIMF, IPRES, CSS, CFCE, IPM
Identical
29 agreements, top-up salary, income tax, TRIMF, IPRES, CSS, CFCE, IPM
Accounting
Automatic
Entries posted in your Odoo accounting, paid-leave provision included
To re-enter
SYSCOHADA entry supplied as PDF and Excel
Documents
Payslip and payroll entries; with a Standard or Premium contract: payroll ledger, Form 1024, DNS, CSS-IPRES, DGID, paid leave, employment certificate, domiciliation letterPayslip, payroll ledger, Form 1024, DGID, CSS-IPRES
Employees
A personal space: payslips, leave, expenses, attendancePDF payslips to hand out
Support
Deployment, training, support by e-mail, phone and WhatsAppSelf-service
Price
750 000 F excl. VAT once, 60 000 F excl. VAT a month, Odoo licences500 F per payslip, 1 000 F per company, 500 F per return. VAT included, no subscription, 3 payslips free

Yearly budget, side by side

HeadcountOdoo, year 1 (excl. VAT)Odoo, after (excl. VAT)Senedoo Paie, per year (incl. VAT)
10 employees1 761 260 F1 030 940 F84 000 F
30 employees2 154 860 F1 424 540 F204 000 F
50 employees2 548 460 F1 818 140 F324 000 F

Senedoo Paie, year 1: 1 000 (company) + 12 × (headcount × 500 + 2 000) + 500 (Form 1024) − 1 500 (3 free payslips). The monthly 2 000 F covers the payroll ledger, DGID, CSS-IPRES and SYSCOHADA entry; add 500 F in following years. Top up with Wave, Orange Money or bank card.

Frequently asked

What we are asked before starting

Are the payslips compliant with Senegalese regulations?

Yes: income tax by brackets and shares, TRIMF, general and manager IPRES, capped CSS, CFCE, IPM — every payslip line points to a written rule, maintained by our consultants for the 29 agreements. When the law changes, the rule changes once for all our clients.

How much does Senedoo payroll in Odoo cost?

A one-off deployment of 750 000 F excl. VAT, then a support contract of 60 000 F excl. VAT a month. Per employee, only their Odoo Light licence is added, ≈ 1 640 F a month. For 10 employees, budget 1 761 260 F excl. VAT in year 1 and 1 030 940 F in the following years: see the offer and prices.

We already have payroll software: how does the takeover work?

We read your current payslips, install the agreement in your database, then run one month in parallel: every difference between your payslips and Odoo's is explained before the switch. Employees, contracts and year-to-date totals are carried over, so Form 1024 stays complete.

How long to get started?

For a company under one agreement: two to four weeks, including the parallel month.

Do we need a server or an installation?

No. Everything runs on a standard Odoo SaaS database — our modules are installed as data, with no Python module and no server to maintain — or on Senedoo Paie online, in your browser.

Do employees receive their payslips?

PDF payslips come out by batch and can be e-mailed from Odoo or dropped in the employee's portal; the salary assignment letter and the employment certificate print from the employee record.

And the social and tax returns?

Payroll ledger, Form 1024, DNS as a ready-to-file Excel, CSS-IPRES return and DGID salary withholdings (IR, TRIMF, CFCE) come out of validated payslips: nothing is re-keyed. The deadlines calendar reminds you of each filing.

Move to simple, compliant payroll.

A certified Odoo consultant sets up your agreement, runs a month in parallel with you and trains your payroll officer.

Request a demo

© 2026 SENEDOO SAS, Dakar · Odoo is a trademark of Odoo S.A. · Privacy policy