#tables#gl
หัวเอกสารหัก ณ ที่จ่าย (gl_wht_list)
หัวใบหัก ณ ที่จ่าย 1 แถวต่อ 1 เลขที่ใบหัก (tax_doc_no) รายการแยกตามประเภทเงินได้อยู่ที่ รายการหัก ณ ที่จ่ายแยกประเภทเงินได้ (gl_wht_list_detail) ตารางเดียวใช้ได้สองทิศ: เราหักเขา (ภาษีหัก ณ ที่จ่าย ฝั่งซื้อ/จ่าย ใช้ยื่น ภ.ง.ด.3 / ภ.ง.ด.53) และ เขาหักเรา (ภาษีถูกหัก ฝั่งขาย/รับ) แยกด้วย trans_flag ภาพรวมอยู่ที่ ทะเบียนภาษีซื้อ/ภาษีขาย และภาษีหัก ณ ที่จ่าย (VAT Register & WHT)
คอลัมน์สำคัญ
| คอลัมน์ | ความหมาย | ใช้ที่ไหน |
|---|---|---|
doc_no, doc_date |
เอกสารเจ้าของใบหัก | journaltax.go:241 |
trans_flag |
ชนิดเอกสารเจ้าของ แยกทิศภาษี (ดูตารางด้านล่าง) | ลบ/อ่านทุกที่ |
tax_doc_no |
เลขที่เอกสารหัก ณ ที่จ่าย ห้ามซ้ำทั้งระบบ (คีย์เชื่อมกับตารางลูก) | journaltax.go:108, journaltax.go:304 |
due_date |
วันที่หัก ณ ที่จ่าย (ถ้าว่างใช้วันที่เอกสาร) รายงานกรองตามวันนี้ | journaltax.go:260, report_menu_gl_fa.go:1159 |
amount |
ผลรวมฐานภาษีของทุกบรรทัดลูก | journaltax.go:291-296 |
tax_value |
ผลรวมภาษีที่หักของทุกบรรทัดลูก | journaltax.go:291-296, pay_check.go:70 |
cust_code |
รหัสเจ้าหนี้/ลูกหนี้ (ถ้าแถวไม่ระบุ ใช้ของเอกสาร) | trans_tax.go:148-152 |
cust_name, cust_address |
ชื่อ/ที่อยู่ ดึงจาก ap_supplier หรือ ar_customer ตอนบันทึก |
journaltax.go:241-256 |
cust_tax_type |
ประเภทผู้ถูกหัก คัดลอกจาก ap_status/ar_status ของทะเบียน ใช้แยก ภ.ง.ด.3 (0) / ภ.ง.ด.53 (1) |
journaltax.go:241-256, report_menu_gl_fa.go:1729-1730 |
card_number |
เลขบัตรประชาชน จาก *_detail.card_id |
journaltax.go:241-256 |
tax_number |
เลขประจำตัวผู้เสียภาษี จาก *_detail.tax_id |
journaltax.go:241-256 |
ทิศภาษีตาม trans_flag
| ทิศ | party | flag | ที่มา |
|---|---|---|---|
| เราหัก (ภาษีหัก ณ ที่จ่าย) | ap | 12, 16, 260, 262, 264, 315, มัดจำซื้อ 11, 25 | trans_tax.go:48 |
| เขาหักเรา (ภาษีถูกหัก) | ar | 44, 48, 144, 250, 252, ขายสินทรัพย์ 1802, มัดจำขาย 110, 112 | trans_tax.go:48 |
| จ่ายชำระหนี้ / รับชำระหนี้ | ap / ar | 19 / 239 (ap_ar_trans) |
trans_tax.go:53 |
| JV ทำมือ เราหัก / เขาหักเรา | ap / ar | 1502 / 1501 | journaltax.go:17-19 |
คีย์และความสัมพันธ์
- ลูก: รายการหัก ณ ที่จ่ายแยกประเภทเงินได้ (gl_wht_list_detail) เชื่อมด้วย
doc_no+trans_flag(+tax_doc_no) - เจ้าของ: หัวเอกสารสินค้า/ซื้อ/ขาย (ic_trans), หัวเอกสารสินทรัพย์ (as_trans) (1802), หัวเอกสารใบวางบิล/ใบเสร็จ-จ่ายชำระหนี้ (ap_ar_trans) (19/239), หรือ JV ทำมือ (หัวสมุดรายวันทั่วไป (gl_journal))
- ทะเบียนคู่ค้า: ทะเบียนเจ้าหนี้/ผู้ขาย (ap_supplier), ทะเบียนลูกหนี้/ลูกค้า (ar_customer)
- เอกสารรับ/จ่ายเงิน:
total_tax_at_payของ หัวสรุปการรับ/จ่ายเงิน (cb_trans) คือ Σgl_wht_list.tax_valueของเอกสาร (pay_check.go:52-70)
ใครเขียน (writers)
- ทุกทางเข้าผ่าน
journalWhtStmtsjournaltax.go:260และwhtInsertjournaltax.go:241: แท็บ WHT ของ JVjournaltax.go:82, ของเอกสารdocWhtStmtstrans_tax.go:148, ของขายสินทรัพย์saveAssetSaleWhtfa_sale.go:666 - ข้อมูล WHT เป็นข้อมูลที่ผู้ใช้คีย์เสมอ ไม่มีการคำนวณให้ใหม่ ("raw")
ใครลบและใครอ่าน
- ลบ: ก่อน insert ใหม่ในแท็บเดียวกัน
trans_tax.go:162-163; ลบ JVjournaltax.go:94-95,journaltax.go:132-133; ลบตามเอกสารtrans_tax.go:202-203; แถวกำพร้าtrans_tax.go:245-246; ลบเอกสารขายสินทรัพย์fa_sale.go:488-490 - อ่าน: รายงาน ภ.ง.ด.3 / ภ.ง.ด.53 / ภาษีถูกหัก
report_menu_gl_fa.go:1137และลงทะเบียนเมนู:1729-1731; รวมยอดหักของเอกสารpay_check.go:70,service.go:1875; คอลัมน์ "ภาษีหัก ณ ที่จ่าย" รายงานใบสั่งขาย 44report_menu_so_po.go:714
ข้อควรระวัง
tax_doc_noซ้ำไม่ได้แม้ต่างเอกสาร ถ้าซ้ำระบบแจ้ง "เลขที่เอกสารหัก ณ ที่จ่าย ซ้ำ" (journaltax.go:108,journaltax.go:304)- แถวที่ไม่ระบุ
tax_doc_noแต่มีรายการลูกหรือรหัสคู่ค้า ระบบปฏิเสธ (ฝั่ง C# เดิมข้ามเงียบ ๆ)journaltax.go:270-276 - ใบหักของเอกสารยกเลิก ยังอยู่ รายงานแสดงสถานะ "ยกเลิก" และยอดเป็น 0 โดยดู
last_statusของเอกสารต้นทาง (19/239 →ap_ar_trans, 1501/1502 → ไม่ยกเลิก, อื่น ๆ →ic_trans)report_menu_gl_fa.go:1156-1157 - การอัปเดตเลขที่เอกสารตอนแก้เลขเอกสารขายสินทรัพย์ย้ายใบหักตาม
doc_no/doc_dateใหม่ (fa_sale.go:666-680) - เงินและอัตราเก็บ NUMERIC (ยอด 2 ตำแหน่ง อัตรา 4 ตำแหน่ง) (การปัดเศษ ทศนิยม และตัวเลขเงิน (Rounding & Decimal Policy))
ที่มาในโค้ด
backend/internal/application/process/journaltax.go:241whtInsertbackend/internal/application/process/journaltax.go:260journalWhtStmtsbackend/internal/application/process/journaltax.go:304ชื่อ constraint เลขที่ซ้ำbackend/internal/application/process/trans_tax.go:48transWhtPartybackend/internal/application/process/trans_tax.go:148docWhtStmtsbackend/internal/application/process/fa_sale.go:666saveAssetSaleWhtbackend/internal/application/process/pay_check.go:52total_tax_at_paybackend/internal/application/process/report_menu_gl_fa.go:1137รายงาน WHTbackend/internal/application/process/report_menu_gl_fa.go:1729ลงทะเบียนเมนูรายงานbackend/internal/application/process/report_menu_so_po.go:714ยอดหักในรายงานใบสั่งขายbackend/internal/application/process/service.go:1875รวม tax_value