Save Extra Round
บันทึกข้อมูลรายรับและรายจ่ายของพนักงานในงวดพิเศษ โดยส่งข้อมูลพนักงานทั้งหมดเข้ามาในครั้งเดียว (Bulk Save)
Endpoint
POST /api/v1/open-apis/salary/update-data-filter?path_action=save_extra_roundRequest Body
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
master_salary_xtra_report_id | string | Yes | รหัสงวดพิเศษ (Base64 encoded) | "MjAyNTAzMjM5NzQxNDI=" |
employee_lists | array | Yes | รายการข้อมูลพนักงานที่จะบันทึก | (ดูโครงสร้างด้านล่าง) |
โครงสร้าง employee_lists (แต่ละคน)
| Parameter | Type | Required | Description |
|---|---|---|---|
employee_code | string | Yes | รหัสพนักงาน |
total_income | number | Yes | ยอดเงินรับรวม |
total_nvat_income | number | Yes | ยอดรวมรายได้ส่วนที่เป็น Non-VAT |
nvat_rate | number | Yes | อัตราภาษีมูลค่าเพิ่ม |
total_nvat | number | Yes | ยอดภาษี NVAT ขั้นสุดท้าย |
total_salary | number | Yes | ยอดเงินสุทธิ |
xtra_remark | string | No | หมายเหตุสลิปงวดพิเศษ |
include_calc_tax | string | Yes | รวมคิดภาษีหัก ณ ที่จ่าย (Y หรือ N) |
calc_tax_amt | number | Yes | ยอดเงินที่จะนำไปหักภาษี ณ ที่จ่าย |
calc_tax | number | Yes | ค่าภาษี |
income | array | No | รายการรายรับ |
expense | array | No | รายการรายจ่าย |
โครงสร้าง income / expense
| Parameter | Type | Required | Description |
|---|---|---|---|
salary_type_id | string | Yes | รหัสประเภทรายการ (Base64 encoded) |
income_amt / expenses_amt | number | Yes | จำนวนเงิน |
- ไม่สามารถบันทึกได้หากงวดถูกปิด (Finished) แล้ว ต้อง Unfinish ก่อน
- หาก
employee_codeไม่ถูกต้องแม้แต่คนเดียว ระบบจะยกเลิกการบันทึกทั้งหมด - การบันทึกจะลบข้อมูลเดิมแล้วแทรกใหม่ทั้งหมด (Atomic Transaction)
Response Format
Success Response
{
"code": 200,
"message": "Extra Round Saved Successfully: At Round 1 ( โบนัสไตรมาส1 )",
"payload": {
"master_salary_xtra_report_id": "20250323974142",
"master_salary_xtra_name": "โบนัสไตรมาส1",
"master_salary_xtra_seq": 1,
"employee_lists": 1
}
}Response Fields
| Field | Type | Description |
|---|---|---|
master_salary_xtra_report_id | string | รหัสงวดพิเศษ (plain text) |
master_salary_xtra_name | string | ชื่องวดพิเศษ |
master_salary_xtra_seq | number | ลำดับงวดพิเศษ |
employee_lists | number | จำนวนพนักงานที่บันทึกสำเร็จ |
Code Examples
cURL
curl -X POST "https://openapi.humansoft.co.th/api/v1/open-apis/salary/update-data-filter?path_action=save_extra_round" \
-H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"master_salary_xtra_report_id": "MjAyNTAzMjM5NzQxNDI=",
"employee_lists": [
{
"employee_code": "EMP001",
"total_income": 5000,
"total_nvat_income": 0,
"nvat_rate": 7,
"total_nvat": 0,
"total_salary": 5000,
"xtra_remark": "โบนัสพิเศษ",
"include_calc_tax": "N",
"calc_tax_amt": 0,
"calc_tax": 0,
"income": [
{
"salary_type_id": "SU5DMDE=",
"income_amt": 5000
}
],
"expense": []
}
]
}'Notes
- ค่า
salary_type_idใน income/expense ต้องเป็น Base64 encoded (ดูรายการที่ใช้ได้จาก Get Extra Round Detail) - ข้อมูลเดิมจะถูกลบและแทรกใหม่ทั้งหมดในครั้งเดียว หากเกิดข้อผิดพลาดระหว่างทางจะยกเลิกทั้งหมด
Related APIs
- Finish Extra Round - ล็อกงวดหลังตรวจสอบยอดถูกต้องแล้ว
- Get Extra Round Detail - ตรวจสอบข้อมูลงวดพิเศษ
Last updated on