# Employee Module — User Guide

This guide explains the **Employee** module in everyday language.  
You do not need technical knowledge to follow it.

> বাংলা ভার্সন: [`EMPLOYEE_MODULE_GUIDE_BN.md`](./EMPLOYEE_MODULE_GUIDE_BN.md)

---

## 1. What is this module?

The Employee module is your company’s **digital employee file**.

It helps HR (and other authorized people) to:

- Keep a full record for each employee
- Update personal, job, salary, bank, and document details
- See who reports to whom
- Track career events over time (joining, transfer, manager change, etc.)
- See how complete each employee’s file is

**Important:** Everything is tied to your **current company**. You only see employees of that company.

---

## 2. Who should use it?

| Role | Typical use |
|------|-------------|
| HR / Admin | Create and maintain full employee files |
| Managers | View team info (depending on permission); add notes if allowed |
| Employees | Update their **own** limited personal/job details (if given permission) |

What you can see or change depends on the **permissions** assigned to your login. If a button or tab is missing, ask your admin to check your role.

---

## 3. Before you start (prerequisites)

For a smooth setup, these should already exist in the system:

1. An **active user account** for the person (login), marked as an employee-type user in the company  
2. **Master data** from Configuration (as needed):
   - Departments  
   - Designations (job titles)  
   - Employment types (e.g. Full-time, Contract)  
   - Salary structures  
   - Document types (for HR files)

Without these, some steps (job placement, salary, documents) cannot be completed.

---

## 4. Main screens

| Screen | What it is for |
|--------|----------------|
| Employee list | Search and browse all employees |
| Setup / Create | Start a new employee profile |
| View profile | Read-only look at an employee |
| Edit profile | Update sections of the employee file |

Profile is organized in **sections** (tabs), such as Personal, Contact, Address, Employment, Salary, Bank, Documents, and more.

---

## 5. Setting up a new employee (step by step)

Think of this as opening a new HR file.

1. Make sure the person already has a **company login** that is not linked to another employee profile.  
2. Open **Setup Employee Profile**.  
3. Choose that user and fill **Personal information** (employee number, name, date of birth, etc.).  
4. Add **Contact** details (emails, phones, emergency contact).  
5. Add **Address** (present and/or permanent).  
6. Add **Identity documents** (NID, passport, etc.) if required.  
7. Add **Employment** details (joining date, employment type, probation, status).  
8. Place them in the organization: **Department** and **Designation**.  
9. Optionally add: bank, salary, tax, education, past experience, documents, assets, managers, notes.

As you fill the required sections, the **profile completion %** goes up.

---

## 6. Profile completion — what it means

The system shows how “complete” an employee file is.

**Counts toward a complete core profile:**

- Personal  
- Contact  
- Address  
- Identities  
- Employment  
- Organization (department & designation)

**Helpful but not required for completion:**

- Bank  
- Salary  

**Do not count toward completion:**

- Education  
- Documents  

A high percentage means the employee’s core HR file is in good shape.

---

## 7. Each section explained

### 7.1 Personal information

This is the foundation of the employee record.

**Typical fields**

| Field | Meaning |
|-------|---------|
| Linked user | The login account this profile belongs to |
| Employee number | Unique staff ID inside the company |
| Preferred name | Name used day-to-day |
| Status | Usually Active (HR controls this) |
| Photo | Profile picture |
| Profile completion % | How complete the file is |

**Rules in plain language**

- Employee number must be unique in the company.  
- One login user can have only **one** employee profile in a company.  
- The linked user must be an **active employee-type** user.  
- Photo: common image types (jpg, png, webp), size limit around 2 MB.  
- Date of birth cannot be in the future.  
- Employees updating their **own** profile usually **cannot** change their status.

---

### 7.2 Contact information

How to reach the employee.

**Typical fields:** official email, personal email, mobile numbers, emergency contact name and phone.

**Rules**

- Only **one** contact record per employee.  
- Official email must be unique in the company.  
- Mobile number is usually unique in the company.  
- Emergency phone should not be the same as the employee’s own mobile.

---

### 7.3 Addresses

Where the employee lives.

**Types**

- **Present** — current residence  
- **Permanent** — legal / home address  

**Rules**

- Only one present and one permanent address.  
- Address line 1 is required.  
- When creating a present address, you can copy it as permanent (“same as present”) if permanent does not already exist.

---

### 7.4 Identities (ID documents)

Government or official IDs attached to the employee.

**Common types:** NID, Passport, Birth certificate, Driving license.

**Rules**

- Document number is usually unique for that type within the company.  
- Expiry date cannot be before the issue date.  
- You can attach a scan (pdf / image).  
- Removing an ID typically **archives** it rather than casually wiping history.

---

### 7.5 Employment

The job relationship with the company.

**Statuses you may see**

- Probation (often the default)  
- Confirmed  
- Active  
- Resigned  
- Terminated  

**Work modes:** Onsite, Remote, Hybrid.

**Rules**

- One employment record per employee.  
- Confirmation date cannot be before joining date.  
- Probation end can be typed in, or calculated from a period (days / weeks / months) after joining.  
- Probation end cannot be before joining.  
- Employment type must come from the company’s active master list.  
- Employees editing their own profile usually **cannot** change employment status.  
- Status changes are recorded in activity history.

---

### 7.6 Organization assignment (department & designation)

Where the person sits in the company structure.

**You set**

- Department (required)  
- Designation / job title (required)  
- Effective dates  
- Reason (required when transferring)

**How it works**

- There is only **one current** placement.  
- First time → **Create** assignment.  
- Later move → use **Transfer** (do not create a second “current” one).  
- Transfer closes the old placement and opens the new one, keeping history.  
- Transfer date cannot be earlier than when the current placement started.  
- Same-day transfer is allowed.

Some advanced fields (branch, team, grade, cost center, etc.) may not be available yet until those masters are ready.

---

### 7.7 Reporting managers & team leads

Who the employee reports to.

**Two relationship types**

| Type | Meaning |
|------|---------|
| Reporting Manager | Formal line manager |
| Team Lead | Team lead (can be more flexible) |

**What you can do**

- **Assign** a manager / team lead  
- **Change** the current one  
- **End** the relationship without replacing  
- View current and past history  

**Rules**

- Employee and manager must be in the **same company**.  
- A person cannot be their own manager.  
- Circular reporting is not allowed (A reports to B, B reports to A…).  
- End date cannot be before start date.  
- When changing, the new manager must be different, and the change date cannot be before the current relationship started.  
- Usually only **one current reporting manager** is allowed.  
- Multiple **team leads** may be allowed.  
- If a current reporting manager already exists, use **Change**, not Assign.  
- Assign / change / end is written to the employee **timeline**.

---

### 7.8 Bank accounts

Bank details used for payroll or payments.

**Typical fields:** bank name, branch, account name, account number, routing number, mobile banking info, “primary” flag.

**Rules**

- The first account is treated as primary if none exists.  
- Marking one as primary clears primary from the others.  
- If you delete the primary account, another remaining account becomes primary.  
- Account numbers may be partly hidden when shown.  
- Create / update / delete may need **approval** before they become final. You might see a “pending approval” state instead of an instant save.

---

### 7.9 Salary

Pay information and history.

**Salary types:** Gross, Basic, Hourly, Contract.  
**Payment frequencies:** Daily, Weekly, Bi-weekly, Monthly.  
**Status:** Active or Inactive.  
**Currencies:** commonly BDT (default), plus others such as USD, EUR, etc.

**Rules**

- Needs an active **salary structure** from Configuration.  
- If that structure requires basic salary, basic must be filled.  
- Basic cannot be higher than gross; amounts must be positive when entered.  
- Effective date cannot be before the employee’s joining date (employment must exist first).  
- Making one salary **Active** automatically turns other active salaries for that person **Inactive**.  
- Viewing salary often needs a special **view salary** permission.

---

### 7.10 Tax profile

Tax identity details for the employee.

**Typical fields:** TIN, tax zone, tax circle, tax exemption flag, remarks.

**Rules**

- Only **one** tax profile per employee.  
- Create once; later updates edit that same record.

---

### 7.11 Education

Degrees, certificates, and study history.

**Typical fields:** degree, institution, board/university, major, passing year, result, PDF attachment.

**Rules**

- Passing year cannot be in the future.  
- Attachment: PDF only, size limit around 2 MB.

---

### 7.12 Experience (previous jobs)

Work history before (or outside) the current company.

**Typical fields:** company name, designation, department, joining and resignation dates, responsibilities, PDF attachment.

**Rules**

- Resignation date cannot be before joining date.  
- Attachment: PDF only, size limit around 2 MB.

---

### 7.13 Documents (HR file library)

Official HR files stored against the employee (offer letter, contract, certificates, etc.).

**What you can do**

- Upload  
- Preview / download  
- Replace with a newer file (versioning)  
- See version history  
- Delete a version  

**Rules**

- Document type must be an **active** company document type.  
- If the type **requires expiry**, you must enter an expiry date.  
- **Restricted** document types need special permission to view or upload.  
- Replace only applies to the **current** version; older versions stay in history.  
- Deleting the current version makes the latest remaining version current.  
- Allowed files are typically pdf, images, and Word docs; size limit around 5 MB.

---

### 7.14 Assets

Company property given to the employee (laptop, phone, ID card, etc.).

**What you can do**

- Assign one or more assets (name, code, assigned date)  
- Later mark as returned / damaged / lost (with remarks)  

**Rules**

- The same asset code cannot be assigned to two people at the same time.  
- Assigned date cannot be in the future.  
- Only currently assigned assets can be returned.  
- Returning makes the asset available again in inventory.  
- Assign and return are recorded on the timeline.

---

### 7.15 Notes (internal)

Private HR or manager notes about the employee.

**Who can see a note (visibility)**

| Visibility | Who can read it |
|------------|-----------------|
| Private | Only the author |
| HR | Author + people with create or update employee rights |
| Manager | Author + people with update employee rights |

**Rules**

- Creating a note adds a timeline event.  
- Edit/delete is limited to the author (with permission) or appropriate HR users.  
- Optional attachment (pdf / image / Word), size limit around 5 MB.

---

### 7.16 Timeline

A chronological story of the employee’s HR journey.

**Event types you may see**

Join, Confirmation, Transfer, Promotion, Manager Change, Document Upload, Note Created, Asset Assigned, Asset Returned, Resignation, Termination, Other.

**How events appear**

- Some are created **automatically** (e.g. manager change, asset assign/return, note).  
- You can also add events **manually** (title, type, and date required).

---

### 7.17 Branches (company locations)

Master list of company locations (head office, factory, warehouse, sales office, etc.).

Used as company setup data. Branch name must be unique; inactive/archived branches are kept rather than hard-deleted.

---

## 8. Common day-to-day workflows

### Transfer an employee to another department / title

1. Employee must already have a current organization assignment.  
2. Use **Transfer**.  
3. Choose new department and designation, effective date, and reason.  
4. Old placement closes; new one becomes current; history is kept.

### Change reporting manager

1. If none exists → **Assign**.  
2. If one already exists → **Change**.  
3. If the link should stop with no replacement → **End**.  
4. Timeline records the change.

### Change salary

1. Employment (joining date) must exist.  
2. Choose an active salary structure.  
3. Create a new active salary → previous active becomes inactive.  
4. Or deactivate a salary when it should no longer apply.

### Replace an HR document

1. Upload against the correct document type.  
2. Later use **Replace** for a new version.  
3. Old file stays in history; new one becomes current.

### Assign and return an asset

1. Assign asset(s) with a date.  
2. When done, return as returned / damaged / lost.  
3. Timeline and asset availability update automatically.

### Update bank details

1. Submit create / update / delete.  
2. If approvals are turned on, wait for approval before the change is final.

---

## 9. Permissions (who can do what)

All users must be logged in. Exact access depends on role.

| Permission (concept) | In plain language |
|----------------------|-------------------|
| Employee menu / view | Open the Employee area, list people, view most profile sections |
| Create | Set up new employee data and related records |
| Update | Change or remove most employee data |
| Update own profile | Employee can edit **their own** limited personal / employment fields (not status) |
| View bank | See bank section |
| View salary | See salary section |
| View documents | List, preview, download documents |
| View restricted documents | Access sensitive / restricted document types |

**Simple matrix**

- Browse list and view profile → view permission  
- Create new employee → create  
- Edit most sections → update  
- Own limited edits → update own profile  
- Bank / salary visibility → extra view permissions  
- Restricted files → restricted documents permission  

---

## 10. Field glossary (quick reference)

| Term | Meaning |
|------|---------|
| Employee number | Unique staff ID in the company |
| Preferred name | Informal / preferred display name |
| Official email | Company email (unique) |
| Present / permanent address | Current home vs legal home |
| Joining date | First day of employment |
| Confirmation date | When probation ends / employment is confirmed |
| Probation | Trial period at the start of employment |
| Employment status | Probation → confirmed/active → resigned/terminated |
| Work mode | Onsite / remote / hybrid |
| Department / designation | Team placement and job title |
| Effective from / to | When an assignment or manager link is valid |
| Is current | Whether this is the active record (vs history) |
| Change reason | Why a transfer happened |
| Reporting manager / team lead | Formal boss vs team lead |
| Salary structure | Company pay template |
| Gross / basic salary | Total pay vs basic component |
| Primary bank account | Default account for pay |
| TIN / tax zone / circle | Tax identity and tax office mapping |
| Restricted document | Sensitive file for special roles only |
| Document version | Older and newer copies of the same file |
| Asset code | Unique ID for company property |
| Note visibility | Who may read an internal note |
| Profile completion % | How complete the employee file is |

---

## 11. What must be set up in Configuration first?

| Master data | Needed for |
|-------------|------------|
| Departments | Organization assignment |
| Designations | Organization assignment |
| Employment types | Employment section |
| Salary structures | Salary section |
| Document types | Employee documents (including restricted / expiry rules) |

Also ensure the person has an **active employee user** in Auth / Users before you create their employee profile.

---

## 12. Common problems (and what they usually mean)

| What you see / feel | Likely meaning |
|---------------------|----------------|
| Cannot find a user when setting up | User is missing, inactive, not employee-type, or already linked to a profile |
| Cannot save department / designation | Master not created, or not active |
| Cannot create organization again | Current assignment already exists — use Transfer |
| Cannot assign reporting manager | Current manager already exists — use Change; or same-person / circular reporting |
| Salary effective date rejected | Date is before joining, or employment not created yet |
| Document upload rejected | Wrong file type, too large, missing expiry, or restricted type without permission |
| Bank change not visible yet | Waiting for approval |
| Tab or section missing | Your role does not have that permission |
| Profile % stuck low | Core sections (personal, contact, address, identity, employment, organization) still incomplete |

---

## 13. What you may see in the product today vs later

**Usually available in the product screens**

- Employee list, setup, view/edit profile  
- Personal, Contact, Address, Identities, Employment  
- Salary, Bank, Education, Experience  
- Assets, Notes, Timeline, Documents  

**Available in the system, may appear as dedicated screens later**

- Organization assignment create / transfer  
- Reporting manager assign / change / end  
- Tax profile  
- Branch management  

If a feature is described here but you do not see a button yet, it may be handled by HR operations through another channel or coming in a later UI update.

---

## 14. Quick checklist for HR

**New joiner**

- [ ] Active employee user exists  
- [ ] Personal info created (unique employee number)  
- [ ] Contact + address + identities  
- [ ] Employment (joining date, type, status)  
- [ ] Department + designation  
- [ ] Reporting manager (if applicable)  
- [ ] Bank + salary (if payroll ready)  
- [ ] Required documents uploaded  
- [ ] Assets assigned (if any)  
- [ ] Profile completion checked  

**Employee leaves or transfers**

- [ ] Update employment status (resigned / terminated) when leaving  
- [ ] Transfer organization assignment when moving internally  
- [ ] Change or end reporting manager  
- [ ] Return company assets  
- [ ] Keep documents and timeline intact for records  

---

## 15. Summary

The Employee module is the company’s living HR file for each person: who they are, how to reach them, where they work, who they report to, how they are paid, what documents and assets they have, and what happened along the way.

Fill the **core sections** first, keep **Configuration masters** up to date, and use **Transfer / Change / End** instead of creating duplicate “current” records. That keeps history clean and profiles complete.
