Employment contracts manual
The contract type defines the base salary, the work schedule (days and hours per day) and specifics such as the SIVP. This setup automatically feeds the payroll calculation and the time range of the leave calendar.
Overview
Each employee is attached to a contract type that formalizes their base pay and work schedule. Swifto uses this data to prorate the salary (planned days/hours), compute public holidays and adapt the leave calendar. Only one contract is active at a time per employee.
Business goal
- Set the employee's base salary
- Define the days and hours worked
- Manage the specifics (SIVP, bonuses)
- Feed payroll and the leave calendar
Target audience
- HR manager — creates & assigns contracts
- Payroll — basis of the gross → net calculation
- Managers — leave calendar ranges
Position in the module
The contract is attached to an employee record and determines the calculation of the payslip as well as the ranges of the leave calendar.
Access and navigation
Left-hand side menu: Human resources → Contracts.
List of contracts
The list displays contracts by employee: type, base salary, dates and status (active / closed).
| Employee⇅ | Type of contract⇅ | Base salary⇅ | Beginning Date⇅ | Status | ||
|---|---|---|---|---|---|---|
| Mohamed Ali GHARBI | CDI | 2,400.000TND | 01/01/2023 | Active | ||
| Ines BEN SALAH | CDD | 1,600.000TND | 15/09/2025 | Active | ||
| Yassine HAMMAMI | SIVP | 800.000TND | 01/03/2026 | Active |
Table columns
| Column | Description |
|---|---|
| Employee | Holder of the contract. |
| Contract type | CDI, CDD, SIVP, etc. (configurable reference list). |
| Base salary | Contractual base + bonus = total base salary. |
| Start date | Effective date of the contract. |
| Status | Active (only one per employee) or closed. |
Base salary
The base salary combines a contractual base and an optional additional bonus. It is also possible to derive the base from a target net (the engine works back from the desired net to the gross and then the base).
Contractual base
Monthly contractual base salary.
Additional bonus
Added to the base → total base.
From a target net
Enter a desired net → the base is derived.
Total base salary = Contractual base + Additional bonus
Days & hours worked
For each day of the week (Monday → Sunday), the contract indicates whether it is worked and, if so, its start and end hours. This defines the planned days and hours, used both by payroll (proration) and by the leave calendar.
| Day | Worked | Start hour | End hour |
|---|---|---|---|
| Monday | YES | 08:00 | 17:00 |
| Tuesday | YES | 08:00 | 17:00 |
| Wednesday | YES | 08:00 | 17:00 |
| Thursday | YES | 08:00 | 17:00 |
| Friday | YES | 08:00 | 17:00 |
| Saturday | YES | 08:00 | 13:00 |
| Sunday | No | — | — |
The contract schedule also serves as the basis for the leave calendar: the displayed time range (start/end of day) takes the envelope of the days actually worked — the earliest start time and the latest end time.
Create a contract
Click New. Select the employee and the contract type, enter the base salary, then configure the weekly schedule.
Activating a new contract closes the previous active contract of the same employee: only one active contract at a time.
The SIVP case
The SIVP (Stage d'Initiation à la Vie Professionnelle) is a special contract type. When it is selected, the form opens a dedicated SIVP bonus field.
SIVP bonus field
Entry of a bonus specific to the internship, taken into account in the calculation of the intern's remuneration.
Conditional display
The field appears only if the selected contract type is of the SIVP type. For other contracts, it stays hidden.
Remember to check that the "SIVP" type indeed exists in your contract-types reference list before assigning it to an intern.
Link with payroll & leave
Toward payroll
The base salary and the planned days/hours are used to prorate the gross and to compute the worked days on the payslip.
Toward leave
The worked days and time ranges define the span of the leave calendar (hours displayed in the schedule).
A well-configured contract ensures consistent payroll and a leave calendar faithful to the employee's actual schedule.
Lifecycle (workflow)
flowchart LR
A([Employee]):::s --> B[Contract creation]:::p
B --> C[Base salary + schedule]:::p
C --> D{SIVP type?}:::p
D -->|yes| E([SIVP bonus]):::ok
C --> F([Active contract]):::ok
F --> G[Monthly payroll]:::p
F --> H[Leave calendar]:::p
F -.->|new contract| I([Previous contract closed]):::ko
classDef p fill:#F5F3FF,stroke:#8B5CF6,color:#5B21B6;
classDef s fill:#f3f1ff,stroke:#7366fe,color:#1f1c3d;
classDef ok fill:#D1FAE5,stroke:#10B981,color:#065F46;
classDef ko fill:#FEE2E2,stroke:#EF4444,color:#991B1B;Business rules
Only one active contract — each employee has only one active contract at a time; activating a new contract closes the previous one.
Default hours — if an hour is not entered for a worked day, default values (e.g. 09:00 / 18:00) apply; non-worked days are ignored for the time range.
SIVP — the SIVP bonus can only be entered for contracts of this type; it stays hidden for CDI/CDD.
Base ↔ payroll consistency — the total base and the schedule directly feed the proration of the gross on the payslip.
Roles & permissions
| Action | Manager | HR manager | Accountant | Admin |
|---|---|---|---|---|
| View contracts | ✅ | ✅ | ✅ | ✅ |
| Create a contract | — | ✅ | — | ✅ |
| Edit salary / schedule | — | ✅ | — | ✅ |
| Close / reassign | — | ✅ | — | ✅ |
| Delete | — | — | — | ✅ |
Indicative matrix — the actual rights depend on the profiles defined in your company.
Usage scenarios
Permanent hire (CDI)
The contract is created (base 2,200 + bonus 200 = 2,400 TND), Monday→Saturday schedule, then the first payroll is generated.
SIVP intern
Type SIVP selected → SIVP bonus field filled in. The internship remuneration is calculated accordingly.
Salary increase
A new contract is created with the increased base: the old one is closed, the new one becomes active for subsequent payrolls.
FAQ & Tips
Does the leave calendar's time range seem too wide?
It takes the envelope of all worked days. If one day ends at 17:00 and another at 13:00, the axis goes up to 17:00.
The SIVP bonus field does not appear?
It is displayed only for a SIVP contract type. Check the selected type.
Tip — start from the net
To offer a precise net to a candidate, use the derivation from a target net: Swifto automatically works back to the base to record in the contract.
Swifto ERP · HR & Payroll module · User Manual v1.0
Employment contracts — HR & Payroll module · Home