# অ্যাটেনডেন্স (Attendance) মডিউল — ব্যবহারকারী গাইড

এই গাইড তাদের জন্য যারা পাঞ্চ, হাজিরা, ছুটি, কারেকশন, মাসিক ক্লোজ বা কনফিগ করেন — কোড জানার দরকার নেই।

পড়ার পর: মেনু কোথায়, কোন অর্ডারে কাজ, Approve কীভাবে, সাধারণ প্রশ্ন (FAQ)।

শর্টকাট:

> **Types + Shifts + Policies (+ Policy Groups) → Assignment → প্রতিদিন Punch → Records → (Correction / Leave + Approval) → Jobs দরকারমতো → Monthly Build/Approve → Payroll Freeze।**

সম্পর্কিত: [Employee](../employee/EMPLOYEE_USER_GUIDE_BN.md) · [Payroll](../payroll/PAYROLL_USER_GUIDE_BN.md) · [Approval Workflows](../approval/APPROVAL_WORKFLOW_USER_GUIDE_BN.md) · [Approval Settings](../approval/APPROVAL_SETTINGS_USER_GUIDE_BN.md) · [Approval Requests](../approval/APPROVAL_REQUEST_USER_GUIDE_BN.md)

টেকনিক্যাল বিস্তারিত (ঐচ্ছিক): [`ATTENDANCE_MODULE_GUIDE_BN.md`](./ATTENDANCE_MODULE_GUIDE_BN.md)

---

## ১. গল্পটা এক নজরে

```text
Config: Types → Shifts → Policies → Policy Groups → Assignments → Settings
   ├── Punch (My Attendance)
   ├── Daily Attendance Records (+ recalculate / export)
   ├── Corrections → Correction Approvals  (platform workflow থাকলে Inbox)
   ├── Leave: Balances → Requests → Leave Approvals
   ├── Jobs: Close Day / Accrual / Carry-forward / Unassigned
   └── Monthly Approval (Build → Approve/Bulk → Unlock)
            └── Payroll Monthly Freeze → Payroll Run
```

কর্মী **Employee**-এ Active না থাকলে বা **Assignment** না থাকলে পাঞ্চ/রেকর্ড আটকে যায় বা ভুল হয়।

---

## ২. UI ম্যাপ — মেনু ও URL

সাইডবার / হোম থেকে **Attendance** খুলুন (`attendance.menu-view`)।

### ২.১ হোম (`/attendance`)

| কার্ড / ব্লক | কোথায় যায় | কী দেখে |
|--------------|-------------|---------|
| Today Attendance | — | নিজের আজকের হাজিরা |
| Company Summary | — | কোম্পানি সামারি (পারমিশন থাকলে) |
| Configuration | `/attendance/config` | Types, Shifts, Policies… |
| Punches | `/attendance/punch` | পাঞ্চ ইন/আউট |
| Attendance Records | `/attendance/attendance-records` | দৈনিক রেকর্ড |
| Corrections | `/attendance/corrections` | কারেকশন আবেদন |
| Leave Balances | `/attendance/leave/balances` | ছুটির ব্যালেন্স |
| Monthly Approval | `/attendance/monthly-approval` | মাস ক্লোজ |

বাটন/কার্ড না দেখলে → **পারমিশন** ইস্যু (অ্যাডমিনকে বলুন)।

### ২.২ Configuration ট্যাব

পথ: **Attendance → Configuration**

| ট্যাব | URL (উদাহরণ) | কাজ |
|-------|--------------|-----|
| Attendance Types | `/attendance/config?tab=types` | Present/Absent/Leave… মাস্টার |
| Shifts | `?tab=shifts` | কাজের সময়সূচি |
| Policies | `/attendance/config/policies` | Leave / Holiday পলিসি |
| Policy Groups | `/attendance/config/policy-groups` | পলিসি বান্ডেল + Apply |
| Assignments | `/attendance/config/assignments` | কর্মীতে Shift+Policy লাগানো |
| Settings | `?tab=settings` | Correction window (দিন) |

### ২.৩ অন্যান্য স্ক্রিন (দ্রুত রেফারেন্স)

| স্ক্রিন | পথ |
|---------|-----|
| Bulk Assign | `/attendance/config/assignments/bulk` |
| Assignment Preview | `/attendance/config/assignment-preview` |
| Leave Requests | `/attendance/leave/requests` |
| New Leave | `/attendance/leave/requests/new` |
| Leave Approvals | `/attendance/leave/approvals` |
| Correction Approvals | `/attendance/corrections/approvals` |
| Jobs | `/attendance/jobs` |
| Monthly detail | `/attendance/monthly-approval/:id` |

### ২.৪ স্ক্রিন লেআউট — কোথায় কী (বাম / ডান / উপর)

পুরো অ্যাপ: **বাম সাইডবার** · **উপরের হেডার** (কোম্পানি/প্রোফাইল) · মাঝে পেজ।

#### Attendance হোম (`/attendance`)
| জায়গা | কী |
|--------|-----|
| উপর | Today Attendance / Company Summary কার্ড |
| নিচে গ্রিড | Configuration · Punches · Records · Corrections · Leave · Monthly Approval — কার্ডের নিচে “Open section” |

#### Configuration
| জায়গা | কী |
|--------|-----|
| শিরোনামের **নিচে** | ট্যাব স্ট্রিপ বাম→ডান: Types · Shifts · Policies · Policy Groups · Assignments · Settings |
| তালিকা পেজ **উপরের ডান** | New / Create (পারমিশন থাকলে) |
| Assignments | Bulk / Preview আলাদা রুট বা বাটন (লিস্ট হেডার/লিংক) |

#### Punch (`/attendance/punch`)
| জায়গা | কী |
|--------|-----|
| উপর/মধ্য | Punch In / Out প্রাইমারি বাটন |
| পাশে/নিচে | তারিখ সিলেক্ট + Punch Timeline |
| Ops | কর্মী সিলেক্টর (others পারমিশন) |

#### Records
| জায়গা | কী |
|--------|-----|
| উপর/বাম | ফিল্টার (তারিখ, কর্মী…) |
| উপর/ডান বা টুলবার | Export / Recalculate (পারমিশন) |
| টেবিল | সারি → ডিটেইল ড্রয়ার/পেজ |

#### Corrections / Leave
| জায়গা | কী |
|--------|-----|
| তালিকা **উপরের ডান** | New / Apply |
| Approvals কিউ | আলাদা মেনু/সাব-রুট; ডিটেইলে **Approve / Reject** সাধারণত **ডান** বা নিচের অ্যাকশন কার্ডে |
| Locked month | ডিটেইলের উপর ব্যানার |

#### Monthly Approval (`/attendance/monthly-approval`)
| জায়গা | কী |
|--------|-----|
| **উপরের ডান** | **Build Monthly Attendance** · চেক করলে পাশে **Bulk Approve (N)** |
| শিরোনামের নিচে | Month / Year / Status / Search ফিল্টার |
| টেবিল বাম | চেকবক্স |
| সারি | Status ব্যাজ · Unresolved পপওভার · ক্লিক → Detail |
| Detail পেজ | Approve / Unlock — ডিটেইল অ্যাকশন এলাকা (সাধারণত উপর বা ডান কার্ড) |

#### Jobs
| জায়গা | কী |
|--------|-----|
| উপর/ট্যাব | Close Day · Accrual · Carry-forward · Analytics |
| Manual run | প্যানেল/মোডাল → Progress ভিউ |

---


## ৩. কে কী করেন (রোল)

| কাজ | সাধারণত কে | প্রধান পারমিশন (সংক্ষেপ) |
|-----|------------|---------------------------|
| Config / Assignments / Settings | Attendance admin | `config-manage`, `types/shifts/policies…` |
| Policy Group Apply | Admin | `policy-group-view` (+ manage) |
| Punch | কর্মচারী | `punch-create` |
| অন্যের পক্ষে পাঞ্চ | Ops | `punch-create-others` |
| Records দেখা | Own / Team / All | `record-view-own\|team\|all` |
| Recalculate / Export | Ops | `record-recalculate` ইত্যাদি |
| Correction apply | কর্মচারী | `correction-create` |
| Correction approve | Manager | `correction-approve` (+ লক মাসে override) |
| Leave apply / balance | কর্মচারী / HR | `leave-apply`, `leave-balance-view` |
| Leave approve | Manager | `leave-approve` |
| Jobs | Admin / Ops | `jobs-view` |
| Monthly view / approve / unlock | Ops / Manager | `monthly-view`, `monthly-approve`, unlock পারমিশন |

> Approve বাটন দেখতে **পারমিশন** + (workflow চালু থাকলে) **আপনি approver list-এ** থাকতে হবে।

---

## ৪. একবার সেটআপ — ধাপে ধাপে

### ধাপ A — Employee প্রস্তুত
1. **Employee** মডিউলে কর্মী Active।  
2. Joining date ঠিক আছে কিনা দেখুন (মাসিক হিসাব join-এর পর থেকে)।

### ধাপ B — Attendance Types
1. **Attendance → Configuration → Attendance Types**।  
2. সিস্টেম টাইপ (present, absent, leave, weekend, late, missing_check_out…) অ্যাকটিভ আছে কিনা।  
3. দরকার হলে নতুন টাইপ / লেবেল এডিট।

### ধাপ C — Shifts
1. **Configuration → Shifts** → New / Edit।  
2. Start–End, working days, grace / break ফিল্ড অনুযায়ী ভরুন।  
3. Save।

### ধাপ D — Policies
1. **Configuration → Policies**।  
2. ট্যাব: **Leave** বা **Holiday**।  
3. New → নিয়ম (LeaveRule প্যানেল ইত্যাদি) → Save।  
4. পরে Assignment বা Policy Group দিয়ে কর্মীতে লাগান।

### ধাপ E — Policy Groups (ঐচ্ছিক কিন্তু সুবিধাজনক)
1. **Configuration → Policy Groups → New**।  
2. নাম, কোন পলিসিগুলো, **eligibility** (কে পাবে), কার্যকর তারিখ।  
3. Save।  
4. **Apply** পেজ: বিদ্যমান কর্মীতে apply / backfill → প্রিভিউ → রান → প্রোগ্রেস দেখুন।  

নতুন জয়েনারে eligibility মিললে অটো লাগতে পারে; পুরনোদের জন্য Apply চালান।

### ধাপ F — Assignments
1. **Configuration → Assignments**।  
2. New / Edit: স্কোপ (কর্মী…), **Shift**, Leave/Holiday policy, effective date।  
3. অনেককে একসাথে: **Bulk assign**।  
4. যাচাই: **Assignment Preview** — এক কর্মী + তারিখ → সেদিন কোন শিফট/পলিসি রেজলভ হচ্ছে।

### ধাপ G — Settings
1. **Configuration → Settings**।  
2. **Correction window (days)** — কত দিন পিছিয়ে correction আবেদন করা যাবে (১–৩৬৫)।  
3. Save।

> পলিসি বানিয়ে **অ্যাসাইন না করলে** সেই কর্মীর দিন হিসাব হবে না বা ভুল নিয়মে হবে।

---

## ৫. Punch (পাঞ্চ) — UI ফ্লো

পথ: **Attendance → Punches** (`/attendance/punch`) — “My Attendance”.

| ধাপ | কী করবেন |
|-----|----------|
| ১ | পেজ খুলুন — আজকের Punch In / Out দেখবেন |
| ২ | **Punch In** → কাজ শুরু; শেষে **Punch Out** |
| ৩ | তারিখ বদলে **Punch Timeline**-এ আগের দিনের ইভেন্ট দেখুন |
| ৪ | (Ops) `punch-create-others` থাকলে কর্মী সিলেক্ট করে অন্যের পক্ষে পাঞ্চ |

**মনে রাখুন:** পাঞ্চ = ইভেন্ট; দিনের সারাংশ = **Attendance Record** (টাইপ, লেট মিনিট, ওয়ার্কিং আওয়ার)।

এক দিনে একাধিক ইন/আউট থাকতে পারে।

---

## ৬. Attendance Records — UI ফ্লো

পথ: **Attendance → Attendance Records**.

| ধাপ | কী করবেন |
|-----|----------|
| ১ | তালিকা খুলুন — ফিল্টার: তারিখ রেঞ্জ, কর্মী, স্ট্যাটাস |
| ২ | একটি সারি ক্লিক → ডিটেইল (পাঞ্চ, টাইপ, পলিসি স্ন্যাপশট) |
| ৩ | **Export** (পারমিশন থাকলে) |
| ৪ | **Recalculate** (অপস) — বর্তমান পলিসি দিয়ে দিন আবার গণনা; ওভাররাইট হতে পারে — সতর্ক |

নিজের / টিম / সবার রেকর্ড — পারমিশন স্তর অনুযায়ী।

---

## ৭. Corrections — আবেদন ও অনুমোদন

ভুল Absent / লেট / মিসিং পাঞ্চ হলে ইতিহাস মুছবেন না — **Correction Request**।

### ৭.১ কর্মচারী — আবেদন

```text
Attendance → Corrections → New
        → তারিখ + কী ভুল + কী চাইছেন
        → Submit
        → My list-এ Pending
```

| ধাপ | UI |
|-----|-----|
| ১ | `/attendance/corrections` → **New** |
| ২ | তারিখ পিকার (Settings-এর window-এর ভিতরে) |
| ৩ | Original vs Requested দেখে Submit |
| ৪ | তালিকা/ডিটেইলে স্ট্যাটাস; নিয়মমতো **Cancel** |

### ৭.২ অ্যাপ্রুভার — Approve / Reject

```text
Attendance → Corrections → Approvals
        → কিউ থেকে একটি খুলুন
        → Day comparison / Locked month ব্যানার দেখুন
        → Approve  বা  Reject (+ নোট)
```

| নোট | মানে |
|-----|------|
| **লকড মাস** | Monthly approve/lock এর পর — `correction-override-lock` লাগতে পারে; কনফার্ম ডায়ালগ |
| Platform workflow ON | Approve করার পর / সাথে **Platform Approval Inbox**-এও ধাপ থাকতে পারে |
| Approve OK হলে | সেই দিনের Attendance Record আপডেট |

কোম্পানিতে workflow চালু থাকলে: **Platform → Approval Settings**-এ Attendance correction action ON + Workflow + আপনি step-এর approver।

---

## ৮. Leave (ছুটি) — ব্যালেন্স, আবেদন, অনুমোদন

### ৮.১ Leave Balances

পথ: **Attendance → Leave Balances** (হোম কার্ড) বা `/attendance/leave/balances`।

| কাজ | কী |
|-----|-----|
| তালিকা | কর্মী / পলিসি / বছর ফিল্টার |
| কর্মী ডিটেইল | `/leave/balances/:employeeId` — ব্যালেন্স + ইতিহাস |
| Manual adjust | অপস পারমিশন — লেজার এন্ট্রিসহ |

### ৮.২ Leave Request — কর্মচারী

```text
Leave Requests → New / Apply
    → টাইপ + তারিখ রেঞ্জ
    → Preview (দিন / ব্যালেন্স)
    → Submit → Pending
```

| ধাপ | UI |
|-----|-----|
| ১ | `/attendance/leave/requests` → New |
| ২ | Preview থাকলে দেখে Submit |
| ৩ | My list — pending / approved / rejected; ডিটেইল; Cancel (নিয়মমতো) |

### ৮.৩ Leave Approval — ম্যানেজার

```text
Attendance → Leave Approvals
    → কিউ ফিল্টার
    → ডিটেইল
    → Approve / Reject (+ কারণ)
```

পথ: `/attendance/leave/approvals` → `…/approvals/:id`।

অনুমোদিত ছুটি হাজিরা ও পরে Payroll ইনপুটে ধরা হয়।  
Workflow ON হলে Platform Inbox দিয়েও সিদ্ধান্ত হতে পারে।

---

## ৯. Jobs ও রিপোর্ট

পথ: **Attendance → Jobs** (`/attendance/jobs`) — পারমিশন লাগে।

| টুল | কী করে | UI টিপস |
|-----|--------|---------|
| **Close Day** | নির্দিষ্ট তারিখের দৈনিক রেকর্ড ক্লোজ/হিসাব | Manual run → Progress |
| **Leave Accrual** | ব্যালেন্স অ্যাক্রুয়াল | Impact মোডাল থাকতে পারে |
| **Carry-forward** | বছর শেষে ক্যারি | একইভাবে রান + প্রোগ্রেস |
| Analytics | ব্যাচ চলছে কি না | Overview প্যানেল |
| **Unassigned employees** | কোন দিনে শিফট রেজলভ হয়নি | Assignment ঠিক করুন |

জব চালানোর আগে Assignment Preview / Unassigned রিপোর্ট চেক করুন।

---

## ১০. Monthly Approval — বিস্তারিত UI ফ্লো

পথ: **Attendance → Monthly Approval** (`/attendance/monthly-approval`).

এই ধাপ **Payroll Freeze**-এর আগে বাধ্যতামূলক ধাপ হিসেবে ব্যবহার হয়।

### ১০.১ তালিকা স্ক্রিন

| কন্ট্রোল | কাজ |
|----------|-----|
| Month / Year | কোন মাস |
| Status | pending / approved / rejected / all |
| Search | কর্মী খোঁজা |
| Checkbox | বাল্ক সিলেক্ট |
| **Build** | মাসের সামারি তৈরি/রিফ্রেশ (ড্রয়ার) |
| **Bulk Approve** | সিলেক্টেড pending অনুমোদন (ড্রয়ার) |
| Row → Detail | কর্মীভিত্তিক সামারি |

স্ট্যাটাস ব্যাজ: Pending / Approved / Rejected।  
**Unresolved** ফ্ল্যাগ থাকলে পপওভারে ইস্যু লিস্ট (missing checkout, missing day, pending leave/correction)।

### ১০.২ Build (মাস বানানো)

```text
Monthly Approval → Build
    → মাস/বছর (+ কর্মী ফিল্টার থাকলে)
    → Run
    → প্রতি কর্মীর summary: present/absent/leave/late…
    → স্ট্যাটাস সাধারণত Pending (approved থাকলে rebuild ব্লক)
```

Approved সারি **rebuild করা যায় না** — আগে Unlock করতে হতে পারে।

### ১০.৩ একক Approve

```text
Detail → Approve
    → Unresolved থাকলে ব্লক (বা Override পারমিশন/ফ্লো)
    → Approved + records lock + payroll-ready ফ্ল্যাগ
```

কোম্পানিতে **platform workflow** চালু থাকলে Approve বাটন শুধু তখনই কাজ করে যখন:

1. আপনার `monthly-approve` (বা সংশ্লিষ্ট) পারমিশন আছে, এবং  
2. Open approval request-এ আপনি **active approver**, এবং/অথবা  
3. Attendance মডিউলের নিজস্ব Approve এক্সিকিউট হয় (সেটিং অনুযায়ী)।

### ১০.৪ Bulk Approve

তালিকায় চেক → **Bulk Approve** → কনফার্ম → সফল/ফেল তালিকা।  
Unresolved থাকলে অনেক ক্ষেত্রে ফেল বা override দরকার।

### ১০.৫ Unlock

ভুল approve হলে: Detail → **Unlock** (আলাদা পারমিশন) + কারণ → আবার Pending → ঠিক করে Approve।

### ১০.৬ মাস ক্লোজ চেকলিস্ট

- [ ] Correction কিউ খালি (বা সচেতনভাবে override)  
- [ ] Leave কিউ খালি  
- [ ] Close Day / রেকর্ড গ্যাপ নেই  
- [ ] Build করা হয়েছে  
- [ ] Unresolved = ০ (বা documented override)  
- [ ] সব প্রয়োজনীয় কর্মী **Approved**  
- [ ] তারপর **Payroll → Monthly Freeze**

বিস্তারিত পরের ধাপ: [Payroll গাইড](../payroll/PAYROLL_USER_GUIDE_BN.md)।

---

## ১১. Approval — তিন জায়গায় কী হয়

| বিষয় | Attendance UI | Platform (ঐচ্ছিক) |
|-------|---------------|-------------------|
| Leave | Leave Approvals কিউ | Settings-এ action ON হলে Inbox |
| Correction | Correction Approvals কিউ | একইভাবে workflow |
| Monthly | Monthly Approval Approve/Bulk | কোম্পানি সেটিং অনুযায়ী |

**Platform সেটআপ (অ্যাডমিন):**

1. **Platform → Approval Workflows** — Attendance সংশ্লিষ্ট action + steps + approver (role/user)।  
2. **Platform → Approval Settings** — কোম্পানিতে সেই action **Enable**।  
3. Approver ইউজারের **role/permission** ঠিক আছে কিনা।  
4. সিদ্ধান্ত: মডিউল পেজ **বা** **Approval Inbox**।

বাটন না দেখলে FAQ দেখুন।

---

## ১২. পুরো মাসিক ফ্লো (একসাথে)

```text
[সেটআপ একবার]
Employee Active → Types → Shifts → Policies → Groups/Apply → Assignments → Settings

[প্রতিদিন]
Punch → Records চেক → দরকারে Correction (→ Approve)

[ছুটি]
Balance → Apply Leave → Leave Approve

[মাস শেষ]
Jobs Close Day (প্রয়োজনে)
→ Pending Leave/Correction শেষ
→ Monthly Build
→ Monthly Approve (সব কর্মী)
→ Payroll Freeze
→ Payroll Run → Snapshot → Payslips → Approve → Disburse
```

---

## ১৩. চেকলিস্ট

### নতুন কর্মী
- [ ] Employee Active  
- [ ] Shift + Policy assignment (effective date ঠিক)  
- [ ] Assignment Preview ঠিক  
- [ ] Punch পারমিশন  

### মাস ক্লোজের আগে
- [ ] Correction / Leave কিউ খালি  
- [ ] Unassigned / missing day নেই  
- [ ] Monthly Build + Approve সম্পন্ন  
- [ ] Payroll Freeze এর জন্য ready  

---

## ১৪. FAQ

### সেটআপ ও মেনু
**প্রশ্ন: Attendance মেনুই দেখি না।**  
→ `attendance.menu-view` নেই। রোল/পারমিশন দিন।

**প্রশ্ন: Configuration ট্যাব খালি / কিছু ট্যাব নেই।**  
→ প্রতি ট্যাবের আলাদা view পারমিশন। Admin রোলে types/shifts/policies/assignments দিন।

**প্রশ্ন: নতুন কর্মী পাঞ্চ করতে পারছে না / রেকর্ড হয় না।**  
→ Active? Assignment আছে? Preview-এ শিফট রেজলভ হচ্ছে? Unassigned রিপোর্ট দেখুন।

### পাঞ্চ ও রেকর্ড
**প্রশ্ন: Punch বাটন নেই।**  
→ `punch-create`। অন্যের পক্ষে চাইলে `punch-create-others`।

**প্রশ্ন: পাঞ্চ দিয়েছি কিন্তু Record Absent/খালি।**  
→ Close Day/হিসাব জব চলেনি, বা Assignment ভুল দিনে, বা টাইপ হিসাব আলাদা। Records + Preview + Jobs চেক।

**প্রশ্ন: Recalculate কী করে?**  
→ সেই দিনের রেকর্ড বর্তমান পলিসি/পাঞ্চ দিয়ে আবার গণনা — পুরনো ওভাররাইট হতে পারে।

### Correction
**প্রশ্ন: Correction submit করতে পারছি না (তারিখ ব্লক)।**  
→ Settings-এর **correction window days** পেরিয়ে গেছে। Window বাড়ান বা অ্যাডমিন পথ।

**প্রশ্ন: Approve বাটন দেখি না (Correction)।**  
→ `correction-approve` নেই, বা আপনি workflow approver নন, বা ভুল কোম্পানি সিলেক্ট। Logout/login করে পারমিশন রিফ্রেশ।

**প্রশ্ন: মাস লক — Approve আটকে।**  
→ Monthly already approved/locked। Override পারমিশন বা Unlock করে correction।

### Leave
**প্রশ্ন: Leave apply ফেল — ব্যালেন্স।**  
→ Leave Balances চেক; পলিসি অ্যাসাইন আছে কিনা; overlapping request আছে কিনা।

**প্রশ্ন: Approve হলেও রেকর্ডে Leave নয়।**  
→ দিনের রেকর্ড/Close Day রিফ্রেশ; মাস ইতিমধ্যে লক কিনা।

### Monthly / Payroll
**প্রশ্ন: Build করতে পারছি না — already approved।**  
→ Approved সারি rebuild হয় না। Unlock → ঠিক → আবার Approve।

**প্রশ্ন: কিছু Pending কিছু Approved দেখাচ্ছে।**  
→ স্বাভাবিক — যারা Approve হয়েছে তারা আলাদা থাকে; বাকি Pending। Bulk বা একক Approve চালিয়ে সম্পন্ন করুন।

**প্রশ্ন: Unresolved বলে Approve হচ্ছে না।**  
→ Missing checkout / missing day / pending leave / pending correction ঠিক করুন, অথবা নিয়মমতো override।

**প্রশ্ন: Monthly Approve করেছি কিন্তু Payroll Freeze হয় না।**  
→ Payroll সাইডে freeze পারমিশন (`payroll.month-freeze`); সব প্রয়োজনীয় কর্মী approved+locked কিনা। [Payroll গাইড](../payroll/PAYROLL_USER_GUIDE_BN.md)।

**প্রশ্ন: Approval Decision-এ “No open approval request”。**  
→ Run/মাসের request খোলেনি বা workflow OFF। Platform Approval Settings + Workflow; requester দিয়ে submit/generate; আপনি approver list-এ আছেন কিনা।

### সাধারণ
**প্রশ্ন: লগইন করেও পুরনো পারমিশন দেখাচ্ছে।**  
→ Logout → Login; কোম্পানি সুইচার সঠিক কোম্পানি।

**প্রশ্ন: একই নামে একাধিক ইউজার — কোনটা approver?**  
→ Workflow role resolve করে নির্দিষ্ট `user_id`। ভুল ইমেইলে লগইন করলে বাটন থাকবে না।

---

## ১৫. সাধারণ সমস্যা (সারাংশ টেবিল)

| দেখছেন | মানে | করবেন |
|---------|------|--------|
| মেনু/বাটন নেই | পারমিশন | রোল অ্যাডমিন |
| পাঞ্চ আছে রেকর্ড নেই | Assignment / Close Day | Preview + Jobs |
| Correction আটকে | Approver / lock / window | Approvals; Settings; Unlock |
| Leave apply ফেল | ব্যালেন্স/ওভারল্যাপ | Balance + তারিখ |
| Monthly ব্লক | খোলা কিউ / unresolved | Leave/Correction শেষ; Build |
| Payroll ready নয় | Approve/Freeze হয়নি | Monthly → Freeze |
| Approve বাটন নেই | পারমিশন / না-approver / না-request | Settings + Inbox + সঠিক ইউজার |

---

## ১৬. এক লাইনের সূত্র

> **Config + Assignment → Punch → Record ঠিক (Correction/Leave + Approve) → Jobs দরকারমতো → Monthly Build/Approve → Payroll Freeze।**

আটকে গেলে জিজ্ঞাসা করুন: **Assignment আছে? কিউ খালি? মাস Approve? আপনি approver?**
