Salary Summary
ดึงข้อมูลสรุปเงินเดือนของพนักงานในรอบเดือนที่ระบุ แสดงข้อมูลรอบเดือน ข้อมูลพนักงาน สรุปการเข้างาน รายรับ รายหัก และยอดสุทธิ โดยจัดกลุ่มเป็น logical sections
Endpoint
GET /api/v1/open-apis/salary/get-data-filter?path_action=salary_summaryสิทธิ์ที่ต้องการ: API Key ต้องมีสิทธิ์ ข้อมูลเงินเดือนของพนักงาน (payroll:read:self)
Request Parameters
Required Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
employee_code | string | Yes | รหัสพนักงาน | "EMP001" |
year_month | string | Yes | รอบเงินเดือน (YYYY-MM) | "2026-02" |
Optional Parameters
| Parameter | Type | Default | Description | Example |
|---|---|---|---|---|
language_code | string | "TH" | ภาษา: TH หรือ EN (case-insensitive) | "TH" |
master_salary_split_seq | integer | - | งวดแบ่งจ่าย (ถ้ามี split payroll) | 1 |
Validation Rules
| Rule | Description |
|---|---|
employee_code | ต้องมีอยู่ในระบบ ถ้าไม่พบจะ return error 404 |
year_month | ต้องเป็นรูปแบบ YYYY-MM และต้องมีรอบเดือนนั้นในระบบ |
language_code | รองรับเฉพาะ TH หรือ EN |
master_salary_split_seq | ถ้าส่งต้องตรงกับรอบแบ่งจ่ายที่มีในระบบ |
ก่อนเรียก API นี้ ควรเรียก Calculate Month ก่อน เพื่อให้ข้อมูลสรุปเป็นปัจจุบัน summary ถูกต้อง และ slip มีข้อมูลครบถ้วน
Response Format
Success Response
{
"code": 200,
"message": "Success",
"payload": {
"month": {
"master_salary_report_id": "2026012683ECD0F50FDE",
"master_salary_month": "2026-01",
"salary_report_start_dt": "2025-12-26 00:00:00",
"salary_report_end_dt": "2026-01-25 23:59:59",
"day_in_month": 31,
"salary_paid_dt": "",
"read_only_flag": "Y",
"approve_flag": "N"
},
"profile": {
"employee_id": "20260121FC89F3BB9120",
"employee_code": "EMP001",
"employee_name": "ธารวิน",
"employee_last_name": "ศศิพฤกษ์กุล",
"employee_name_en": "Tharawin",
"employee_last_name_en": "Sasiprukkun",
"position_name": null,
"department_name": null,
"branch_name": null,
"company_name": null,
"salary": "35000.00",
"photograph": "images/userPlaceHolder.png",
"employee_type_group_name": "พนักงานรายเดือน"
},
"attendance": {
"salary": { "amount": 35000, "currency": "THB" },
"wage": { "rate": 1346.15, "unit": "baht/day" },
"work_days": { "worked": 0, "in_month": 26, "unit": "days" },
"holidays": { "public": 0, "employee": 5, "extra": 0, "unit": "days" },
"work_hours": { "total": "00:00:00", "unit": "hours" },
"absence_days": 0,
"adjustments": [],
"overtime": [],
"bonus_days": { "days": 0, "amount": 0 },
"time_leaves": [
{
"type": "09",
"label_th": "ขาดงาน",
"label_en": "Absence",
"days": 26,
"time": "234:00:00",
"time_minutes": 14040,
"amount": 35000
}
]
},
"summary": {
"time_calc_total": 35000,
"total_income": 16300,
"total_expense": 5610.21,
"income_expense_net": 10689.79,
"salary_received": 45689.79,
"advance_pay": 0,
"remaining": 45689.79
},
"income": {
"basic_salary": 35000,
"total_income": 16300,
"items": [
{
"salary_type_id": "2024122573DDE87AC498",
"salary_type_code": "ST0014",
"salary_cal_type_lv": "Income",
"salary_type_name": "Incentive",
"amount": 2000
},
{
"salary_type_id": "20241225371C0AF063F6",
"salary_type_code": "ST0012",
"salary_cal_type_lv": "Income",
"salary_type_name": "โบนัส",
"amount": 8000
}
]
},
"deduction": {
"social_insurance": 875,
"income_tax": 385.21,
"provident_fund": 1050,
"total_deduction": 5610.21,
"items": [
{
"salary_type_id": "20241225FAFD1530CD17",
"salary_type_code": "social_insurance",
"salary_cal_type_lv": "Auto",
"salary_type_name": "ประกันสังคม",
"amount": 875
},
{
"salary_type_id": "20241225C60004B3A765",
"salary_type_code": "tax",
"salary_cal_type_lv": "Auto",
"salary_type_name": "ภาษี",
"amount": 385.21
}
]
},
"expense": {
"total_net": 45689.79,
"advance_pay": 0,
"remaining": 45689.79
}
}
}Response Sections
| Section | Type | Description |
|---|---|---|
month | object | ข้อมูลรอบเงินเดือน |
profile | object | ข้อมูลพนักงาน |
attendance | object | สรุปการเข้างานแบบละเอียด |
summary | object | ผลการคำนวณสุทธิ |
income | object | เงินเดือน + รายการรายรับ |
deduction | object | รายหัก/ภาษี/กองทุน + รายการรายหัก |
expense | object | ยอดสุทธิ/เบิกล่วงหน้า/คงเหลือ |
Key Response Fields - month
| Field | Type | Nullable | Description |
|---|---|---|---|
master_salary_report_id | string | No | รหัสรอบเงินเดือน |
master_salary_month | string | No | รอบเดือน (YYYY-MM) |
salary_report_start_dt | string | No | วันที่เริ่มต้นรอบ (YYYY-MM-DD HH:mm:ss) |
salary_report_end_dt | string | No | วันที่สิ้นสุดรอบ (YYYY-MM-DD HH:mm:ss) |
day_in_month | integer | No | จำนวนวันในรอบ |
salary_paid_dt | string | Yes | วันที่จ่ายเงิน |
read_only_flag | string | No | สถานะปิดรอบ: "Y" (ปิดแล้ว), "N" (เปิดอยู่) |
approve_flag | string | No | สถานะอนุมัติ: "Y" (อนุมัติแล้ว), "N" (ยังไม่อนุมัติ) |
master_salary_split_report_id | string | Yes | รหัสรอบแบ่งจ่าย (ถ้ามี split) |
master_salary_split_seq | integer | Yes | งวดแบ่งจ่าย (ถ้ามี split) |
split_divide | integer | Yes | จำนวนงวดที่แบ่ง (ถ้ามี split) |
Key Response Fields - profile
| Field | Type | Description |
|---|---|---|
employee_id | string | รหัสพนักงาน (internal) |
employee_code | string | รหัสพนักงาน |
employee_name | string | ชื่อพนักงาน (TH) |
employee_last_name | string | นามสกุล (TH) |
employee_name_en | string | ชื่อพนักงาน (EN) |
employee_last_name_en | string | นามสกุล (EN) |
position_name | string | ชื่อตำแหน่ง |
department_name | string | ชื่อแผนก |
branch_name | string | ชื่อสาขา |
company_name | string | ชื่อบริษัท |
salary | string | เงินเดือน |
photograph | string | URL รูปโปรไฟล์ |
employee_type_group_name | string | ประเภทพนักงาน (เช่น “พนักงานรายเดือน”) |
Key Response Fields - attendance
| Field | Type | Description |
|---|---|---|
salary | object | เงินเดือน (amount, currency) |
wage | object | อัตราค่าแรง (rate, unit: baht/day หรือ baht/hour) |
work_days | object | วันทำงาน (worked, in_month, unit) |
holidays | object | วันหยุด (public, employee, extra, unit) |
work_hours | object | ชั่วโมงทำงาน (total HH:MM:SS, unit) |
absence_days | number | จำนวนวันขาดงาน |
adjustments[] | array | รายการปรับเวลา (เช่น morning, late, lunch_over, lunch_under, early, after) |
overtime[] | array | รายการ OT (ot_1_0 - ot_3_0 ปกติ และ ot_4_0 - ot_7_0 วันหยุด) |
bonus_days | object | โบนัสวัน (days, amount) |
time_leaves[] | array | รายการลา/ขาดงาน (รหัส 01-09) |
attendance.adjustments[] / attendance.overtime[]
| Field | Type | Description |
|---|---|---|
type | string | รหัสประเภท (เช่น morning, late, ot_1_0) |
label_th | string | ชื่อภาษาไทย |
label_en | string | ชื่อภาษาอังกฤษ |
time | string | เวลา (HH:MM:SS) |
time_minutes | integer | เวลาเป็นนาที |
amount | number | จำนวนเงิน (ถ้ามี) |
days | number | จำนวนวัน (เฉพาะบางประเภท เช่น late) |
attendance.time_leaves[]
| Field | Type | Description |
|---|---|---|
type | string | รหัสประเภทลา (01-09) |
label_th | string | ชื่อภาษาไทย |
label_en | string | ชื่อภาษาอังกฤษ |
days | number | จำนวนวัน |
time | string | รวมเวลา (HH:MM:SS) |
time_minutes | integer | รวมเวลาเป็นนาที |
amount | number | จำนวนเงิน |
Key Response Fields - summary
| Field | Type | Description |
|---|---|---|
time_calc_total | number | รวมการคำนวณเวลา (เงินเดือน + work cycle) |
total_income | number | รวมรายรับทั้งหมด (sync จาก income.total_income) |
total_expense | number | รวมรายจ่ายทั้งหมด (sync จาก deduction.total_deduction) |
income_expense_net | number | รายรับ - รายจ่าย |
salary_received | number | เงินเดือนที่ได้รับ (time_calc_total + income_expense_net) |
advance_pay | number | รวมเบิกล่วงหน้า |
remaining | number | คงเหลือสุทธิ (salary_received - advance_pay) |
Key Response Fields - income
| Field | Type | Description |
|---|---|---|
basic_salary | number | เงินเดือน |
total_income | number | รวมรายรับ |
items[] | array | รายการรายรับ dynamic |
income.items[]
| Field | Type | Description |
|---|---|---|
salary_type_id | string | รหัสประเภทเงินเดือน |
salary_type_code | string | รหัส item (เช่น ST0014) |
salary_cal_type_lv | string | ประเภทการคำนวณ (Income, Constant, Welfare, Auto) |
salary_type_name | string | ชื่อแสดง |
amount | number | จำนวนเงิน |
Key Response Fields - deduction
| Field | Type | Description |
|---|---|---|
social_insurance | number | ประกันสังคม |
income_tax | number | ภาษีหัก ณ ที่จ่าย |
provident_fund | number | กองทุนสำรองเลี้ยงชีพ |
total_deduction | number | รวมรายหักทั้งหมด |
items[] | array | รายการรายหัก dynamic |
deduction.items[]
| Field | Type | Description |
|---|---|---|
salary_type_id | string | รหัสประเภทเงินเดือน |
salary_type_code | string | รหัส item (เช่น ST0005, tax, provident) |
salary_cal_type_lv | string | ประเภทการคำนวณ (Expense, Fund, Loan, Auto, Constant) |
salary_type_name | string | ชื่อแสดง |
amount | number | จำนวนเงิน |
Key Response Fields - expense
| Field | Type | Description |
|---|---|---|
total_net | number | ยอดสุทธิ |
advance_pay | number | เบิกล่วงหน้า |
remaining | number | คงเหลือหลังหักเบิกล่วงหน้า |
Error Response
{
"code": 404,
"message": "Employee not found with code: EMP001"
}| HTTP Status | Description |
|---|---|
400 | พารามิเตอร์ไม่ถูกต้อง เช่น year_month ผิดรูปแบบ หรือไม่ได้ส่ง parameters ที่จำเป็น |
401 | API Key ไม่ถูกต้องหรือไม่ได้ส่ง |
404 | ไม่พบพนักงาน, ไม่พบรอบเดือน หรือไม่พบรอบแบ่งจ่ายที่ระบุ |
Code Examples
cURL
# ดูสรุปเงินเดือนรอบปกติ
curl -X GET "https://openapi.humansoft.co.th/api/v1/open-apis/salary/get-data-filter?path_action=salary_summary&employee_code=EMP001&year_month=2026-02&language_code=TH" \
-H "Ocp-Apim-Subscription-Key: YOUR_API_KEY"
# ดูสรุปงวดแบ่งจ่าย (split payroll)
curl -X GET "https://openapi.humansoft.co.th/api/v1/open-apis/salary/get-data-filter?path_action=salary_summary&employee_code=EMP001&year_month=2026-02&master_salary_split_seq=1&language_code=TH" \
-H "Ocp-Apim-Subscription-Key: YOUR_API_KEY"Notes
- API นี้ส่งข้อมูลเบากว่า
daily_in_monthเพราะส่งเฉพาะ section ที่จำเป็นสำหรับมุมมองสรุป - เหมาะสำหรับ Dashboard, Mobile app หรือ Summary view ที่ต้องการข้อมูลเบา
- รองรับ split payroll ผ่าน
master_salary_split_seqเพื่อดูสรุปแยกตามงวดแบ่งจ่าย - ค่า
summaryจะ sync อัตโนมัติกับincome.total_incomeและdeduction.total_deduction
Related APIs
- Daily In Month - ดูข้อมูลเต็มรวมตารางเวลารายวัน
- Calculate Month - คำนวณเงินเดือน ควรเรียกก่อน salary_summary
- Slip Normal - ดูสลิปเงินเดือนแบบ PDF
- Current Month - ดูรอบเดือนปัจจุบัน เพื่อหา year_month
Last updated on