# Employees, attendance and salaries in Irsaal water software

> Add staff, mark daily attendance, pay salary, advances and bonuses, work out late deductions and connect a fingerprint reader in Irsaal water.

- Product: Irsaal Water Delivery Software, by Irsaal Software
- Section: More modules
- Page: https://irsaalsystems.com/help/water-employees-and-attendance
- Last updated: 2026-09-25

**Employees & Attendance** in Irsaal Water Delivery Software keeps your staff records, marks who came to work, works out what each person has earned, and records salary, advances and bonuses as money going out of an account. The two menu items are **People → Employees** and **People → Attendance**. They belong to the **Employees & Attendance** module (on to start with; **Settings → Modules**) and to the plan add-on of the same name (on sale today with: Growth and Business). An employee here is a payroll record, not a login: riders sign in from **System → Riders**, and office staff get a login under **System → Users & Roles**.

## How do I add an employee?

1. Open **People → Employees** and press **Add Employee** (needs **Employees → Add**).
2. Fill in:
   - **Name** (required), **Position** (for example Rider, Helper, Plant Operator), **Phone** and **CNIC**.
   - **Paid on**: **Monthly Salary**, **Yearly Package**, **Daily Wages** or **Hourly Basis**. The **Rate** box relabels itself to "per month", "per year", "per day" or "per hour".
   - **Shift starts** and **Shift ends**. Leave them blank to use the business hours from **Settings → Attendance**.
   - **Joining date**, **Notes**, and **Fingerprint ID** if you use a fingerprint reader (below).
3. Press **Create**. "Employee added."

To change someone later, open them and press **Edit**, then **Save**. Untick **Still working here** for a person who has left: they show a **Left** badge, drop out of the attendance register, and keep their history. An employee who has been paid cannot be deleted ("Cannot delete … — it has pay history. Deactivate instead."). Many employees can come in at once through **Import Data**; see [Import customers from Excel into Irsaal water delivery software](https://irsaalsystems.com/help/water-import-data).

### What do the four pay bases mean?

| Paid on | How the person earns | Docked for lateness? |
| --- | --- | --- |
| **Monthly Salary** | A fixed salary each month. | Yes, if you switch it on under **Settings → Attendance**. |
| **Yearly Package** | An annual figure, divided by twelve for the month. | Yes, the same way. |
| **Daily Wages** | A wage for each day worked, taken from the attendance register. A short day still counts as one day. | No: they are paid only for the days worked. |
| **Hourly Basis** | The hours actually clocked. Marking someone Present opens their shift and checking them out closes and prices it. | No: they are paid only for the hours worked. |

A day's pay for a monthly or yearly employee is their monthly figure divided by 26 working days (a yearly figure is divided by 12 first). The **Employees** list shows each person's **Paid On**, **Rate**, **Per Month** and **Joined**. Hourly staff show a dash under **Per Month**, because an hourly rate has no monthly figure until hours exist.

## What does the Employees list show?

**Employees** ("Staff, payroll & attendance") opens on five figures: **Employees**, **Active**, **Monthly Payroll**, **Present Today** and **Shifts Open**. Below is one row per person with an **Open** button. **Attendance** (top right) opens the register.

## What is on an employee's ledger?

**Open** shows the **Employee Ledger**. The **Month** box and **Show** button choose which month everything on the page is about. On the left:

- The person's details, with **Edit**.
- Their wage card: **Rate**, **Monthly equivalent** (or, for daily and hourly staff, **Shifts this month** and **Hours worked**), **One day is worth** and **Earned this month**. For daily and hourly staff there is also **Clock in now** and, while a shift is running, **Clock out** with a time box.
- **This month**: **Present**, **Absent**, **Leave** and **Half** counts, the minutes **Late** and **Left early**, and **Deduction due**.

On the right are three tabs:

- **Work Log**: the shifts worked (**Date**, **In**, **Out**, **Hours**, **Rate**, **Earned**, **How**). A shift opened by mistake is removed with the bin button. A monthly employee's shifts are logged if anyone opens one but do not decide their pay.
- **Attendance**: the register for the month (**Date**, **Status**, **In**, **Out**, **Worked**, **Punctuality**, **Deducted**, **Marked**), with **Mark attendance**.
- **Salary & Advances**: **Salary**, **Advances**, **Bonus** and **Deducted** for the month, then every payment (**Date**, **Type**, **Description**, **Account**, **Amount**) and the **Net**.

## How do I pay a salary, advance or bonus?

1. On the employee's ledger press **Add Payment** (needs **Employees → Salary / Advance Entry**).
2. Choose the **Type**: **Salary**, **Advance**, **Bonus** or **Deduction**.
3. The **Amount** is filled in with what the month came to. Change it freely. Set the **Date**, choose **Paid from** (the account the money comes out of) and add a **Note** such as "Salary for September 2026".
4. If the month has an attendance deduction, a tick box reads "Also post this month's attendance deduction of Rs. …". It applies only to a **Salary** payment.
5. Press **Record**.

A **Salary**, **Advance** or **Bonus** takes the money out of the account you chose (the default cash account if you leave it), and it shows in **Accounts → Transactions**. A **Deduction** only records a deduction and moves no money. With the tick box ticked, the deduction is posted as its own line ("Attendance for September 2026: 2 late, 0 early, 1 absent"), so the payslip shows the gross pay, the docking and the reason separately.

## How do I mark attendance?

1. Open **People → Attendance** (needs **Employees → Mark Attendance**). The page is headed **Attendance** ("Mark the register — arrival, departure, and what the lateness costs").
2. Pick the day with the date box. **All present** ticks everyone as present in one press, and you then change only the exceptions.
3. For each active employee choose the **Status**: **Present**, **Absent**, **Leave** or **Half Day**. Type **Check In** and **Check Out** as times such as 09:15 and 18:00.
4. Press **Save Attendance**. The message says, for example, "Attendance saved for 8 employee(s) on 25 Sep 2026. 2 late arrival(s)."

The bar above the register shows the rules in force (shift hours, grace, and how late and early are treated), with **Change these** opening **Settings → Attendance**. Four figures show the month so far. A yellow box, **Shifts still running from an earlier day**, lists anyone clocked in and never clocked out; close them on the employee's ledger with the time they really left, because a shift left open is not billed until somebody says when it ended.

Saving a mark does three things. It **stamps** who marked it and when (switchable with **Stamp every mark** in **Settings → Attendance**). It **works out lateness** under today's rules and stores it on that day, so widening the grace period later does not restate a settled month. And it **drives the wage clock** for daily and hourly staff: Present or Half Day with a check-in opens the shift, a check-out closes it, and Absent or Leave drops a shift that is still open. A shift already closed is never reopened or moved.

**Nothing is docked from anybody's pay on this screen.** The figure is stored, then offered as a tick box on the salary form.

### How are late arrivals and absences worked out?

- Only **Monthly Salary** and **Yearly Package** staff are docked. Daily and hourly staff are already paid only for the time they worked.
- The **Grace period (minutes)** comes off both ends of the day: nobody is late until they are that late.
- **Late** and **Early** are each switched on separately under **Settings → Attendance → Late & early deductions**, and each is charged one of four ways: **Pro rata — only the minutes missed**, **A fixed amount, however late**, **Half a day's pay** or **A full day's pay**.
- An absence costs one day's pay while **Dock a full day** for an absence is on (it is on to start with). **Leave** costs nothing.
- However the rules add up, a day never costs more than one day's pay.
- The minutes are recorded even where deductions are off, so you still see who was late.

## How does the attendance reminder work?

Under **Settings → Attendance → Attendance reminder**, switch on **Remind whoever is on the system that today's register is not marked** and choose **Start reminding from** (09:30 to start with), a **Sound** (**Chime**, **Bell**, **Beep** or **Silent**) and the **Volume**; **Test** plays it without saving. After that time, anyone using the panel is reminded that staff are unmarked or that a shift is still running from an earlier day. The reminder never marks anybody for you.

## How do I connect a fingerprint reader?

1. Give each employee their **Fingerprint ID**: the number that person is enrolled under on the reader. It must be unique in your business ("Another employee already has that fingerprint ID.").
2. In **Settings → Attendance → Biometric attendance**, switch on **Accept marks from a fingerprint device**, press **Generate** to make a **Device key**, paste that key into the reader, and press **Save Settings**.
3. Point the reader at the **Endpoint** shown there (your address followed by `/api/attendance/punch`). It sends a POST with the key (in an `X-Device-Key` header, or as `key`), the person's `biometric_id`, and optionally `at` (the time) and `direction` (`in` or `out`).

No fingerprint ever reaches the software: the reader matches the finger itself and sends only the number. The first punch of a day is the arrival and a later one moves the departure. Two arrivals on one day keep the earliest, and a device that sends the same punch twice still gets a sensible register. These marks show **Fingerprint device** in the **Marked** column. The reader is answered with one of these errors when something is wrong: "Unrecognised device." (wrong or missing key), "Biometric attendance is switched off.", "No employee carries the biometric ID …", "… has left.", or, if two businesses typed the same key by hand, a message asking you to generate a new one.

## Which reports cover staff?

**Insights → Reports** has the **Employees Report** (each person's wage basis, what they earned and what was paid out) and the **Attendance Report** (who came in, when, how late and what it cost). See [Reports in Irsaal water delivery software: which one answers what](https://irsaalsystems.com/help/water-reports).

## Frequently asked questions

### How do I add an employee and set their salary in Irsaal?

Open **People → Employees → Add Employee**. Type the name, choose **Paid on** (for example **Monthly Salary**), enter the **Rate**, and press **Create**.

### How do I mark attendance for my staff?

Open **People → Attendance**, choose the day, set each person's **Status** and their **Check In** and **Check Out** times, and press **Save Attendance**. **All present** fills the whole list in one press.

### Does Irsaal cut salary for late arrivals automatically?

No. Lateness and absence are worked out and stored when you save the register, but nothing is docked until you tick the attendance deduction on the salary form when you pay. Late and early deductions are off until you switch them on under **Settings → Attendance**, and an absence costs one day's pay unless you switch that off.

### Are daily and hourly workers docked for being late?

No. They are paid only for the days or hours worked, so the software never deducts again for the same time.

### How do I pay an advance to an employee?

On the employee's ledger press **Add Payment**, choose **Advance**, enter the amount and the account it comes out of, and press **Record**. It shows under **Salary & Advances** and in **Accounts → Transactions**.

### Does an employee get a login to the software?

No. An employee is a payroll record only. Riders get an app login under **System → Riders**, and office staff get one under **System → Users & Roles**.

### Staff ki hazri aur tankhwah kahan lagti hai?

"People → Attendance" mein din chun kar har banday ka Status (Present, Absent, Leave, Half Day) aur Check In/Check Out likhein aur "Save Attendance" dabayen. Tankhwah "People → Employees" mein us banday ko "Open" karke "Add Payment" se dein: Type mein Salary, Advance, Bonus ya Deduction chunen. Late ki katauti apne aap nahi kat'ti, aap salary form par tick lagate hain.

### Can a fingerprint machine mark attendance?

Yes. Give each employee a **Fingerprint ID**, switch on **Accept marks from a fingerprint device** under **Settings → Attendance**, generate a **Device key**, and set the reader to send its punches to the **Endpoint** shown there.

## Khulasa (Roman Urdu)

"People → Employees" mein staff ka record banta hai: naam, position, "Paid on" (Monthly Salary, Yearly Package, Daily Wages ya Hourly Basis) aur Rate. Roz ki hazri "People → Attendance" mein Status aur Check In/Out likh kar "Save Attendance" se lagti hai. Late ya jaldi jane ki katauti aur ghair hazri ka hisaab register save karte waqt nikal kar rakh liya jata hai, magar tankhwah se tab kat'ti hai jab aap salary dete waqt "Add Payment" mein deduction ka tick lagate hain. Daily aur hourly staff ki late par katauti nahi hoti, woh sirf kaam ke din ya ghante ke paise paate hain. Salary, Advance aur Bonus account se paisa nikalte hain. Fingerprint machine ke liye "Settings → Attendance → Biometric attendance" mein Device key banayen aur har employee ka "Fingerprint ID" likhein.

---

Source: https://irsaalsystems.com/help/water-employees-and-attendance — Irsaal Help Center (https://irsaalsystems.com/help).
