# Payroll Transaction

## Purpose

The Payroll Transaction module manages all employee-related financial and approval activities within the payroll system. It includes claim processing, leave approvals, payroll entries, and payroll execution. This module ensures proper validation, approval workflows, and accurate payroll calculation.

---

## Module Components

---

# 1. Claim Approval

## Purpose

The Claim Approval module is used to manage and process employee reimbursement claims. It allows HR or authorized personnel to review, approve, or reject claims submitted by employees, ensuring proper validation and control of company expenses.

---

## Dashboard Components

### 1. Claim Approval 

**Type**  
Table

**Description**  
Displays all employee reimbursement claims submitted for approval.

**Example Columns**

<div class="TyagGW_tableContainer" id="bkmrk-column-description-c"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="1026" data-start="491"><thead data-end="515" data-start="491"><tr data-end="515" data-start="491"><th class="last:pe-10" data-col-size="sm" data-end="500" data-start="491">Column</th><th class="last:pe-10" data-col-size="md" data-end="515" data-start="500">Description</th></tr></thead><tbody data-end="1026" data-start="541"><tr data-end="585" data-start="541"><td data-col-size="sm" data-end="552" data-start="541">Claim No</td><td data-col-size="md" data-end="585" data-start="552">Unique claim reference number</td></tr><tr data-end="618" data-start="586"><td data-col-size="sm" data-end="593" data-start="586">Date</td><td data-col-size="md" data-end="618" data-start="593">Claim submission date</td></tr><tr data-end="650" data-start="619"><td data-col-size="sm" data-end="626" data-start="619">Code</td><td data-col-size="md" data-end="650" data-start="626">Internal system code</td></tr><tr data-end="691" data-start="651"><td data-col-size="sm" data-end="667" data-start="651">Employee Name</td><td data-col-size="md" data-end="691" data-start="667">Name of the employee</td></tr><tr data-end="742" data-start="692"><td data-col-size="sm" data-end="701" data-start="692">Ref No</td><td data-col-size="md" data-end="742" data-start="701">External or document reference number</td></tr><tr data-end="785" data-start="743"><td data-col-size="sm" data-end="756" data-start="743">Claim Code</td><td data-col-size="md" data-end="785" data-start="756">Specific claim identifier</td></tr><tr data-end="849" data-start="786"><td data-col-size="sm" data-end="803" data-start="786">Claim Category</td><td data-col-size="md" data-end="849" data-start="803">Category of expense (e.g. Travel, Medical)</td></tr><tr data-end="877" data-start="850"><td data-col-size="sm" data-end="859" data-start="850">Amount</td><td data-col-size="md" data-end="877" data-start="859">Claimed amount</td></tr><tr data-end="946" data-start="878"><td data-col-size="sm" data-end="887" data-start="878">Status</td><td data-col-size="md" data-end="946" data-start="887">Current approval status (Pending / Approved / Rejected)</td></tr><tr data-end="986" data-start="947"><td data-col-size="sm" data-end="956" data-start="947">Branch</td><td data-col-size="md" data-end="986" data-start="956">Employee’s branch/location</td></tr><tr data-end="1026" data-start="987"><td data-col-size="sm" data-end="997" data-start="987">Created</td><td data-col-size="md" data-end="1026" data-start="997">Record creation timestamp</td></tr></tbody></table>

</div></div>**Purpose**  
Provide a centralized view of all claim submissions for review and processing.

---

### 2. Claim Status Indicator

**Type**  
Status Badge

**Description**  
Shows the current approval status of each claim.

**Status Options**

- Pending
- Approved
- Rejected

**Purpose**  
Allow HR to quickly identify claims requiring action.

---

## Create New Claim

**Type**  
Form

**Description**  
Allows employees or HR users (depending on permission) to submit a new reimbursement claim.

**Required Fields**

<div class="TyagGW_tableContainer" id="bkmrk-field-description-cl"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="2025" data-start="1547"><thead data-end="1570" data-start="1547"><tr data-end="1570" data-start="1547"><th class="last:pe-10" data-col-size="sm" data-end="1555" data-start="1547">Field</th><th class="last:pe-10" data-col-size="md" data-end="1570" data-start="1555">Description</th></tr></thead><tbody data-end="2025" data-start="1594"><tr data-end="1659" data-start="1594"><td data-col-size="sm" data-end="1605" data-start="1594">Claim No</td><td data-col-size="md" data-end="1659" data-start="1605">Unique claim number generated or manually assigned</td></tr><tr data-end="1704" data-start="1660"><td data-col-size="sm" data-end="1671" data-start="1660">Employee</td><td data-col-size="md" data-end="1704" data-start="1671">Employee submitting the claim</td></tr><tr data-end="1726" data-start="1705"><td data-col-size="sm" data-end="1712" data-start="1705">Date</td><td data-col-size="md" data-end="1726" data-start="1712">Claim date</td></tr><tr data-end="1785" data-start="1727"><td data-col-size="sm" data-end="1736" data-start="1727">Ref No</td><td data-col-size="md" data-end="1785" data-start="1736">Supporting reference number (receipt/invoice)</td></tr><tr data-end="1867" data-start="1786"><td data-col-size="sm" data-end="1803" data-start="1786">Claim Category</td><td data-col-size="md" data-end="1867" data-start="1803">Type of claim (Travel / Medical / Meal / Transport / Others)</td></tr><tr data-end="1909" data-start="1868"><td data-col-size="sm" data-end="1877" data-start="1868">Amount</td><td data-col-size="md" data-end="1909" data-start="1877">Claimed reimbursement amount</td></tr><tr data-end="1955" data-start="1910"><td data-col-size="sm" data-end="1920" data-start="1910">Purpose</td><td data-col-size="md" data-end="1955" data-start="1920">Description of the claim reason</td></tr><tr data-end="2025" data-start="1956"><td data-col-size="sm" data-end="1969" data-start="1956">Attachment</td><td data-col-size="md" data-end="2025" data-start="1969">Supporting documents (receipt/invoice image or file)</td></tr></tbody></table>

</div></div>**Purpose**  
Enable structured submission of reimbursement claims with supporting evidence.

---

## Claim Approval Workflow

```
Create Claim
     │
     ▼
Submit for Approval
     │
     ▼
Pending Review
     │
     ├── Approved
     │        │
     │        ▼
     │   Process Payment
     │
     └── Rejected
              │
              ▼
        Return to Employee (Optional)
```

<div class="relative w-full mt-4 mb-1" id="bkmrk--6"><div class=""><div class="contents"><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="relative"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼs ͼ16" dir="ltr" id="bkmrk--7"><div class="cm-scroller"></div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div></div>---

## Business Rules

- Claim No must be unique for each record
- Only authorized HR/Finance users can approve or reject claims
- Claims in **Approved** status cannot be edited
- Attachments are mandatory for verification purposes (based on policy)
- Status changes must be logged for audit purposes
- Branch field determines organizational location of the claim

---

## User Impact

- Employees can submit reimbursement claims easily with supporting documents
- HR/Finance can efficiently review and validate expenses
- Ensures transparency and control over company reimbursements
- Reduces manual claim tracking via spreadsheets or emails

---

# 2. Leave Approval

## Purpose

The Leave Approval module is used to review and manage employee leave applications. It enables authorized personnel to approve or reject leave requests while ensuring compliance with the organization's leave policies. The module also includes an **Authorization Setup** feature to define users who are permitted to approve leave applications.

---

## Dashboard Components

### 1. Leave Approval List

**Type**  
Table

**Description**  
Displays all submitted leave applications and their current approval status.

**Example Columns**

<div class="TyagGW_tableContainer" id="bkmrk-column-description-d"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="1077" data-start="599"><thead data-end="623" data-start="599"><tr data-end="623" data-start="599"><th class="last:pe-10" data-col-size="sm" data-end="608" data-start="599">Column</th><th class="last:pe-10" data-col-size="md" data-end="623" data-start="608">Description</th></tr></thead><tbody data-end="1077" data-start="649"><tr data-end="702" data-start="649"><td data-col-size="sm" data-end="658" data-start="649">Doc No</td><td data-col-size="md" data-end="702" data-start="658">Unique leave application document number</td></tr><tr data-end="744" data-start="703"><td data-col-size="sm" data-end="712" data-start="703">Reason</td><td data-col-size="md" data-end="744" data-start="712">Reason for the leave request</td></tr><tr data-end="790" data-start="745"><td data-col-size="sm" data-end="754" data-start="745">Ref No</td><td data-col-size="md" data-end="790" data-start="754">Reference number (if applicable)</td></tr><tr data-end="859" data-start="791"><td data-col-size="sm" data-end="800" data-start="791">Status</td><td data-col-size="md" data-end="859" data-start="800">Current approval status (Pending / Approved / Rejected)</td></tr><tr data-end="920" data-start="860"><td data-col-size="sm" data-end="872" data-start="860">Requester</td><td data-col-size="md" data-end="920" data-start="872">Employee who submitted the leave application</td></tr><tr data-end="971" data-start="921"><td data-col-size="sm" data-end="935" data-start="921">Approved By</td><td data-col-size="md" data-end="971" data-start="935">Approver assigned to the request</td></tr><tr data-end="1021" data-start="972"><td data-col-size="sm" data-end="981" data-start="972">Branch</td><td data-col-size="md" data-end="1021" data-start="981">Employee's branch or office location</td></tr><tr data-end="1077" data-start="1022"><td data-col-size="sm" data-end="1032" data-start="1022">Created</td><td data-col-size="md" data-end="1077" data-start="1032">Date and time the application was created</td></tr></tbody></table>

</div></div>**Purpose**  
Provide HR and managers with a centralized view of all leave applications awaiting review or already processed.

---

### 2. Leave Approval Actions

**Type**  
Action Buttons

**Description**  
Allows authorized users to review and process leave applications.

**Available Actions**

- **Approve** – Approves the leave application.
- **Reject** – Rejects the leave application.

**Purpose**  
Ensure leave requests are processed efficiently by authorized personnel.

---

### 3. Authorization Setup

**Type**  
Configuration

**Description**  
Allows administrators to configure the users who are authorized to approve leave applications.

**Configuration Options**

<div class="TyagGW_tableContainer" id="bkmrk-field-description-co"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="1998" data-start="1760"><thead data-end="1783" data-start="1760"><tr data-end="1783" data-start="1760"><th class="last:pe-10" data-col-size="sm" data-end="1768" data-start="1760">Field</th><th class="last:pe-10" data-col-size="md" data-end="1783" data-start="1768">Description</th></tr></thead><tbody data-end="1998" data-start="1807"><tr data-end="1867" data-start="1807"><td data-col-size="sm" data-end="1817" data-start="1807">Company</td><td data-col-size="md" data-end="1867" data-start="1817">Select the company for the authorization setup</td></tr><tr data-end="1922" data-start="1868"><td data-col-size="sm" data-end="1886" data-start="1868">Authorized User</td><td data-col-size="md" data-end="1922" data-start="1886">User assigned approval authority</td></tr><tr data-end="1998" data-start="1923"><td data-col-size="sm" data-end="1938" data-start="1923">Add New Line</td><td data-col-size="md" data-end="1998" data-start="1938">Add additional authorized users for the selected company</td></tr></tbody></table>

</div></div>**Purpose**  
Define and maintain the list of users responsible for approving leave applications.

---

## Leave Approval Workflow

```
Employee Submits Leave Application
                │
                ▼
          Pending Approval
                │
        ┌───────┴────────┐
        ▼                ▼
    Approve           Reject
        │                │
        ▼                ▼
Approved Leave     Application Closed
```

<div class="relative w-full mt-4 mb-1" id="bkmrk--16"><div class=""><div class="contents"><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="relative"></div></div></div></div></div><div class=""><div class="">---

</div></div></div></div></div></div>## Leave Approval Workflow

<div class="relative w-full mt-4 mb-1" id="bkmrk--17"><div class=""><div class="contents"><div class="relative"><div class=""><div class="">  
</div></div></div></div></div></div>## Business Rules

- Only authorized users can approve or reject leave applications.
- Each leave application is assigned a unique **Doc No**.
- Authorization Setup is maintained at the company level.
- Multiple authorized users can be assigned to the same company.
- Approved or rejected applications are recorded for audit purposes.
- Employees cannot approve their own leave applications unless explicitly permitted by company policy.

---

## User Impact

- Streamlines the leave approval process.
- Ensures only authorized personnel can process leave requests.
- Improves transparency by recording approver information.
- Supports multi-user approval configuration for different companies.

---

# 3. Payroll Entry

## Purpose

The Payroll Entry module is used to create and manage payroll records for a specific payroll period. It allows HR or payroll administrators to generate payroll entries by defining the payroll year, month, and description before payroll processing begins.

---

## Dashboard Components

### 1. Payroll Entry List

**Type**  
Table

**Description**  
Displays all payroll entries that have been created in the system.

**Example Columns**

<div class="TyagGW_tableContainer" id="bkmrk-column-description-c-1"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="798" data-start="499"><thead data-end="523" data-start="499"><tr data-end="523" data-start="499"><th class="last:pe-10" data-col-size="sm" data-end="508" data-start="499">Column</th><th class="last:pe-10" data-col-size="md" data-end="523" data-start="508">Description</th></tr></thead><tbody data-end="798" data-start="549"><tr data-end="585" data-start="549"><td data-col-size="sm" data-end="556" data-start="549">Code</td><td data-col-size="md" data-end="585" data-start="556">Unique payroll entry code</td></tr><tr data-end="609" data-start="586"><td data-col-size="sm" data-end="593" data-start="586">Year</td><td data-col-size="md" data-end="609" data-start="593">Payroll year</td></tr><tr data-end="635" data-start="610"><td data-col-size="sm" data-end="618" data-start="610">Month</td><td data-col-size="md" data-end="635" data-start="618">Payroll month</td></tr><tr data-end="686" data-start="636"><td data-col-size="sm" data-end="650" data-start="636">Description</td><td data-col-size="md" data-end="686" data-start="650">Description of the payroll entry</td></tr><tr data-end="740" data-start="687"><td data-col-size="sm" data-end="696" data-start="687">Branch</td><td data-col-size="md" data-end="740" data-start="696">Branch associated with the payroll entry</td></tr><tr data-end="798" data-start="741"><td data-col-size="sm" data-end="751" data-start="741">Created</td><td data-col-size="md" data-end="798" data-start="751">Date and time the payroll entry was created</td></tr></tbody></table>

</div></div>**Purpose**  
Provide an overview of payroll entries for different payroll periods and branches.

---

### 2. Create Payroll Entry

**Type**  
Form

**Description**  
Allows payroll administrators to create a new payroll entry for a selected payroll period.

**Required Fields**

<div class="TyagGW_tableContainer" id="bkmrk-field-description-ye"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="1269" data-start="1080"><thead data-end="1103" data-start="1080"><tr data-end="1103" data-start="1080"><th class="last:pe-10" data-col-size="sm" data-end="1088" data-start="1080">Field</th><th class="last:pe-10" data-col-size="md" data-end="1103" data-start="1088">Description</th></tr></thead><tbody data-end="1269" data-start="1127"><tr data-end="1161" data-start="1127"><td data-col-size="sm" data-end="1134" data-start="1127">Year</td><td data-col-size="md" data-end="1161" data-start="1134">Select the payroll year</td></tr><tr data-end="1198" data-start="1162"><td data-col-size="sm" data-end="1170" data-start="1162">Month</td><td data-col-size="md" data-end="1198" data-start="1170">Select the payroll month</td></tr><tr data-end="1269" data-start="1199"><td data-col-size="sm" data-end="1213" data-start="1199">Description</td><td data-col-size="md" data-end="1269" data-start="1213">Enter a description or remarks for the payroll entry</td></tr></tbody></table>

</div></div>**Purpose**  
Create a payroll entry that serves as the basis for payroll processing during the selected period.

---

## Payroll Entry Workflow

```
Select Payroll Year
        │
        ▼
Select Payroll Month
        │
        ▼
Enter Description
        │
        ▼
Create Payroll Entry
        │
        ▼
Payroll Entry Available for Payroll Process
```

<div class="relative w-full mt-4 mb-1" id="bkmrk--24"><div class=""><div class="contents"><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="relative"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼs ͼ16" dir="ltr" id="bkmrk--25"><div class="cm-scroller"></div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div></div>---

## Business Rules

- Each payroll entry is associated with a specific **Year** and **Month**.
- A unique **Code** is automatically assigned to each payroll entry.
- Payroll entries can be created only by authorized payroll users.
- The **Branch** is assigned based on the user's organization or selected company branch.
- Payroll entries are used as the source record for the Payroll Process module.

---

## User Impact

- Organizes payroll records by payroll period.
- Simplifies payroll preparation before salary calculation.
- Provides a structured record for payroll management and reporting.
- Ensures payroll processing is performed on the correct payroll period.

---

# 4. Payroll Process

## Purpose

The Payroll Process module is used to execute payroll calculations for a selected payroll period. It processes employee earnings, deductions, and other payroll components to generate payroll results before they are released and posted.

---

## Dashboard Components

### 1. Payroll Process List

**Type**  
Table

**Description**  
Displays all payroll process records that have been created and executed.

**Example Columns**

<div class="TyagGW_tableContainer" id="bkmrk-column-description-d-1"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="984" data-start="491"><thead data-end="515" data-start="491"><tr data-end="515" data-start="491"><th class="last:pe-10" data-col-size="sm" data-end="500" data-start="491">Column</th><th class="last:pe-10" data-col-size="md" data-end="515" data-start="500">Description</th></tr></thead><tbody data-end="984" data-start="541"><tr data-end="572" data-start="541"><td data-col-size="sm" data-end="548" data-start="541">Date</td><td data-col-size="md" data-end="572" data-start="548">Payroll process date</td></tr><tr data-end="625" data-start="573"><td data-col-size="sm" data-end="587" data-start="573">Description</td><td data-col-size="md" data-end="625" data-start="587">Description of the payroll process</td></tr><tr data-end="677" data-start="626"><td data-col-size="sm" data-end="641" data-start="626">Process From</td><td data-col-size="md" data-end="677" data-start="641">Start date of the payroll period</td></tr><tr data-end="725" data-start="678"><td data-col-size="sm" data-end="691" data-start="678">Process To</td><td data-col-size="md" data-end="725" data-start="691">End date of the payroll period</td></tr><tr data-end="762" data-start="726"><td data-col-size="sm" data-end="736" data-start="726">Release</td><td data-col-size="md" data-end="762" data-start="736">Payroll release status</td></tr><tr data-end="797" data-start="763"><td data-col-size="sm" data-end="770" data-start="763">Type</td><td data-col-size="md" data-end="797" data-start="770">Payroll processing type</td></tr><tr data-end="831" data-start="798"><td data-col-size="sm" data-end="806" data-start="798">Entry</td><td data-col-size="md" data-end="831" data-start="806">Related payroll entry</td></tr><tr data-end="868" data-start="832"><td data-col-size="sm" data-end="842" data-start="832">Posting</td><td data-col-size="md" data-end="868" data-start="842">Payroll posting status</td></tr><tr data-end="924" data-start="869"><td data-col-size="sm" data-end="878" data-start="869">Branch</td><td data-col-size="md" data-end="924" data-start="878">Branch associated with the payroll process</td></tr><tr data-end="984" data-start="925"><td data-col-size="sm" data-end="935" data-start="925">Created</td><td data-col-size="md" data-end="984" data-start="935">Date and time the payroll process was created</td></tr></tbody></table>

</div></div>**Purpose**  
Provide an overview of payroll processing activities and their current status.

---

### 2. Create Payroll Process

**Type**  
Form

**Description**  
Allows payroll administrators to create a new payroll process for a selected payroll period.

**Required Fields**

<div class="TyagGW_tableContainer" id="bkmrk-field-description-da"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="1463" data-start="1266"><thead data-end="1289" data-start="1266"><tr data-end="1289" data-start="1266"><th class="last:pe-10" data-col-size="sm" data-end="1274" data-start="1266">Field</th><th class="last:pe-10" data-col-size="md" data-end="1289" data-start="1274">Description</th></tr></thead><tbody data-end="1463" data-start="1313"><tr data-end="1347" data-start="1313"><td data-col-size="sm" data-end="1320" data-start="1313">Date</td><td data-col-size="md" data-end="1347" data-start="1320">Payroll processing date</td></tr><tr data-end="1400" data-start="1348"><td data-col-size="sm" data-end="1362" data-start="1348">Description</td><td data-col-size="md" data-end="1400" data-start="1362">Description of the payroll process</td></tr><tr data-end="1463" data-start="1401"><td data-col-size="sm" data-end="1418" data-start="1401">Process Period</td><td data-col-size="md" data-end="1463" data-start="1418">Select the payroll period to be processed</td></tr></tbody></table>

</div></div>**Purpose**  
Create a payroll process that calculates employee salaries for the selected payroll period.

---

### 3. Payroll Processing Type

**Type**  
Configuration

**Description**  
Defines how payroll should be processed.

**Available Options**

- **Month End** – Processes the complete monthly payroll for all eligible employees.
- **Ad Hoc** – Processes only selected payroll components without running a full monthly payroll.

**Purpose**  
Provide flexibility for both regular monthly payroll and special payroll adjustments.

---

### 4. Ad Hoc Processing Options

When **Payroll Processing Type** is set to **Ad Hoc**, users can select one or more payroll components to process.

<div class="TyagGW_tableContainer" id="bkmrk-process-option-descr"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="2761" data-start="2158"><thead data-end="2190" data-start="2158"><tr data-end="2190" data-start="2158"><th class="last:pe-10" data-col-size="sm" data-end="2175" data-start="2158">Process Option</th><th class="last:pe-10" data-col-size="sm" data-end="2190" data-start="2175">Description</th></tr></thead><tbody data-end="2761" data-start="2223"><tr data-end="2267" data-start="2223"><td data-col-size="sm" data-end="2239" data-start="2223">Process Wages</td><td data-col-size="sm" data-end="2267" data-start="2239">Calculate employee wages</td></tr><tr data-end="2320" data-start="2268"><td data-col-size="sm" data-end="2289" data-start="2268">Process Allowances</td><td data-col-size="sm" data-end="2320" data-start="2289">Process employee allowances</td></tr><tr data-end="2376" data-start="2321"><td data-col-size="sm" data-end="2343" data-start="2321">Process Commissions</td><td data-col-size="sm" data-end="2376" data-start="2343">Calculate commission payments</td></tr><tr data-end="2435" data-start="2377"><td data-col-size="sm" data-end="2394" data-start="2377">Process Claims</td><td data-col-size="sm" data-end="2435" data-start="2394">Include approved reimbursement claims</td></tr><tr data-end="2478" data-start="2436"><td data-col-size="sm" data-end="2452" data-start="2436">Process Bonus</td><td data-col-size="sm" data-end="2478" data-start="2452">Process bonus payments</td></tr><tr data-end="2528" data-start="2479"><td data-col-size="sm" data-end="2500" data-start="2479">Process Deductions</td><td data-col-size="sm" data-end="2528" data-start="2500">Apply payroll deductions</td></tr><tr data-end="2583" data-start="2529"><td data-col-size="sm" data-end="2548" data-start="2529">Process Advances</td><td data-col-size="sm" data-end="2583" data-start="2548">Deduct employee salary advances</td></tr><tr data-end="2641" data-start="2584"><td data-col-size="sm" data-end="2608" data-start="2584">Process Director Fees</td><td data-col-size="sm" data-end="2641" data-start="2608">Process director remuneration</td></tr><tr data-end="2692" data-start="2642"><td data-col-size="sm" data-end="2661" data-start="2642">Process Overtime</td><td data-col-size="sm" data-end="2692" data-start="2661">Calculate overtime payments</td></tr><tr data-end="2761" data-start="2693"><td data-col-size="sm" data-end="2727" data-start="2693">Process Unpaid Leave Deductions</td><td data-col-size="sm" data-end="2761" data-start="2727">Deduct salary for unpaid leave</td></tr></tbody></table>

</div></div>**Purpose**  
Allow payroll administrators to process only specific payroll components when adjustments or special payments are required.

---

## Payroll Process Workflow

```
Create Payroll Process
          │
          ▼
Select Process Period
          │
          ▼
Choose Processing Type
          │
     ┌────┴─────┐
     ▼          ▼
Month End    Ad Hoc
     │          │
     │     Select Payroll Components
     │          │
     └────┬─────┘
          ▼
Run Payroll Calculation
          │
          ▼
Review Payroll Results
          │
          ▼
Release Payroll
          │
          ▼
Post Payroll
```

<div class="relative w-full mt-4 mb-1" id="bkmrk--35"><div class=""><div class="contents"><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="relative"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼs ͼ16" dir="ltr" id="bkmrk--36"><div class="cm-scroller"></div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div></div>---

## Business Rules

- Each payroll process is linked to a specific payroll period.
- Only authorized payroll users can create and execute payroll processes.
- **Month End** processes all payroll components automatically.
- **Ad Hoc** processing allows only the selected payroll components to be calculated.
- Payroll should be reviewed before it is released.
- Released payroll can be posted to finalize payroll records.
- Payroll processing activities are recorded for audit purposes.

---

## User Impact

- Automates payroll calculation for employees.
- Supports both full monthly payroll and special payroll adjustments.
- Improves payroll accuracy by processing only approved payroll data.
- Provides clear tracking of payroll processing, release, and posting status.

---

# 5. Forms/ Data

## Purpose

The Forms / Data module is used to generate statutory payroll forms and data files required for submission to government agencies. Users can select a form type and generate the corresponding report or export file based on payroll records.

---

## Dashboard Components

### 1. Forms / Data List

**Type**  
Table

**Description**  
Displays the history of generated payroll forms and data files.

**Example Columns**

<div class="TyagGW_tableContainer" id="bkmrk-column-description-f"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="866" data-start="579"><thead data-end="603" data-start="579"><tr data-end="603" data-start="579"><th class="last:pe-10" data-col-size="sm" data-end="588" data-start="579">Column</th><th class="last:pe-10" data-col-size="sm" data-end="603" data-start="588">Description</th></tr></thead><tbody data-end="866" data-start="629"><tr data-end="680" data-start="629"><td data-col-size="sm" data-end="641" data-start="629">Form Type</td><td data-col-size="sm" data-end="680" data-start="641">Type of generated form or data file</td></tr><tr data-end="727" data-start="681"><td data-col-size="sm" data-end="696" data-start="681">Generated By</td><td data-col-size="sm" data-end="727" data-start="696">User who generated the file</td></tr><tr data-end="785" data-start="728"><td data-col-size="sm" data-end="745" data-start="728">Generated Date</td><td data-col-size="sm" data-end="785" data-start="745">Date and time the file was generated</td></tr><tr data-end="816" data-start="786"><td data-col-size="sm" data-end="795" data-start="786">Status</td><td data-col-size="sm" data-end="816" data-start="795">Generation status</td></tr><tr data-end="866" data-start="817"><td data-col-size="sm" data-end="831" data-start="817">File Format</td><td data-col-size="sm" data-end="866" data-start="831">Output format (PDF / CSV / TXT)</td></tr></tbody></table>

</div></div>**Purpose**  
Provide users with an overview of generated statutory forms and exported payroll data.

---

### 2. Generate Form / Data

**Type**  
Form

**Description**  
Allows users to generate payroll forms or statutory data files by selecting a form type.

**Required Field**

<div class="TyagGW_tableContainer" id="bkmrk-field-description-fo"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="1268" data-start="1149"><thead data-end="1172" data-start="1149"><tr data-end="1172" data-start="1149"><th class="last:pe-10" data-col-size="sm" data-end="1157" data-start="1149">Field</th><th class="last:pe-10" data-col-size="md" data-end="1172" data-start="1157">Description</th></tr></thead><tbody data-end="1268" data-start="1196"><tr data-end="1268" data-start="1196"><td data-col-size="sm" data-end="1208" data-start="1196">Form Type</td><td data-col-size="md" data-end="1268" data-start="1208">Select the type of payroll form or data file to generate</td></tr></tbody></table>

</div></div>**Available Form Types**

<div class="TyagGW_tableContainer" id="bkmrk-form-type-output-inc"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="1507" data-start="1296"><thead data-end="1318" data-start="1296"><tr data-end="1318" data-start="1296"><th class="last:pe-10" data-col-size="sm" data-end="1308" data-start="1296">Form Type</th><th class="last:pe-10" data-col-size="sm" data-end="1318" data-start="1308">Output</th></tr></thead><tbody data-end="1507" data-start="1342"><tr data-end="1382" data-start="1342"><td data-col-size="sm" data-end="1370" data-start="1342">Income Tax – CP8A EA Form</td><td data-col-size="sm" data-end="1382" data-start="1370">PDF File</td></tr><tr data-end="1415" data-start="1383"><td data-col-size="sm" data-end="1403" data-start="1383">LHDN – E-Data PCB</td><td data-col-size="sm" data-end="1415" data-start="1403">TXT File</td></tr><tr data-end="1447" data-start="1416"><td data-col-size="sm" data-end="1435" data-start="1416">KWSP – E-Caruman</td><td data-col-size="sm" data-end="1447" data-start="1435">CSV File</td></tr><tr data-end="1478" data-start="1448"><td data-col-size="sm" data-end="1466" data-start="1448">PERKESO – SOCSO</td><td data-col-size="sm" data-end="1478" data-start="1466">TXT File</td></tr><tr data-end="1507" data-start="1479"><td data-col-size="sm" data-end="1495" data-start="1479">PERKESO – EIS</td><td data-col-size="sm" data-end="1507" data-start="1495">TXT File</td></tr></tbody></table>

</div></div>**Purpose**  
Generate payroll documents and electronic submission files required by statutory authorities.

---

## Forms / Data Workflow

```
Select Form Type
        │
        ▼
Generate Form / Data
        │
        ▼
System Validates Payroll Data
        │
        ▼
Generate Output File
        │
        ▼
Download or Submit File
```

<div class="relative w-full mt-4 mb-1" id="bkmrk--44"><div class=""><div class="contents"><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="relative"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼs ͼ16" dir="ltr" id="bkmrk--45"><div class="cm-scroller"></div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div></div>---

## Business Rules

- Only authorized payroll users can generate statutory forms and data files.
- Generated files are based on the latest finalized payroll records.
- Different form types produce different output formats (PDF, CSV, or TXT).
- Payroll processing should be completed before generating statutory forms.
- Generated files can be downloaded for submission to the relevant government agencies.

---

## User Impact

- Simplifies statutory reporting and compliance.
- Reduces manual preparation of government forms.
- Generates standardized files accepted by tax and social security authorities.
- Improves payroll reporting efficiency and accuracy.

---

## Summary

<div class="TyagGW_tableContainer" id="bkmrk-section-description-"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="2753" data-start="2538"><thead data-end="2563" data-start="2538"><tr data-end="2563" data-start="2538"><th class="last:pe-10" data-col-size="sm" data-end="2548" data-start="2538">Section</th><th class="last:pe-10" data-col-size="sm" data-end="2563" data-start="2548">Description</th></tr></thead><tbody data-end="2753" data-start="2590"><tr data-end="2632" data-start="2590"><td data-col-size="sm" data-end="2598" data-start="2590">Table</td><td data-col-size="sm" data-end="2632" data-start="2598">Generated Forms / Data History</td></tr><tr data-end="2664" data-start="2633"><td data-col-size="sm" data-end="2640" data-start="2633">Form</td><td data-col-size="sm" data-end="2664" data-start="2640">Generate Form / Data</td></tr><tr data-end="2699" data-start="2665"><td data-col-size="sm" data-end="2674" data-start="2665">Output</td><td data-col-size="sm" data-end="2699" data-start="2674">PDF / CSV / TXT Files</td></tr><tr data-end="2753" data-start="2700"><td data-col-size="sm" data-end="2711" data-start="2700">Workflow</td><td data-col-size="sm" data-end="2753" data-start="2711">Select Form Type → Generate → Download</td></tr></tbody></table>

</div></div><div class="TyagGW_tableContainer" id="bkmrk--49"></div>