Human Resources in Karitm is a complete chain, not a set of independent pages: Person → Employee → Contract → Personnel Order, alongside Shift → Work Schedule → Attendance Record → processing of attendance, leave, and overtime reports, and finally Payroll Period + Payroll Elements → Payslip → Accounting Document.
Three points that should be emphasized in training:
- An employee is built on top of a person. If a person does not have the "Employees" role, they will not appear in the employee list.
- The payslip is the final product, and its inputs come from three places: the personnel order (base amount), attendance (hours worked, lateness, overtime), and leave (paid / unpaid).
- Centers are the organizational scoping layer. The "Center" selector in the system's top bar determines which branch's or unit's data the user sees.
Menu Structure
| Subgroup | Pages |
|---|---|
| Employees | Employee List · Centers |
| Attendance | Shift Management · Work Scheduling · Attendance Devices · Check-in/Check-out Logging · Attendance Report Processing · Overtime Requests |
| Leave Management | Leave Types · Leave Policies · Leave Balance · Leave Requests |
| Payroll | Payroll Periods · Payroll Elements · Payslip · Legal Policies · Contract Templates · Employee Contract List · Personnel Orders |
On three pages, the in-page title differs from the menu title:
| Menu Title | In-page Title |
|---|---|
| Centers | Center List |
| Work Scheduling | Generate Work Schedule |
| Check-in/Check-out Logging | User Check-in/Check-out Control |
Employees and Centers
"Employee List" columns: # · Personnel Code · First Name · Last Name · National ID · Department · Position · Contract Type · Date. Classic pagination with 20 rows. The Department and Position columns are fed from the organizational structure (centers and job titles), and Contract Type comes from the employee's active contract.
"Centers" has a two-column layout: a center tree with search, and a table with columns Name, Parent Center, Number of Sub-centers, Officially Active, Active, Actions. A center is an organizational unit — a branch, department, store, or cost center — and has a hierarchical structure.
A center is not just a reporting label: the "Center" selector in the system's top bar changes the scope of the user's data. In multi-branch organizations, this same mechanism ensures that the manager of Branch A cannot see Branch B's data. The "Officially Active" column shows the center's registration and legal status, while "Active" shows whether it is available in the system.
Attendance
"Shift Management"
| Column | Meaning |
|---|---|
| Name | Shift title |
| Start / End Time | Time, to the second |
| Allowed Lateness (minutes) | Grace period for arrival without recording lateness |
| Allowed Early Leave (minutes) | Grace period for leaving early without penalty |
| Break (minutes) | Break time deducted from hours worked |
| Night Shift | Sun/moon icon — for shifts that cross midnight |
| Color · Status | Color sample for identification on the work schedule calendar · Active or Inactive |
Example: "Morning Shift - 04:30" runs from 04:30:00 to 12:30:00 with 15 minutes of allowed lateness and 10 minutes of allowed early leave; "Night Shift - 22:00" runs from 22:00:00 to 06:00:00 with a 30-minute break and the night-shift toggle turned on.
The night-shift toggle is essential: without it, a shift whose end time is earlier than its start time will not be calculated correctly.
"Work Scheduling" (Generate Work Schedule)
This is a batch generation form, not a list:
| Field | Required | Description |
|---|---|---|
| Employees | Yes | Multi-select |
| Shift | Yes | From the list of defined shifts |
| Start / End Date | — | The range for which the schedule is generated |
| Rest Days | — | Multi-select — days for which no work schedule is created |
The generate-schedule button creates the schedule for the entire date range and all selected employees at once. For a ten-person team over one month, that is about 260 records with a single click.
"Attendance Devices"
Columns: # · checkbox · Device Code · Name · Device Type · IP Address · Installation Location · Trusted · Status · Actions. Device Type takes a chip (e.g., fingerprint), and the device code is generated automatically following the ATTDEV-n pattern.
The "Trusted" column determines whether attendance records from this device are accepted without review — the same setting reflected on the "Check-in/Check-out Logging" page with the "Trusted device mode is active" badge.
"Check-in/Check-out Logging" (User Check-in/Check-out Control)
Subtitle: "Manual logging, entry correction, bulk entry, and monitoring the processing status of raw attendance logs." Info banner: "The check-in/check-out list is shown only for the selected employee" — meaning this page shows no data until an employee is selected.
Four indicator cards: Check-in · Check-out · Processed · Duplicates. Toolbar: Log Entry (+) · Bulk Check-in · Refresh · "Trusted device mode is active" badge · Filter · Column settings. Columns: # · Employee · Log Time · Direction (green check-in chip / red check-out chip) · Device ID · Device · Status · Source · Actions.
The "Duplicates" card matters for environments where an employee might scan their fingerprint several times in a row; the system identifies these so hours worked are not double-counted. The "Source" column shows whether the log came from an attendance kiosk or from a user's manual entry — critical for attendance auditing.
"Attendance Report Processing"
Filters: From Date · To Date · Selected Employees (multi-select, with a "Number selected: n" counter) · Generate Report button. Three charts: Employee Attendance Percentage (bar chart, 0-100% axis), Highest Lateness (hours), Attendance Status Distribution (pie chart). Each chart has a "View All" link.
"Report Details" table: Personnel Code · Full Name · Attendance Percentage · Lateness (hours) · Leave Days · Overtime (hours) · Unapproved Overtime. The "Unapproved Overtime" column is shown separately so the manager knows how much recorded overtime cannot yet be counted in the payslip.
"Overtime Requests"
Columns: # · Employee · Overtime Date · Overtime (hours) · Reason · Status · Actions. Five actions in the Actions column: Delete · Edit · Cancel · Reject · Approve. The initial status of a request is "Pending Approval."
The distinction between "Cancel" and "Reject" is deliberate: cancel is the requester's action, and reject is the approver's action.
Leave Management
Leave is built on three layers, and their order is the key to correct configuration: Leave Types (what kinds of leave do we have?) → Leave Policies (how much and how does each type accrue?) → Leave Balance (what is each employee's remaining balance?) → Leave Requests (who took leave and when?).
"Leave Types"
Columns: # · checkbox · Name · Code · Color · Paid · Carries Over to Next Period · Requires Approval · Minimum Advance Notice (days) · Active · Actions. The "Paid" column has a two-state chip and determines whether the leave is deducted from the payslip or not. "Minimum Advance Notice (days)" means how many days in advance the employee must submit the request (common values are 0, 1, and 7).
"Leave Policies"
Columns: # · checkbox · Name · Leave Type · Monthly Accrual Rate · Maximum Annual Accrual · Allow Negative Balance · Count Holidays · Convert to Cash · Active · Actions. A common example: a monthly accrual rate of 2.5 and a maximum annual accrual of 30 — the standard pattern for Iran's statutory annual leave.
| Key | Effect |
|---|---|
| Allow Negative Balance | The employee can take leave beyond their balance and go into deficit |
| Count Holidays | Whether public holidays within the leave range are deducted from the balance |
| Convert to Cash | The remaining balance at the end of the period is cashed out |
"Leave Balance"
An operational page with a search bar (Employee · Year · Month) and three action cards:
| Card | System Description |
|---|---|
| Run Monthly Accrual | Monthly accrual is not automatic and must be run manually each month. Running it again for the same period is safe and does not add a duplicate amount. |
| Adjust Balance | Manually add to or deduct from an employee's leave balance |
| Carry Leave to Next Year | Carries the balance forward to the next period |
The most important operational point in this module: monthly leave accrual is periodic and must be run manually. Put it on the monthly checklist. Until the "Run" button is clicked, employees' leave balances are not updated.
"Leave Requests" columns: # · Employee · Leave Type · Start Date · End Date · Days · Status · Actions. The approval flow is similar to overtime, and is tied to the "Time-off Requests" and "Approve Time-off Requests" permissions.
Payroll
"Payroll Periods"
Columns: # · Name · Year · Month · Start Date · End Date · Status · Actions. Three statuses:
| Status | Meaning |
|---|---|
| Draft | The period has been created but not calculated |
| Approved | Calculation has been performed and approved |
| Locked | The period is closed and cannot be changed |
The Actions column has two icons: Document (the period's accounting document) and Lock. Recommended workflow: after "Calculate Payroll" and before approving the period, review the gross total and the number of payslips generated. Also keep the format of the Year column value consistent across all periods so the period list remains comparable.
"Payroll Elements"
The building blocks of the payslip: earnings, benefits, deductions. Columns: # · checkbox · Name · Code · Type · Fixed Amount · Order · Has Formula · System Element · Status · Actions.
| Column | Meaning |
|---|---|
| Type | Chip — Earning, Benefit, or Deduction |
| Fixed Amount | A fixed monthly amount, if the element is not formula-based |
| Order | The order in which it is applied during calculation; this matters because later elements may depend on the result of earlier ones |
| Has Formula | Formula-based elements are calculated from hours worked and the base amount |
| System Element | Default system elements that cannot be deleted |
Two buttons at the top of the page: "Add Payroll Element" and "Generate with AI" (generating an element with the help of the system's AI assistant) — the same pattern also seen in document templates: AI as a configuration assistant, not a replacement for your own review.
"Payslip"
A selection-dependent page: Employee + Period + Search button. Before a selection is made, an empty state is shown: "Select an employee and a period to view the payslip." This design is deliberate — the payslip is sensitive data and should not be displayed as an open list.
"Legal Policies"
Labor-law and insurance parameters, broken down by country. Columns: # · checkbox · Country Code · Name · Employee Insurance Contribution Rate · Employer Insurance Rate · Overtime Multiplier · Salary Cap Subject to Insurance · Tax Formula · Active · Actions.
| Parameter | Role in Calculation |
|---|---|
| Employee Insurance Contribution Rate | The insurance share deducted from the employee's salary |
| Employer Insurance Rate | The insurance share borne by the organization |
| Overtime Multiplier | The multiplier applied to the hourly wage for overtime hours |
| Salary Cap Subject to Insurance | The maximum amount subject to insurance deduction |
| Tax Formula | The formula for calculating payroll tax |
For Iran, the overtime multiplier is 1.4, per Article 59 of the Labor Law (40% added to the hourly wage).
Setup prerequisite: to calculate payroll tax, a tax formula must be defined in the legal policy. The "Tax Formula" column shows whether this formula has been defined for each policy; put it on every organization's setup checklist.
Contract and Orders
- "Contract Templates" — template name, template code (TPL-00xx pattern, automatic), target contract type (Permanent, All Types, or other types such as Temporary, Probationary, Part-time), status, creation date. Actions: Delete · Render / Generate from Template · View · Edit.
- "Employee Contract List" — personnel code, full name, contract type, start date, end date, status, actions (view, void). The value "Unlimited" in the end date field is used for permanent contracts.
- "Personnel Orders" — the official document for changing employment terms: salary increase, promotion, transfer, position change. Columns: order number, personnel code, order type, effective date, status. Two buttons: "Create New Order" from scratch, and "Create Order from Contract," which populates the fields from an existing contract.
An order's lifecycle has five separate permissions that must be distinguished when defining roles: Submit for Approval · Approve · Activate · Cancel · Edit. In other words, the HR specialist writes the order, the manager approves it, and the order is automatically activated on its effective date.
Permissions in This Module
Human Resources has the system's broadest permission coverage. Related areas: employee record · centers · shift and work schedule · attendance and devices · time-off requests and their approval · contract and contract templates · personnel orders · policies · HR analytics · recruitment, performance evaluation, and training · expenses and benefits · disciplinary records and settlement · job structure and cost centers.
Important dedicated permissions: Orders (Submit for Approval · Approve · Activate · Cancel), Contract (Render Template), Attendance (Process Check-in/Check-out · Retrieve Attendance Summary; all or own only), Time-off Requests (Approve · Reject), Analytics (View HR Dashboard; all or own only).
The distinction between "all" and "own only" in the attendance and dashboard areas means an employee can see only their own hours worked, while a manager can see the entire team's. This is the foundation of the "Employee Portal."
Sample Workflows
Initial HR Setup
Centers → Legal Policies (insurance rate, overtime multiplier, cap, tax formula) → Shift Management → Leave Types and Policies → Payroll Elements → Contract Templates → create a person with the "Employees" role → complete the employee record → create a contract → "Create Order from Contract."
Monthly Attendance Cycle
Generate the month's schedule → correct missed attendance entries with "Log Entry" or "Bulk Check-in" → check the Duplicates card → approve or reject overtime requests → process the attendance report and check the "Unapproved Overtime" column.
Monthly Leave Cycle
Leave Balance → run the monthly accrual (select year and month) → handle pending requests → if needed, adjust the balance to manually correct it.
Issuing a Payslip
Create the month's period (draft) → ensure the attendance and leave cycles are complete → run payroll calculation → review the gross total → approve the period → payslip (employee + period) → issue the accounting document → lock the period.
Giving an Employee a Raise
Personnel Orders → create order from contract → set the order type, new amounts, and effective date → submit for approval → manager approval → activation. The order takes effect on the payslip calculation as of its effective date.
Frequently Asked Questions
I created a person, but they're not in the employee list.
You have not added the "Employees" role in the person's form.
Employees' leave balances are not updating.
Monthly accrual is not automatic; it must be run each month from the "Leave Balance" page.
Is running the monthly accrual again dangerous?
No. The system itself specifies that running it again for the same period does not add a duplicate amount.
The night shift is not calculated correctly.
Turn on the "Night Shift" toggle in the shift definition.
I don't see anything on the check-in/check-out logging page.
An employee must first be selected; the page itself states this in the banner above the table.
Overtime was recorded but doesn't appear on the payslip.
Check whether the request has been approved; the "Unapproved Overtime" column in the attendance report shows exactly this.
The payslip won't open.
Both the employee and the period must be selected.
Tax is not calculated on the payslip.
Check that a tax formula is defined in "Legal Policies"; without it, payroll tax is not calculated.
I can't edit the payroll period.
Its status is "Locked."
What's the difference between a contract and a personnel order?
The contract is the primary document of the employment relationship; the order is the document that changes its terms during that relationship (salary increase, promotion, transfer).