รีวิวการเปลี่ยนแปลง · เวอร์ชัน 1.2.0
ค่าปรับคืนไม่ครบรายวัน
ข้อมูลในภาพเป็นชุดตัวอย่าง ไม่ใช่ข้อมูลลูกค้า

เวอร์ชัน 1.2.0 · ค่าปรับคืนไม่ครบรายวัน

เรตรายวันอยู่ที่สินค้า เป็นจำนวนคงที่หรือเปอร์เซ็นต์ของค่าเช่าชิ้นนั้น คืนทีละชิ้นได้ และปิดบิลเมื่อทุกชิ้นมีวันคืนแล้ว

บิลคนถัดไปที่ของส่งไม่ครบ ตัดชิ้นหรือยกเลิกทั้งใบได้โดยไม่ริบมัดจำ รายงานแยกค่าปรับ เงินคืนเพราะของส่งไม่ครบ และริบมัดจำจากการยกเลิกโดยลูกค้า

1. ตั้งเรตค่าปรับบนสินค้า

สิ่งที่เปลี่ยน

หน้าสินค้ามีช่องค่าปรับคืนช้าต่อวัน เลือกจำนวนคงที่ (บาท/วัน) หรือเปอร์เซ็นต์ของค่าเช่าชิ้นนั้นต่อวัน เปอร์เซ็นต์ปัดขึ้นเป็นบาท

วิธีใช้งาน

เปิดเพิ่มชุดหรือแก้ไขชุด ติ๊ก “คิดค่าปรับคืนช้า” แล้วเลือกประเภทกับจำนวน เรตนี้ถูกคัดลอกลงบรรทัดเช่าตอนเปิดหรือแก้บิล แก้สินค้าทีหลังไม่เปลี่ยนบิลที่บันทึกแล้ว

ฟอร์มสินค้าตั้งค่าปรับคงที่ 100 บาท
จำนวนคงที่ 100 บาทต่อวันที่คืนช้า
ฟอร์มสินค้าตั้งค่าปรับเป็นเปอร์เซ็นต์
เปอร์เซ็นต์ของค่าเช่าชิ้นนั้นต่อวัน เช่น 10% ของค่าเช่า 2,000 บาท = 200 บาท/วัน

2. ไม่กรอกเรตเป็น 0 และสินค้าเดิมเป็นคงที่ 100

สิ่งที่เปลี่ยน

ไม่มีเรตสำรอง 100 บาทในโค้ดอีกแล้ว สินค้าที่สร้างใหม่แล้วไม่ติ๊กช่องนี้ ค่าปรับของชิ้นนั้นเป็น 0 สินค้าเดิมที่ยังไม่มีเรตถูก migrate เป็นคงที่ 100 บาทต่อวัน และไม่เขียนทับเรตที่ตั้งไว้แล้ว

วิธีใช้งาน

รัน node scripts/migrate-late-return-penalty.js ครั้งเดียวกับฐานข้อมูลของร้าน มี --dry-run ให้ดูก่อน บิลที่ปิดแล้วไม่ถูกแก้ยอดค่าปรับเดิม

สินค้าที่ยังไม่ตั้งเรตก่อน migrate
ก่อน migrate สินค้าที่ไม่มีเรตแสดงว่าไม่คิดค่าปรับ
สินค้าเดิมหลัง migrate เป็น 100 บาทต่อวัน
หลัง migrate สินค้าใบเดิมเป็น 100 บาทต่อวัน
หน้าแก้ไขสินค้าที่ migrate แล้ว
เปิดแก้ไขแล้วช่องค่าปรับถูกติ๊กไว้เป็นจำนวนคงที่ 100
สินค้าใหม่หลัง migrate ที่ไม่ตั้งเรต
สินค้าที่สร้างหลัง migrate แล้วไม่กรอกช่องนี้ ยังเป็น 0

3. คืนครบตรงกำหนด

สิ่งที่เปลี่ยน

วันคืนตรงกำหนดหรือก่อนกำหนดนับเป็น 0 วัน ค่าปรับของบิลเป็น 0 แล้วปิดงานแบบเดิม คืนมัดจำหลังหักค่าเสียหาย

วิธีใช้งาน

ที่บิลสถานะรับชุดแล้ว กดบันทึกการคืน ติ๊กคืนในรอบนี้ครบทุกชิ้นเช่า ตรวจวันคืน แล้วยืนยัน สถานะเป็นคืนแล้ว

Dialog คืนตรงกำหนด ค่าปรับ 0
คืนวันที่ 27 กันยายน ซึ่งเป็นวันกำหนดคืน แสดง 0 วัน และค่าปรับที่จะคิด 0 บาท
บิลที่ปิดหลังคืนตรงกำหนด
หลังยืนยัน บิลปิดเป็นคืนแล้ว และค่าปรับที่บันทึกไว้เป็น 0

4. คืนครบครั้งเดียวแต่ช้ากว่ากำหนด

สิ่งที่เปลี่ยน

จำนวนวันคือวันที่คืนชิ้นนั้นเลยวันกำหนด ค่าปรับชิ้น = จำนวนวันคูณเรตที่ snapshot ไว้ตอนเปิดบิล ปิดงานในรอบนี้เลยเพราะครบทุกชิ้น

วิธีใช้งาน

ตั้งวันคืนจริงใน dialog ระบบแสดงวันและเรตของชิ้นนั้น พนักงานปรับยอดรวมเองได้เฉพาะรอบที่กำลังปิดงาน ผ่านช่องปรับยอดค่าปรับ

Dialog คืนช้า 5 วัน ค่าปรับ 1,000 บาท
ค่าเช่า 2,000 บาท เรต 10% = 200 บาท/วัน ช้า 5 วัน จึงเป็น 1,000 บาท แล้วยืนยันเพื่อปิดบิล
บิลที่ปิดแล้วยอดค่าปรับ 1,000
หลังปิดงาน ยอดค่าปรับถูกประทับไว้ที่บิล และนำไปหักมัดจำ

5. คืนบางชิ้น บิลยังไม่ปิด

สิ่งที่เปลี่ยน

ยกเลิกติ๊กชิ้นที่ยังไม่มา ชิ้นที่คืนจะถูกแช่ค่าปรับตามวันของรอบนั้นและปลดให้จองใหม่ได้ บิลยังเป็นรับชุดแล้ว ยังไม่ตั้งวันคืนจริงของทั้งใบ และยังไม่ตัดมัดจำ รายการเช่ามีป้ายคืนไม่ครบ

วิธีใช้งาน

ใน dialog ให้ติ๊กเฉพาะชิ้นที่นำมาในรอบนี้ ติ๊กเสียหายได้เฉพาะชิ้นที่กำลังคืน ยอดที่จะบันทึกรอบนี้คือผลรวมของชิ้นที่ติ๊กคืน

Dialog คืนเฉพาะชิ้นแรก
ชิ้นแรกคืนวันที่ 22 กันยายน คิด 2 วัน × 100 = 200 บาท ชิ้นหลังยังไม่ติ๊ก บิลจึงยังไม่ปิด
รายละเอียดบิลขณะคืนไม่ครบ
หน้ารายละเอียดขณะคืนไม่ครบ แสดงค่าปรับที่แช่ไว้ของชิ้นที่คืนแล้ว และสถานะยังรับชุดแล้ว
รายการเช่ามีป้ายคืนไม่ครบ
รายการเช่าแสดงป้ายคืนไม่ครบบนบิลที่รับชุดไปแล้วและมีบางชิ้นคืนแล้ว

6. รอบถัดไปจนครบ แล้วหยุดค่าปรับ

สิ่งที่เปลี่ยน

ชิ้นที่คืนไปแล้วล็อกไว้ ไม่ติ๊กซ้ำ ค่าปรับของชิ้นนั้นค้างที่วันรอบก่อน ชิ้นที่มาเพิ่มคิดถึงวันของรอบที่ครบ เมื่อครบทุกชิ้นจึงประทับวันคืนจริง ยอดค่าปรับรวม และตัดมัดจำ

วิธีใช้งาน

เปิดบันทึกการคืนอีกครั้ง ตรวจชิ้นที่ล็อกไว้ ติ๊กชิ้นที่นำมาเพิ่ม ตั้งวันคืนของรอบนี้ แล้วยืนยัน

รอบสอง ชิ้นแรกถูกล็อก
ชิ้นแรกคืนแล้วเมื่อ 22 กันยายน และล็อกไว้ที่ 200 บาท ชิ้นหลังคืนวันที่ 27 กันยายน คิด 7 วัน × 200 = 1,400 บาท รวม 1,600 บาทแล้วปิดบิล
บิลหลังปิดมียอดค่าปรับที่แช่ไว้
หลังครบทุกชิ้น บิลเป็นคืนแล้ว และยอดค่าปรับที่แช่ไว้ถูกรวมเป็นค่าปรับของบิล

7. วันส่งมอบ ของบิลก่อนยังไม่กลับ

สิ่งที่เปลี่ยน

การจองคนถัดไปยังล็อกแค่ถึงวันกำหนดคืนบวก buffer เหมือนเดิม ถ้าของบิลก่อนยังไม่ถูกบันทึกว่าคืน บิลคนถัดไปที่ยังไม่รับของจะบอกว่าชิ้นนั้นยังไม่กลับจากบิลก่อน ระบบไม่ยกเลิกให้เอง

วิธีใช้งาน

ปุ่มตัดชิ้นและปุ่มไม่รับทั้งหมดโชว์เมื่อวันส่งมอบมีอย่างน้อยหนึ่งชิ้นที่ยังค้าง และบิลยังเป็นรอชำระมัดจำหรือจองแล้ว หลังกดรับของแล้วทางนี้ปิด

บิลคนถัดไปมีป้ายชิ้นที่ยังไม่กลับ
HELD1 ยังไม่กลับจากบิลก่อน FREE1 อยู่ในคลัง ปุ่มสีส้มตัดชิ้นที่ส่งไม่ได้ และปุ่มสีส้มเข้มไม่รับทั้งหมดโดยไม่ริบมัดจำ คนละปุ่มกับยกเลิกการเช่าสีแดงที่ริบมัดจำ

8. ตัดชิ้นที่ส่งไม่ได้ แล้วรับส่วนที่เหลือ

สิ่งที่เปลี่ยน

ตัดเฉพาะชิ้นที่ส่งไม่ได้ ยอดเช่าและมัดจำคำนวณใหม่ บิลยังจองต่อ เงินที่จ่ายมาเกินยอดใหม่บันทึกเป็นคืนเงิน ชิ้นที่บิลก่อนยังถืออยู่จะไม่ถูกตั้งเป็นว่าง

วิธีใช้งาน

กด “ตัดชิ้นที่ส่งไม่ได้” เมื่อลูกค้ารับเฉพาะชิ้นที่อยู่ในคลัง จากนั้นรับของตามบิลที่เหลือได้ตามปกติ

หลังตัดชิ้นและคืนเงินส่วนต่าง
เหลือ FREE1 ค่าเช่า 2,000 และมัดจำ 500 ส่วนต่าง 2,500 บาทถูกบันทึกเป็นคืนเงินเพราะของส่งไม่ครบ บิลยังจองแล้ว

9. ไม่เหลือชิ้นให้ส่ง

สิ่งที่เปลี่ยน

ถ้าทุกชิ้นเช่ายังไม่กลับ หรือบิลมีชิ้นเดียวที่ส่งไม่ได้ การตัดชิ้นหรือการไม่รับทั้งหมดจะยกเลิกทั้งบิล มัดจำที่ริบเป็น 0 และคืนเท่าที่จ่ายมาแล้ว ไม่เรียกวิธียกเลิกเดิมที่ริบมัดจำ

วิธีใช้งาน

เปิดบิลก่อนรับของ แล้วกดไม่รับทั้งหมดโดยไม่ริบมัดจำ

บิลที่มีชิ้นเดียวและชิ้นนั้นยังไม่กลับ
ทั้งใบมี HELD2 ซึ่งยังไม่กลับจากบิลก่อน
ยกเลิกทั้งบิลและคืนมัดจำ
สถานะยกเลิก มัดจำ 500 บาทถูกคืนทั้งจำนวน เพราะของส่งไม่ครบ ไม่ได้ริบ

10. ลูกค้าไม่รับทั้งหมด ทั้งที่ยังมีบางชิ้นในคลัง

สิ่งที่เปลี่ยน

เจ้าหน้าที่เป็นคนเปิดทางนี้ ถ้ายอม ยกเลิกทั้งบิลโดยไม่ริบมัดจำและคืนเท่าที่จ่ายมาแล้ว ปุ่มยกเลิกการเช่าเดิมยังริบมัดจำทั้งก้อนของบิลที่ยืนยันแล้ว

วิธีใช้งาน

ใช้ปุ่มสีส้ม “ไม่รับทั้งหมด โดยไม่ริบมัดจำ” ถ้าจะริบมัดจำตามนโยบายเดิม ให้ใช้ปุ่มแดง “ยกเลิกการเช่า” ซึ่งต้องพิมพ์รหัสยืนยัน

ปุ่มไม่รับทั้งหมดอยู่ข้างปุ่มยกเลิกปกติ
บิลนี้ยังมี FREE2 ในคลัง แต่ HELD3 ยังไม่กลับ ปุ่มทั้งสองแบบอยู่บนหัวบิล
Dialog ยกเลิกปกติที่ริบมัดจำ
ยกเลิกการเช่าแบบเดิมบอกว่าเงินมัดจำจะถูกริบทั้งหมด เพราะเป็นใบจองที่ยืนยันแล้ว
ยกเลิกเพราะไม่รับทั้งหมดโดยไม่ริบมัดจำ
เมื่อเจ้าหน้าที่กดไม่รับทั้งหมด บิลถูกยกเลิกและคืนมัดจำ 1,000 บาท โดยไม่ริบ

11. รายงานและ Excel

สิ่งที่เปลี่ยน

ค่าปรับรายวันนับเมื่อปิดบิลแล้ว ตามวันคืนจริงในช่วงรายงาน สรุปรายเดือนแยกยอดค่าปรับ เงินคืนเพราะของส่งไม่ครบ และริบมัดจำจากการยกเลิกโดยลูกค้า รายงานมัดจำแสดงค่าปรับทั้งแถวที่ริบและแถวที่ค่าปรับมากกว่า 0 แต่ไม่ได้ริบมัดจำ เงินที่รับเพิ่มเป็นประเภทค่าปรับยังเป็นกระแสเงินสดคนละช่อง

วิธีใช้งาน

เปิดรายงาน เลือกช่วงเวลา แล้วดูแท็บสรุปภาพรวมกับเงินมัดจำ ปุ่มดาวน์โหลด Excel ใช้แถวและคอลัมน์ชุดเดียวกัน

  • ค่าปรับหลังปิดบิลในช่วงนี้ 2,600 บาท มาจากบิลคืนช้า 1,000 และบิลที่ทยอยคืนจนครบ 1,600
  • คืนเงินเพราะของส่งไม่ครบ 3 รายการ รวม 4,000 บาท คือส่วนต่างหลังตัดชิ้น 2,500 บิลที่ไม่มีชิ้นให้ส่ง 500 และบิลที่ไม่รับทั้งหมด 1,000
  • ยกเลิกโดยลูกค้า 1 รายการ ริบมัดจำ 800 บาท และไม่ไปปนกับเงินคืนเพราะของส่งไม่ครบ
สรุปรายเดือนแยกค่าปรับและเงินคืนเพราะของส่งไม่ครบ
สรุปรายเดือนกันยายน 2569 แยกค่าปรับคืนช้า คืนเงินเพราะของส่งไม่ครบ และการยกเลิกโดยลูกค้า
รายงานมัดจำแยกค่าปรับกับเงินคืนเพราะของส่งไม่ครบ
รายงานมัดจำมีทั้งแถวค่าปรับคืนช้าและกลุ่มคืนเงินเพราะของส่งไม่ครบ
ตัวอย่างชีต Excel สรุปภาพรวม
Excel สรุปภาพรวมมีแถวค่าปรับคืนช้าและคืนเงินเพราะของส่งไม่ครบตรงกับหน้าเว็บ
ตัวอย่างชีต Excel เงินมัดจำ
Excel เงินมัดจำแยกค่าปรับคืนช้า ริบมัดจำจากการยกเลิกโดยลูกค้า และชีตคืนเงินเพราะของส่งไม่ครบ