HR & Payroll Manual
The Human Resources & Payroll module centralizes the management of employees, contracts, Tunisian payroll (IRPP, CNSS, CSS, withholding tax), leave, bonuses, allowances, advances and social declarations.
Overview
The HR & Payroll module covers the entire employee lifecycle: hiring (employee record + contract), monthly payroll (automated gross → net calculation), absence and leave management, and social declarations. The payroll engine applies Tunisian regulations.
Business goal
- Keep the complete file of each employee
- Generate compliant payslips (IRPP/CNSS/CSS)
- Track leave, bonuses, allowances and advances
- Prepare the social declarations
Target audience
- HR / Payroll manager — drives the whole module
- Managers — approve leave requests
- Accounting — payments & transfer orders
Tunisian payroll in brief
Personal income tax, calculated by brackets on the annual taxable salary then brought back to the month (÷ 12).
Contribution to the National Social Security Fund (Caisse Nationale de Sécurité Sociale): employee share withheld + employer share, calculated on the gross.
Social Solidarity Contribution, applied to the taxable base (configurable rate, brought back to the month).
The net payable is obtained after withholding IRPP, CSS and the employee CNSS at source.
Net salary = Gross − employee CNSS − CSS − IRPP
Net payable = Net − Advances − Fines/Suspensions + Exceptional bonuses
The module has been merged with leave management: Employees, Leave, Payslips, Declarations, Contracts, Bonuses, Allowances and Advances form a single coherent whole.
Access and navigation
Left-hand side menu: Human Resources. The submenu gives access to all the module's screens.
Employees
The Employees list presents the workforce with photo, number, name, position and department. The lock indicates whether the account is active or disabled.
| Photo | No.⇅ | User⇅ | Position⇅ | Department⇅ | |||
|---|---|---|---|---|---|---|---|
| 0012 | Mohamed Ali GHARBI | Sales manager | Sales department | ||||
| 0024 | Ines BEN SALAH | Accountant | Finance | ||||
| 0031 | Karim MEJRI | Storekeeper | Logistics |
The employee record — key HR information
Beyond identity, position and department, the record carries the data that directly drive payroll and leave:
| Field | Role in the calculation |
|---|---|
| Head of household | Activates the "head of household" deduction of the IRPP scale. |
| No. of dependent children | Deduction by rank (up to 4 children). |
| No. of disabled children | Increased deduction (by substitution — see §11). |
| No. of children in higher education | Increased deduction (by substitution). |
| Leave balance (legal / sick) | Capital of available days, decremented on each approved leave. |
| CNSS no. / Marital status | Carried over to the payslip and the declarations. |
Leave balance color code
The balance is displayed in color according to the level: red ≤ 0 · amber for 0 < x ≤ 4 · blue > 4. An immediate visual cue to anticipate critical balances.
An employee can be "Employee + User" (access to the application with a profile) or "Employee only" (no login). The profile determines the privileges.
Employment contracts
Each employee is attached to a contract type that defines the base salary, the work pattern (worked days and time slots per day) and the specifics (e.g. SIVP). This setup automatically feeds the calculation of the planned days/hours on the payslip.
Base salary
Contractual base + supplementary bonus = total base salary. The base can be derived from a target net.
Days & hours
For each day (Monday → Sunday): active or not + start / end time. Defines the planned days and hours.
SIVP
SIVP-type contracts open a specific SIVP bonus field.
| Day | Worked | Start hour | End hour |
|---|---|---|---|
| Monday | YES | 08:00 | 17:00 |
| Tuesday | YES | 08:00 | 17:00 |
| Wednesday | YES | 08:00 | 17:00 |
| ... | ... | ... | ... |
| Saturday | YES | 08:00 | 13:00 |
| Sunday | No | — | — |
The contract pattern also serves as the basis for the leave calendar: the displayed time slot (start/end of day) adapts to the days actually worked.
Payslips
The payslip list is grouped by month. Each row shows the employee, the worked days, the gross salary, net, net payable, the status (Paid / Unpaid) and the payment date.
| Employee⇅ | month | Days⇅ | Gross salary⇅ | Net salary⇅ | Net payable⇅ | Status | ||
|---|---|---|---|---|---|---|---|---|
| April 2026 | ||||||||
| Mohamed Ali GHARBI | April 2026 | 26 / 26 days | 2,400.000TND | 1,932.480TND | 1,932.480TND | Paid | ||
| Ines BEN SALAH | April 2026 | 26 / 26 days | 1,600.000TND | 1,345.600TND | 1,145.600TND | Not paid | ||
List action bar
New
Generates a payslip for a given employee (month/year).
Bulk generation
Produces the payslips of the entire workforce for a month in one go.
Payment
Marks the selected payslips as paid (date, currency, account).
Transfer order
Exports a multiple transfer order (Excel) for the bank.
The detail of a payslip — the gross → net engine
When a payslip is opened, Swifto automatically calculates all the components. The possible entries (overtime, unworked public holidays, bonuses, fines, advances) recalculate the net in real time.
| Designation | Rates | Base | Employee share | Employer's share |
|---|---|---|---|---|
| Gross salary | — | 2,400.000 | 2,400.000 | |
| CNSS | 9,18 % / 16,57 % | 2,400.000 | 220.320 | 397.680 |
| Taxable salary | — | 2,179.680 | ||
| CSS | 0,5 % | 2,179.680 | 10.898 | |
| IRPP | scale | 2,168.782 | 236.302 |
Calculation sequence
1. Gross = prorated base (days/hours) + overtime + bonuses − unpaid days
2. Employee CNSS + employer CNSS (on the gross)
3. Taxable salary = Gross − employee CNSS (− professional expenses)
4. CSS = rate × taxable, then ÷ 12
5. IRPP = bracket scale (annual) ÷ 12
6. Net = Gross − employee CNSS − CSS − IRPP
The amounts in the screenshots are illustrative examples. The applied CNSS, CSS rates and the IRPP scale depend on the tax table in force (configurable by year).
The gross↔net simulation available from the employee record uses exactly the same engine as the actual generation.
Leave management
The Leave management screen is a dashboard: indicators at the top, list of requests to process, then two tabs — Calendar and Remaining balances.
Calendar tab
Day / Week / Month view. You create a request by clicking on the calendar (employee, type, dates, half-day for time-off, description). Clicking an existing leave opens its detail.
Remaining balances tab
List of the workforce with legal balance and sick balance (color code). Notify (one employee) and Notify all buttons to email the balance summary.
Legal balance: 18.0 days · Sick balance: 10.0 days
Request approval workflow
| Status | Meaning |
|---|---|
| In progress | Request submitted, awaiting approval by the responsible position. |
| Approved | Request approved; the employee's balance is decremented. |
| Refused | Request rejected with explanation from the manager. |
| Cancelled | Leave cancelled by the employee (before its end). |
The workflow can have several levels: each status points to the responsible position for the next action. The final approval (last rank) deducts the days from the balance.
Bonuses, allowances & advances
Three screens complete the remuneration. All are attached to an employee and are carried over to the payslip of the month concerned.
Exceptional bonuses (allowances)
MonthlyOne-off amount granted to an employee for a given month/year; added to the net payable of the payslip.
Configured bonuses
RecurringTemplate bonuses defined once (label + amount), assignable to an employee's contract.
Salary advances
DeductionAdvance granted (amount, month, year); deducted from the net payable of the corresponding payslip.
On the payslip, the Bonuses, Fines / Suspensions and Advances fields only appear for entry if there is an amount concerning them for the month.
Social declarations
The Salary and employee declaration screen consolidates the payroll elements of a period to prepare the legal obligations (CNSS, salary declaration).
CNSS
Summary of employee and employer shares by employee and by period, basis of the quarterly declaration.
Salary declaration
Gross totals, IRPP/CSS deductions and nets by employee over the fiscal year, for the annual declaration.
The declarations rely on the payslips already generated: it is therefore essential that the month's payroll be complete and validated before producing the reports.
HR dashboard
The HR Dashboard offers an analytical view of the workforce and the payroll mass. A filter by department and by period recalculates all the indicators.
Available charts (13)
Seniority and entries are estimated from the record's creation date (no dedicated hire date). The age pyramid and the gender donut are partial if gender/date of birth are not filled in.
Lifecycle (workflow)
flowchart LR A([Hiring]):::s --> B[Employee record]:::p B --> C[Employment contract]:::p C --> D[Monthly payroll
Gross to Net]:::p D --> E([CNSS / CSS / IRPP]):::st D --> F([Payment / Transfer]):::ok B -.-> G[Leave request]:::p G -->|approved| H([Balance decremented]):::ok D --> I[Social declarations]:::p classDef p fill:#F5F3FF,stroke:#8B5CF6,color:#5B21B6; classDef s fill:#f3f1ff,stroke:#7366fe,color:#1f1c3d; classDef st fill:#FEF3C7,stroke:#F59E0B,color:#92400E; classDef ok fill:#D1FAE5,stroke:#10B981,color:#065F46;
Business rules
Children deduction — by substitution (art. 40 TN IRPP Code)
The "raised to" deduction for a disabled child or one in higher education replaces (does not add to) that child's rank deduction. In practice: ordinary children = total − disabled − higher education receive the rank deduction, then the increased deductions of the children concerned are added.
IRPP by brackets — the tax is calculated on the annual taxable salary by applying the progressive scale, then divided by 12 to obtain the monthly withholding.
CNSS & CSS — CNSS separates an employee share (withheld) and an employer share (employer charge), both on the gross. CSS applies to the taxable base at a configurable rate, brought back to the month.
Simulation ↔ generation consistency — the gross↔net simulation (employee record) and the actual generation (payslip) use the same engine: no discrepancy between the two.
Children consistency — on save, the number of disabled children and those in higher education must be ≥ 0 and not exceed the total number of dependent children.
Leave balance — an approved leave decrements the balance. A balance ≤ 0 is displayed in red and appears in the dashboard's "critical balances".
Roles & permissions
| Action | Manager | HR manager | Accountant | Admin |
|---|---|---|---|---|
| View employees | ✅ | ✅ | ✅ | ✅ |
| Create / edit an employee | — | ✅ | — | ✅ |
| Generate payslips | — | ✅ | ✅ | ✅ |
| Pay / transfer order | — | — | ✅ | ✅ |
| Approve leave | ✅ | ✅ | — | ✅ |
| Social declarations | — | ✅ | ✅ | ✅ |
| Delete | — | — | — | ✅ |
Indicative matrix — the actual rights depend on the profiles defined in your company (creation / deletion per screen).
FAQ & Tips
The calculated net does not match my expectations?
Check the year's tax table (CNSS/CSS rates, IRPP scale) and the dependent children (disabled / higher education by substitution).
A bonus / advance does not appear on the payslip?
Make sure it is entered for the same month/year as the payslip, and for the right employee. The field only appears if an amount exists.
How to generate payroll for the entire workforce?
Use the bulk generation ( icon) from the payslip list, then adjust case by case if needed.
Tip — anticipate leave balances
Monitor the Critical balances card of the leave dashboard and use Notify all to inform employees of their balance by email.