การเงิน / ใบเสร็จ
จัดการการชำระเงิน ออกใบเสร็จ รองรับหลายช่องทางการชำระ พร้อมระบบส่วนลดและเลขลำดับอัตโนมัติ
ขั้นตอนการชำระเงิน
การชำระเงินจะเริ่มต้นจากห้องตรวจ เมื่อแพทย์กด "ส่งห้องการเงิน" ข้อมูลค่ารักษาจะถูกส่งมาที่หน้าการเงิน:
ห้องตรวจ
ส่งห้องการเงิน
ตรวจสอบรายการ
เลือกช่องทางชำระ
ออกใบเสร็จ
ช่องทางการชำระเงิน
ระบบรองรับหลายช่องทางการชำระเงิน:
| ช่องทาง | ไอคอน | คำอธิบาย |
|---|---|---|
| เงินสด | ชำระด้วยเงินสด ระบบจะคำนวณเงินทอนอัตโนมัติ | |
| บัตรเครดิต/เดบิต | ชำระด้วยบัตร สามารถบันทึกหมายเลขอ้างอิง | |
| โอนเงิน | ชำระผ่านการโอนเงิน QR Code หรือ Internet Banking | |
| ค้างชำระ | บันทึกเป็นยอดค้างชำระ ยังไม่ชำระ — รายชื่อจะปรากฏในแท็บค้างชำระ | |
| สวัสดิการ | สำหรับผู้ป่วยที่ใช้สิทธิ์สวัสดิการ | |
| หลายช่องทาง | แบ่งชำระหลายช่องทาง เช่น เงินสดบางส่วน + โอนบางส่วน |
ระบบค้างชำระ (Pending Payment)
เมื่อเลือกช่องทาง "ค้างชำระ" ระบบจะจัดการยอดหนี้ดังนี้:
แท็บค้างชำระ (Tab 3)
ในหน้าการเงิน แท็บที่ 3 จะแสดงรายชื่อผู้ป่วยที่มียอดค้างชำระ:
- ชื่อผู้ป่วย, เลขที่ใบเสร็จ, ยอดค้างทั้งหมด
- ปุ่ม "รับชำระหนี้" เพื่อบันทึกการรับชำระ (ชำระทั้งหมดหรือบางส่วนได้)
สถานะใบเสร็จ
| สถานะ | Badge | คำอธิบาย |
|---|---|---|
| ค้างชำระ | ค้างชำระ | ยังมียอดค้างชำระอยู่ |
| ชำระหนี้ครบแล้ว | ชำระหนี้ครบแล้ว | ชำระครบถ้วนแล้ว — badge สีฟ้าเข้ม แสดงทั้งในแท็บรายการวันนี้และหน้าแก้ไขใบเสร็จ |
การคำนวณรายได้
- ยอดค้างชำระไม่นับเป็นรายได้ — จะถูกหักออกจากรายได้วันนี้/เดือนนี้
- รายได้จากชำระหนี้ — เมื่อรับชำระหนี้ ยอดที่ได้รับจะถูกรวมเป็นรายได้
- สูตร: รายได้ = ยอดรวม - ยอดค้างชำระ + ยอดที่รับชำระหนี้
ส่วนลดและคูปอง
ประเภทส่วนลด
| ประเภท | วิธีใช้ | ตัวอย่าง |
|---|---|---|
| ส่วนลดเปอร์เซ็นต์ | ใส่ตัวเลขเปอร์เซ็นต์ในช่องส่วนลด | ลด 10% จากยอดรวม |
| ส่วนลดจำนวนเงิน | ใส่จำนวนเงินโดยตรง | ลด 500 บาท |
| คูปอง | พิมพ์รหัสคูปองในช่องคูปอง | รหัส DISCOUNT20 |
การพิมพ์ใบเสร็จ
ระบบรองรับการพิมพ์ใบเสร็จหลายขนาด:
| ขนาดกระดาษ | ชนิดเครื่องพิมพ์ | เหมาะสำหรับ |
|---|---|---|
| 80mm Thermal | เครื่องพิมพ์ใบเสร็จ Thermal | ใบเสร็จสำหรับลูกค้า (ใช้ทั่วไป) |
| A5 | เครื่องพิมพ์ทั่วไป | ใบเสร็จกึ่งทางการ |
| A4 | เครื่องพิมพ์ทั่วไป | ใบเสร็จทางการเต็มรูปแบบ |
ส่วนหัวใบเสร็จ
ใบเสร็จสามารถตั้งค่าส่วนหัวได้ทั้งภาษาไทยและภาษาอังกฤษ ประกอบด้วย:
- ชื่อคลินิก: ภาษาไทยและภาษาอังกฤษ
- ที่อยู่คลินิก: ภาษาไทยและภาษาอังกฤษ
- เบอร์โทรศัพท์
- เลขประจำตัวผู้เสียภาษี
- โลโก้คลินิก: แสดงบนใบเสร็จ
แก้ไข / ยกเลิกใบเสร็จ
แก้ไขใบเสร็จ
สามารถแก้ไขรายละเอียดบางส่วนของใบเสร็จได้ เช่น หมายเหตุ วิธีชำระเงิน โดยเลขลำดับจะไม่เปลี่ยน
ยกเลิกใบเสร็จ
billing.cancel_receiptแท็บนัดหมายครั้งถัดไป
ในหน้าการเงินจะมีแท็บ "นัดหมายครั้งถัดไป" ที่ช่วยให้สามารถจองนัดหมายครั้งต่อไปได้ทันทีหลังชำระเงิน เพื่อเพิ่มความสะดวกให้ผู้ป่วยไม่ต้องไปจองนัดที่เคาน์เตอร์อีกครั้ง
การทำงานเหมือนกับแท็บนัดหมายในห้องตรวจ ดูรายละเอียดเพิ่มเติมที่ ห้องตรวจ / การรักษา
ระบบเลขลำดับอัตโนมัติ
ใบเสร็จจะได้รับเลขลำดับอัตโนมัติ ซึ่งสามารถตั้งค่ารูปแบบได้ที่หน้าตั้งค่าระบบ:
| ส่วนประกอบ | คำอธิบาย | ตัวอย่าง |
|---|---|---|
| Prefix | คำนำหน้าเลขลำดับ | RCP, INV, RC |
| ปี | รูปแบบปี (ค.ศ. หรือ พ.ศ.) | 2025, 68 |
| เดือน | รูปแบบเดือน | 01-12 |
| ลำดับ | เลขลำดับที่เพิ่มอัตโนมัติ | 0001, 0002 |
| รีเซ็ต | ตัวเลือกการรีเซ็ตเลขลำดับ | ทุกเดือน / ทุกปี / ไม่รีเซ็ต |
ตัวอย่างเลขลำดับ: RCP-2568-03-0001
สิทธิ์การเข้าถึง
โมดูลการเงินมีทั้งหมด 9 สิทธิ์ — 4 สิทธิ์พื้นฐาน + 5 สิทธิ์พิเศษ แบ่งเป็นกลุ่มใบเสร็จและกลุ่มส่วนแบ่งทันตแพทย์ (ดูรายละเอียดฉบับเต็มที่ สิทธิ์ & Roles)
สิทธิ์พื้นฐาน (4 สิทธิ์)
| สิทธิ์ | ควบคุม | หน้าที่ใช้ |
|---|---|---|
billing.view |
เห็นเมนู "การเงิน" ใน Sidebar | Sidebar |
billing.create |
ปุ่ม "บันทึกการชำระเงิน" + ช่องเพิ่มรายการค่ารักษาในหน้าชำระเงิน | pay.php |
billing.edit |
ปุ่ม "แก้ไข" (ดินสอ) รายการค่ารักษา — แก้จำนวน/ราคาต่อรายการ | pay.php |
billing.delete |
ปุ่ม "ลบ" (ถังขยะ) รายการค่ารักษาออกจากใบเสร็จ | pay.php |
สิทธิ์พิเศษ: ใบเสร็จ (3 สิทธิ์)
| สิทธิ์ | ควบคุม | หน้าที่ใช้ |
|---|---|---|
billing.edit_receipt |
1. ปุ่ม "แก้ไขใบเสร็จ" (ดินสอ) ในรายการใบเสร็จประจำวัน 2. เข้าหน้าแก้ไขใบเสร็จ (edit_receipt.php) — ค้นหา ดูรายละเอียด แก้ไขข้อมูลใบเสร็จ 3. ลิงก์ "แก้ไขใบเสร็จ" ในหน้าการจัดการ (Hub) |
index.php, edit_receipt.php, management/ |
billing.cancel_receipt |
1. เข้าหน้ายกเลิกใบเสร็จ (cancel_receipt.php) — ค้นหา ดูรายละเอียด ยกเลิกใบเสร็จ 2. ลิงก์ "ยกเลิกใบเสร็จ" ในหน้าการจัดการ (Hub) |
cancel_receipt.php, management/ |
billing.delete_receipt |
ลบใบเสร็จ (สงวนไว้สำหรับใช้งานในอนาคต) | - |
สิทธิ์พิเศษ: ส่วนแบ่งทันตแพทย์ (2 สิทธิ์)
| สิทธิ์ | ควบคุม | หน้าที่ใช้ |
|---|---|---|
billing.edit_doctor_share |
1. แก้ไขส่วนแบ่งทันตแพทย์ที่มีอยู่ (ปุ่มดินสอในแท็บส่วนแบ่ง) 2. เพิ่มส่วนแบ่งทันตแพทย์ใหม่ (ช่องเพิ่มรายการ) ใช้ได้ทั้งในหน้าชำระเงินและหน้าแก้ไขใบเสร็จ |
pay.php, edit_receipt.php |
billing.delete_doctor_share |
ลบส่วนแบ่งทันตแพทย์ (ปุ่มถังขยะในแท็บส่วนแบ่ง) ใช้ได้ทั้งในหน้าชำระเงินและหน้าแก้ไขใบเสร็จ |
pay.php, edit_receipt.php |
แผนผังสิทธิ์แยกตามหน้า
หน้ารายการการเงิน (index.php)
| ส่วน | สิทธิ์ | หมายเหตุ |
|---|---|---|
| เข้าหน้า | billing.view | ควบคุมผ่าน Sidebar |
| ปุ่มแก้ไขใบเสร็จ (ดินสอ) ต่อแถว | billing.edit_receipt | ซ่อนปุ่มถ้าไม่มีสิทธิ์ |
หน้าชำระเงิน (pay.php)
| ส่วน | สิทธิ์ | การบังคับใช้ |
|---|---|---|
| ปุ่ม "บันทึกการชำระเงิน" | billing.create | Server + ซ่อนปุ่ม |
| ช่องเพิ่มรายการค่ารักษา | billing.create | Server + ซ่อน UI |
| ปุ่มแก้ไขรายการ (ดินสอ) | billing.edit | Server + ซ่อนปุ่ม |
| ปุ่มลบรายการ (ถังขยะ) | billing.delete | Server + ซ่อนปุ่ม |
| คอลัมน์ "ดำเนินการ" ทั้งคอลัมน์ | billing.edit หรือ billing.delete | ซ่อนทั้งคอลัมน์ถ้าไม่มีทั้ง 2 |
| เพิ่มส่วนแบ่งทันตแพทย์ + แก้ไข | billing.edit_doctor_share | Server + ซ่อนปุ่ม |
| ลบส่วนแบ่งทันตแพทย์ | billing.delete_doctor_share | Server + ซ่อนปุ่ม |
หน้าแก้ไขใบเสร็จ (edit_receipt.php)
| ส่วน | สิทธิ์ | การบังคับใช้ |
|---|---|---|
| เข้าหน้าทั้งหมด | billing.edit_receipt | Server — redirect ถ้าไม่มี |
| ค้นหาใบเสร็จ + ดูรายละเอียด + บันทึกแก้ไข | billing.edit_receipt | ผ่าน page-level guard |
| เพิ่ม/แก้ไขส่วนแบ่งทันตแพทย์ | billing.edit_doctor_share | Server (AJAX) |
| ลบส่วนแบ่งทันตแพทย์ | billing.delete_doctor_share | Server (AJAX) |
หน้ายกเลิกใบเสร็จ (cancel_receipt.php)
| ส่วน | สิทธิ์ | การบังคับใช้ |
|---|---|---|
| เข้าหน้าทั้งหมด | billing.cancel_receipt | Server — redirect ถ้าไม่มี |
| ค้นหาใบเสร็จ + ดูรายละเอียด + ยืนยันยกเลิก | billing.cancel_receipt | ผ่าน page-level guard |
พิมพ์ใบเสร็จ (receipt.php / receipt_thermal.php)
| ส่วน | สิทธิ์ | หมายเหตุ |
|---|---|---|
| พิมพ์ใบเสร็จ | ไม่ตรวจสิทธิ์เพิ่มเติม | ผู้ใช้ที่ล็อกอินแล้วสามารถพิมพ์ใบเสร็จได้ทุกคน |
billing.edit_receipt และ billing.cancel_receipt ยังแสดงเป็นลิงก์ในหน้า การจัดการ (Hub) ด้วย — หากไม่มีสิทธิ์ลิงก์เหล่านั้นจะถูกซ่อน