สมอง SML

คลังความรู้ / ถาม-ตอบ

#faq#cheque#cash-bank#gl#ap

เช็คจ่าย ตั้งแต่จ่ายเช็ค-เช็คผ่าน-คืน-ขาดสิทธิ์-เปลี่ยนเช็ค ลงบัญชีอย่างไร

ตอบสั้น: จ่ายเช็คในแท็บจ่ายชำระ → Cr เช็คจ่าย 2112 แล้วตามด้วยเอกสาร 451 เช็คผ่าน (Dr 2112 / Cr ธนาคาร), 453 เช็คคืน และ 452 ขาดสิทธิ์ (Dr ธนาคาร / Cr เจ้าหนี้), 456 เปลี่ยนเช็ค (Dr 2112 / Cr เจ้าหนี้) สถานะใน cb_chq_list คำนวณใหม่จากเอกสารล่าสุด

รายละเอียด

ดู วงจรเช็ครับ/เช็คจ่าย บัตรเครดิต และโอนเงินระหว่างบัญชี (Cheque Lifecycle & Bank Transfer), เช็คจ่าย: ผ่าน/ขาดสิทธิ์/คืน/เปลี่ยน (Paid Cheque Lifecycle), เช็คจ่ายยกมา (Paid Cheque Beginning Balance), เช็ครับ/เช็คจ่าย และสถานะเช็ค (cheque / cb_chq_list.status / chq_type)

จ่ายเช็ค แถวเช็คในแท็บชำระเก็บเป็น cb_trans_detail doc_type 2 และสร้างแถว cb_chq_list (เช็คจ่ายใช้สมุดบัญชีของบริษัท) GL ฝั่งจ่ายลง Cr 2112 (แท็บรับ/จ่ายชำระ (เงินสด โอน เช็ค บัตร PromptPay ภาษีหัก) เก็บและลงบัญชีอย่างไร ทำไมขึ้น "ยอดการจ่ายเงินไม่สมบูรณ์")

สถานะ (chequeStatusSQL, chq_type 2) จับคู่ด้วย chq_number (456 ที่ไม่มีเลขเช็ค ใช้ item_code แทน)

เอกสาร สถานะ
จ่ายในแท็บชำระ / 406 เช็คจ่ายยกมา 0 เช็คในมือ
451 เช็คผ่าน 2
453 เช็คคืน 3
452 เช็คขาดสิทธิ์ 4
456 เปลี่ยนเช็ค 7

เลือกเช็คได้เมื่อ (chequeCandidateWhere)

  • 451, 452: สถานะ 0 หรือ 3 (และสมุดบัญชีตรง pass_book_code ถ้าระบุ)
  • 453: สถานะ 2 (ผ่านแล้วเท่านั้น)
  • 456: สถานะ 0 หรือ 3 และเจ้าหนี้เดียวกัน

GL เส้นมาตรฐาน (เช็คจ่าย = 2112/2111, ธนาคาร = erp_pass_book.account_code_1 ไม่มีใช้ 1112/1113/1111)

  • 451 ผ่าน: Dr เช็คจ่าย / Cr ธนาคาร
  • 453 คืน: Dr ธนาคาร / Cr เจ้าหนี้ (ตั้งหนี้กลับ หลังธนาคารตัดเงินไปแล้ว)
  • 452 ขาดสิทธิ์: Dr ธนาคาร / Cr เจ้าหนี้
  • 456 เปลี่ยนเช็ค: Dr เช็คจ่าย / Cr เจ้าหนี้
  • 406 ยกมา: ไม่มี case ใน GL เส้นมาตรฐาน

ข้อควรระวัง

ดูเพิ่ม

ที่มาในโค้ด

  • backend/internal/application/process/service.go:1861 แท็บจ่ายชำระ เช็ค = 2112
  • backend/internal/application/process/service.go:2311 GL เช็คจ่าย 451-456; :2312 บัญชี 2112/2111
  • backend/internal/application/process/service.go:2318 else branch (เงื่อนไข 453 ไม่ถูกใช้)
  • backend/internal/application/process/cheque.go:32 chequeStatusSQL chq_type 2
  • backend/internal/application/process/cheque.go:220 chequeCandidateWhere 451/452/453/456
  • backend/internal/application/process/trans.go:1338 payStmts เขียนแถวเช็ค/cb_chq_list
  • backend/internal/application/process/cheque_forward.go:10 เช็คจ่ายยกมา 406