หัวเอกสาร แผงล่าง และแท็บเสริมของจอเอกสาร
หน้านี้อธิบาย "ส่วนประกอบรอบตารางสินค้า" ของจอเอกสารสากล จอบันทึกเอกสารธุรกรรม มุมมองผู้ใช้ (UniversalTransScreen): ฟอร์มหัวเอกสารด้านบน, แผงสรุปยอดด้านล่าง และแท็บเสริม (รายละเอียดเพิ่มเติม / ภาษี / ชำระเงิน / ใช้เงินมัดจำ / GL / ตารางวางบิล) ตารางสินค้าเองอยู่ที่ ตารางรายการสินค้า/จำนวนเงินในเอกสาร (TransItemGrid) ภาพรวมของกลไกอยู่ที่ จอเอกสารธุรกรรมแบบเดียวกันทุกจอ (UniversalTransScreen) ส่วนเอกสารแต่ละชนิดดู doc-* ที่ลิงก์ท้ายหน้า
ช่องไหนโผล่ขึ้นกับสวิตช์ของเอกสารชนิดนั้น (TransLayoutConfig ใน transLayouts.ts: showParty, showTaxDoc, showRefDoc ฯลฯ) และกับรุ่นของระบบ (editionCaps: Starter ไม่มี GL และไม่มีแผนก/สาขา, ฟีเจอร์ "Pro" ต้องเป็นรุ่น Pro) หน้านี้จึงเล่า "ช่องที่มีทั้งหมด" ไม่ใช่ช่องที่เห็นในทุกเอกสาร
วิธีเปิด
ไม่มีเมนูของตัวเอง ส่วนนี้ทั้งหมดอยู่ในจอเอกสารสากลที่เปิดจากเมนูซื้อ/ขาย/สต็อก/ลูกหนี้/เจ้าหนี้/เงินสด-ธนาคาร (ดู จอบันทึกเอกสารธุรกรรม มุมมองผู้ใช้ (UniversalTransScreen) และ สารบัญหน้าจอทั้งหมดของ SML Ai Account (ต้นไม้เมนู → หน้าจอ → โน้ต)) ช่องแก้ไขได้เฉพาะเมื่ออยู่ในโหมดเพิ่ม/แก้ไข ในโหมดดูข้อมูลทุกช่องถูกปิด
1) หัวเอกสาร (TransTopForm)
ฟอร์มเรียงเป็นแถว ๆ (TransTopForm.tsx) ช่องหลักเรียงตามโค้ด:
| ช่อง | เงื่อนไข / ข้อกำหนด |
|---|---|
| วันที่เอกสาร * และ เวลา (HH:mm) | ทุกเอกสาร |
| เลขที่เอกสาร * | แก้ได้เฉพาะตอนเพิ่มเอกสารใหม่ (isEditing && isNewDoc) มีปุ่ม Auto (คำอธิบายปุ่ม "รันเลขที่เอกสารอัตโนมัติตามรูปแบบเอกสาร SML") ขอเลขจากรูปแบบเอกสารที่ตั้งไว้ ดู กำหนดรูปแบบเลขที่เอกสาร (DocFormatScreen) ถ้าเอกสารมีเลขใบกำกับภาษีและเลขนั้นว่างหรือเท่ากับเลขเอกสารเดิม ระบบเติมเลขใบกำกับให้ตามเลขเอกสาร (:185-210) |
| รหัสเอกสาร | ช่องอ่านอย่างเดียว แสดงรหัสรูปแบบเอกสาร (docFormatCode) |
| เจ้าหนี้/ผู้จำหน่าย, ลูกหนี้/ลูกค้า หรือ ผู้เกี่ยวข้อง | showParty ป้ายชื่อมาจาก partyLabel ประกอบด้วยช่องรหัส (ตัวอย่างในช่อง "รหัส...") + ปุ่มแว่น "ค้นหา" + ช่องชื่อ ดูกลไกค้นหาที่ รายการข้อมูล ค้นหา lookup และ dialog กลาง (SmlDataList / SmlLookupModal / SmlDialog) (:222-258) |
| ผู้ติดต่อ | showContactor |
| มูลค่าสุทธิ * | showHeaderAmount ใช้กับเอกสารที่กรอกยอดที่หัวเอกสารแทนตารางสินค้า (gridMode "none") |
| ประเภทรายการ / ประเภทการส่งคืน / ประเภทการรับคืน / ประเภทการเพิ่มหนี้ | ตัวเลือกจาก transLayouts.ts:34-49 ป้ายเปลี่ยนตามชนิด (inquiryLabel); ซื้อมีตัวเลือกเครดิต "0: ซื้อเชื่อ (เครดิต)" / "1: ซื้อสด", ขายมี "0: ขายเชื่อ (เครดิต)" / "1: ขายสด" (transLayouts.ts:20-26) |
| ภาษี: | 0 = แยกนอก, 1 = รวมใน, 2 = ยกเว้นภาษี, 3 = ไม่กระทบภาษี; ช่องอัตราภาษีถูกปิดเมื่อเลือก 2 หรือ 3 ทั้งประเภทรายการและช่องภาษีล็อกเมื่อจอสั่ง lockInquiryVat (ตั้งที่ UniversalTransScreen.tsx:2309, ใช้ที่ TransTopForm.tsx:297,314) |
| ระงับชั่วคราว | ช่องติ๊ก showOnHold (ใบเสนอซื้อ) :349 |
| ผู้ขออนุมัติ / กลุ่มผู้อนุมัติ | showApproval และ รุ่น Pro (hasAdvancedProFeatures) :353 |
| เลขที่ใบกำกับภาษี / ลงวันที่ | showTaxDoc :370 |
| เอกสารอ้างอิง + ปุ่ม ดึงเอกสาร + เอกสารอ้างอิงวันที่ | showRefDoc ป้ายมาจาก refDocLabel ปุ่ม "ดึงเอกสาร" (คำอธิบาย "ค้นหาและดึงรายการจากเอกสารอ้างอิง") :417 ดูเอกสารที่ดึงได้ในหัวข้อ reference picker ของ จอบันทึกเอกสารธุรกรรม มุมมองผู้ใช้ (UniversalTransScreen) |
| ยอดเงินอ้างอิง + หมายเหตุ 2 | เอกสารคืน/ลดยอดมัดจำล่วงหน้า (depositRefAmountLabel) :441 |
| สาเหตุ | showDocReason (ตัวอย่างในช่อง "สาเหตุการเพิ่ม/ลดหนี้...") :446 |
| สมุดบัญชีธนาคาร | showPassBook :460 |
| เครดิต (วัน) / ครบกำหนด, จำนวนวันหมดอายุ / วันที่หมดอายุ, รับ/ส่ง ภายใน(วัน) / วันที่รับ/ส่งสินค้า, ระยะเวลาภายใน (วัน)/(วันที่), มูลค่าเอกสารเดิม / มูลค่าที่ถูกต้อง / ผลต่าง | แสดงบนหัวเฉพาะเอกสาร gridMode "none" (ไม่มีแผงล่าง) :486 เอกสารมีตารางสินค้าจะย้ายช่องเหล่านี้ไปแผงล่าง (หัวข้อ 2) |
| โครงการ, การจัดสรร, งาน, ฝ่าย, แผนก (ปุ่มแว่น "ค้นหาแผนก"), กลุ่มเอกสาร, พนักงานขาย | บล็อก showHeaderAmount :561-660 |
| พนักงาน/แผนก/สาขา | บล็อกที่ไม่ใช่ header-amount: ป้ายพนักงานมาจาก saleLabel ("ผู้ขออนุมัติ:", "ผู้ขอโอน:" หรือ "พนักงาน/แผนก:") ส่วนแผนก/สาขาแสดงเมื่อรุ่นมี hasDepartmentAndBranch (:662-760) |
| เปิดระบบเตือนตรวจนับซ้ำ / เตือนย้อนหลัง (วัน) | showRecheckCount (flag 76 = ใบตรวจนับ ตาม transLayouts.ts:350) และรุ่น Pro (:767) ดู ตรวจนับสินค้า (Stock Count) |
| คลังสินค้า / พื้นที่เก็บ | ป้ายเป็น "คลังสินค้า:" และ "พื้นที่เก็บ:" โดยทั่วไป เป็น "จากคลัง:" และ "จากที่เก็บ:" ในเอกสารโอน (flag 70/72/73) |
| เข้าคลัง: / เข้าที่เก็บ: | showTransferWarehouse (flag 70, 72) :844 |
| หมายเหตุ | อยู่บนหัวเอกสารเฉพาะจอที่ไม่มีแผงล่าง (:891-906); จอที่มีตารางสินค้า ช่องหมายเหตุอยู่ในแผงล่าง |
ข้อควรระวังของหัวเอกสาร
- เลขที่เอกสารแก้ไม่ได้หลังบันทึกแล้ว (ช่องเปิดเฉพาะเอกสารใหม่) ถ้าพิมพ์เลขผิดต้องสร้างใหม่ ไม่ใช่แก้ที่ช่อง
- การเปลี่ยนรหัสลูกหนี้/เจ้าหนี้ ประเภทภาษี หรืออัตราภาษี ส่งผลต่อยอดรวมที่แผงล่างผ่าน backend (ไม่ได้คำนวณในหน้าจอเอง) ดูหัวข้อยอดรวมด้านล่าง
- ป้ายชื่อช่องเปลี่ยนตามชนิดเอกสาร เช่น "ประเภทการส่งคืน" กับ "ประเภทการรับคืน" คือช่องเดียวกันในโค้ด จึงอย่าแปลกใจที่ค้นข้อความบนจอไม่เจอในคู่มือของอีกเอกสาร
2) แผงสรุปล่าง (TransBottomPanel)
แสดงเมื่อเอกสารมีตารางหลักแบบมีสินค้า/ยอด (layout.gridMode !== "none", เรียกที่ UniversalTransScreen.tsx:4025-4075) แบ่งเป็นสองซีก
ซีกซ้าย (เงื่อนไข/เครดิต/หมายเหตุ)
- สกุลเงิน และ อัตราแลกเปลี่ยน พร้อมปุ่มแว่น "ค้นหาสกุลเงิน" แสดงเมื่อเปิดระบบหลายสกุลเงินและเอกสารเป็นชุด
ic_transเท่านั้น (:136-160) เมื่อออกจากช่องสกุลเงิน ระบบไปดึงอัตราแลกเปลี่ยนให้ และเพิ่มกล่อง "ส่วนลด (สกุลเงิน)", "มูลค่าสินค้า (สกุลเงิน)", "มูลค่าส่วนลด (สกุลเงิน)", "มูลค่าสุทธิ (สกุลเงิน)" (:100-125) แนวคิดสกุลเงินดู หลายสกุลเงินและกำไรขาดทุนจากอัตราแลกเปลี่ยน (Multi-Currency & FX Gain/Loss) - จำนวนวันหมดอายุ / วันที่หมดอายุ
- เครดิต (วัน) และ ครบกำหนด ถูกล็อกเมื่อตัวเลือกระบบ
use_credit_pay_bill_calcเปิด (creditLocked,:204,217) - ปุ่ม เครดิต 7 วัน (flag 30, 34, 36, 44) ใส่เครดิต 7 วันทันทีและปิดปุ่มเลือกเครดิตอื่น; ปุ่ม เปลี่ยนจำนวนวันเครดิต มีเฉพาะใบเสนอราคา (flag 30) หลังกดปุ่ม 7 วันแล้ว (
:227-232) - รับ/ส่ง (วัน) กับ วันที่รับ/ส่ง, ภายใน (วัน) กับ ภายในวันที่, มูลค่าเดิม / มูลค่าที่ถูก / ผลต่าง (ใบเพิ่มหนี้/ลดหนี้ ตามคอมเมนต์
transLayouts.ts:240) - หมายเหตุ และ ประเภทการส่ง (0 รับเอง / 1 ส่งให้) เฉพาะใบจอง ใบสั่งขาย และใบขาย (
:299)
ซีกขวา (สรุปยอด 5 แถว, ช่องอ่านอย่างเดียวที่ backend คำนวณให้)
| ซ้าย | ขวา |
|---|---|
| อัตราภาษี (%) | รวมมูลค่าสินค้า |
| ส่วนลดก่อนภาษี (ช่องพิมพ์ได้, ตัวอย่างในช่อง "เช่น 5% หรือ 100") | มูลค่าส่วนลด |
หักเงินมัดจำ (พิมพ์ได้เฉพาะเอกสารลูกหนี้/เจ้าหนี้ ap_ar_trans; เอกสารอื่นอ่านอย่างเดียวจากแท็บมัดจำ) |
ยอดเงินก่อนภาษี |
| ยอดภาษีมูลค่าเพิ่ม | มูลค่าหลังคิดภาษี |
| มูลค่ายกเว้นภาษี | รวมมูลค่าทั้งสิ้น (สีเขียว) |
ตัวเลขทั้งหมดมาจาก POST /api/process/transgrid/totals ไม่คิดซ้ำในเบราว์เซอร์ ค่าเงินเป็นสตริงทศนิยม ดู ตัวเลข เงิน ภาษี และปี พ.ศ. ฝั่ง frontend (numeric.ts) และสูตรส่วนลดท้ายแถวที่ ตารางรายการสินค้า/จำนวนเงินในเอกสาร (TransItemGrid)
3) แถวแท็บใต้หัวเอกสาร
ลำดับแท็บและเงื่อนไขการโชว์เล่าไว้แล้วที่ จอบันทึกเอกสารธุรกรรม มุมมองผู้ใช้ (UniversalTransScreen) (หัวข้อ "แท็บใต้หัวเอกสาร") หน้านี้ลงรายละเอียดเนื้อหาในแต่ละแท็บ
แท็บ "รายละเอียดเพิ่มเติม" (TransExtraTabs.tsx)
- เฉพาะรุ่น Pro: รหัสโครงการ (Project), รหัสงาน (Job), รหัสหน่วยงาน (Side), รหัสการจัดสรร (Allocate)
:204; กลุ่มเอกสาร:301; ผู้จัดซื้อ (Extra Word), แคชเชียร์ / ผู้อนุมัติ และแถวปลายทาง เข้าสาขา/ฝ่าย, เข้าแผนก/จัดสรร, เข้าโครงการ/งาน:375 - ประเภทการขนส่ง (เฉพาะใบสั่งซื้อ ตาม
transLayouts.ts:242), วันที่ส่งของ, หมายเหตุเพิ่มเติม 2-5 - บล็อก "ข้อมูลการจัดส่งสินค้า / ผู้รับปลายทาง" (
:479-570): ชื่อผู้รับสินค้า, โทรศัพท์ผู้รับ, ที่อยู่จัดส่ง, บริษัทขนส่ง, เลขพัสดุ (Tracking) และกล่องแผนที่ (SmlLocationFieldBoxหมวด DELIVERY) เลือกจุดบนแผนที่แล้วเก็บพิกัดจัดส่ง
แท็บ "ภาษีมูลค่าเพิ่ม" / "ข้อมูลภาษี" (:573)
ช่อง เลขที่ใบกำกับภาษี, วันที่ใบกำกับภาษี, ฐานภาษีมูลค่าเพิ่ม, ภาษีมูลค่าเพิ่ม (อัตรา %) ตามด้วยแผงตารางภาษี (vatPanel, whtPanel จาก JournalTaxTabs.tsx) ที่โชว์เฉพาะเอกสารที่มีตารางนั้น
แผงในไฟล์ JournalTaxTabs.tsx มี 4 แบบ (:31-34): "ภาษีถูกหัก ณ. ที่จ่าย", "ภาษีหัก ณ. ที่จ่าย", "ภาษีซื้อ", "ภาษีขาย" เอกสารลูกหนี้/เจ้าหนี้ใช้ 2 แบบ (flag 19 = ภาษีหัก ณ. ที่จ่าย + ภาษีซื้อ; flag 239 = ภาษีถูกหัก ณ. ที่จ่าย + ภาษีขาย) ใบสมุดรายวันใช้ครบ 4 แบบ
- ภาษีซื้อ/ภาษีขาย (
VatPanel): ช่องติ๊ก "ช่วยบันทึกแบบต่อเนื่อง", "คำนวณภาษีอัตโนมัติ" และฝั่งขายมี "สร้างเลขที่ใบกำกับภาษีแบบต่อเนื่อง" (:443-445) คอลัมน์ฝั่งซื้อ: วันที่, เลขที่ใบกำกับ, เลขที่ออกใหม่, เดือนภาษี, ปีภาษี, รายละเอียด, กลุ่มภาษี (ปุ่มแว่น "ค้นหากลุ่มภาษี"), ฐานภาษี, อัตราภาษี, เงินภาษี, ยอดรวม, ยอดยกเว้น, เฉลี่ยภาษี, ประเภทภาษี, ยื่นเพิ่มเติม, ชื่อผู้ขายสินค้า/ผู้ให้บริการ, เลขประจำตัวผู้เสียภาษี (ช่อง "13 หลัก"), สถานประกอบการ (สำนักงานใหญ่ / สาขา), เลขที่สาขา (:237-255) ฝั่งขายใกล้เคียง ใช้ "ยอดภาษี", "ยอดยกเว้นภาษี", "ชื่อผู้ซื้อสินค้า/ผู้รับบริการ" และ "ลำดับที่สาขา" (:258-273) ประเภทภาษีฝั่งซื้อ: ปรกติ / ขอคืนไม่ได้ / ไม่ถึงกำหนดชำระ (:225) ในเอกสาร flag 19/239 มีปุ่ม ค้นหาใบกำกับภาษีไม่ถึงกำหนดชำระ (ต้องใส่รหัสเจ้าหนี้/ลูกหนี้ก่อน ไม่งั้นปุ่มปิดพร้อมข้อความ "ยังไม่ได้ใส่รหัสลูกหนี้/เจ้าหนี้") เปิดหน้าต่างให้ติ๊กเลือกแล้วกด ประมวลผล (:736-870) แนวคิดภาษีซื้อ/ขาย ดู ประเภทภาษี แยกนอก/รวมใน และภาษีซื้อ-ขาย (VAT type / vat_type / gl_journal_vat_buy / gl_journal_vat_sale) และ ทะเบียนภาษีซื้อ/ภาษีขาย และภาษีหัก ณ ที่จ่าย (VAT Register & WHT) - ภาษีหัก ณ ที่จ่าย (
WhtPanel): ตารางเอกสารเลขที่ / รหัสลูกหนี้-เจ้าหนี้ / ชื่อ / วันที่หัก ณ ที่จ่าย / จำนวนเงิน / มูลค่าภาษีหัก ณ ที่จ่าย (:962-970) คลิกแถวเพื่อเลือก แล้วฟอร์มใต้ตารางแสดงรายการนั้น (ปุ่ม "เพิ่ม", เลื่อนแถว, ลบ ในโหมดแก้ไข): วันที่หัก ณ ที่จ่าย, เอกสารเลขที่ (บังคับตัวพิมพ์ใหญ่), รหัสลูกหนี้/เจ้าหนี้ (พิมพ์หรือกดแว่น พอออกจากช่องระบบโหลดชื่อ/ประเภท/เลขภาษีมาให้), ประเภท (บุคคลธรรมดา / นิติบุคคล), เลขประจำตัวผู้เสียภาษี, เลขที่บัตรประชาชน (3 ช่องหลังอ่านอย่างเดียว ดึงจากทะเบียนคู่ค้า) และตารางบรรทัด รายละเอียด / ฐานภาษี / อัตราภาษี / ภาษีหัก ณ ที่จ่าย (:1075-1100) ดู ภาษีหัก ณ ที่จ่าย / ภาษีถูกหัก (withholding tax / gl_wht_list)
แท็บ "ชำระเงิน" (:638)
ส่วนสรุป (เรียงตามเลขลำดับบนจอ): 1 ยอดตามเอกสาร, 2 บวก (รับอื่น ๆ/จ่ายอื่น ๆ), ยอดสุทธิ, 3 เงินโอน, 4 PromptPay/QR, 5 เช็ค, 6 บัตรเครดิต, 7 รายได้อื่น/หักอื่น ๆ, 8 ภาษีหัก ณ ที่จ่าย, ส่วนที่เหลือเป็นเงินสด (ปุ่ม "คำนวณยอดเงินสด" เติมให้อัตโนมัติ), ชำระด้วยเงินสด, รวมรับ/จ่ายชำระทั้งสิ้น และบรรทัดสถานะ "✓ ยอดรับ/จ่ายชำระครบถ้วนตรงตามยอดสุทธิ" / "ค้างชำระอีก X" / "ชำระเกินยอดสุทธิ X"
- เอกสาร flag 44 และ 144 (
hasPayCash) ช่องเงินสดถูกปิด และมี รับเงินสดมา กับ เงินทอน (คำนวณเงินทอนเฉพาะ flag 44) - เอกสารฝั่ง "รับ" (receive side) คือ flag 16, 20, 25, 40, 44, 46, 99, 110, 144, 239, 250, 254, 262, 300, 317, 402, 416 ที่เหลือเป็นฝั่ง "จ่าย" ป้ายและการนับยอดเปลี่ยนตามฝั่งนี้
ด้านล่างแท็บเป็นตารางหลายแถว 4 ตารางสำหรับรายการชำระ + 2 ตารางรายได้/ค่าใช้จ่ายอื่น:
| ตาราง | คอลัมน์ | หมายเหตุ |
|---|---|---|
| รายการเงินโอนธนาคาร (หลายรายการ) | สมุดเงินฝาก (ปุ่มแว่น "ค้นหาสมุดเงินฝาก"), วันที่โอน, เลขอ้างอิง/สลิป, จำนวนเงิน, หมายเหตุ, จัดการ | ปุ่ม "เพิ่มรายการเงินโอน" รวมยอดท้ายตาราง "รวมเงินโอนธนาคาร:" (TransPayTendersGrid.tsx:103-247) |
| รายการ PromptPay / QR (หลายรายการ) | สมุดบัญชี/PromptPay, เลขอ้างอิงสลิป, วันที่โอน, จำนวนเงิน, หมายเหตุ, จัดการ | ปุ่ม "เพิ่มรายการ PromptPay" (:250-395) |
| รายการเช็ครับ / เช็คจ่าย (หลายรายการ) | เลขที่เช็ค, รหัสธนาคาร (ฝั่งรับ) หรือ สมุดบัญชีธนาคาร (ฝั่งจ่าย), สาขา, วันถึงกำหนด, จำนวนเงิน, หมายเหตุ, จัดการ | ปุ่ม "เพิ่มรายการเช็ค" (:99,397-553) ดูวงจรเช็คที่ เช็ครับ: นำฝาก/ผ่าน/คืน/ขาดสิทธิ์/เปลี่ยน/คืนเช็คตั้งหนี้ใหม่ (Received Cheque Lifecycle), เช็คจ่าย: ผ่าน/ขาดสิทธิ์/คืน/เปลี่ยน (Paid Cheque Lifecycle), วงจรเช็ครับ/เช็คจ่าย บัตรเครดิต และโอนเงินระหว่างบัญชี (Cheque Lifecycle & Bank Transfer) |
| รายการบัตรเครดิต (หลายรายการ) | เลขที่บัตร, รหัสอนุมัติ, สมุดบัญชี/EDC, ค่าธรรมเนียม, จำนวนเงิน, หมายเหตุ, จัดการ | ปุ่ม "เพิ่มรายการบัตรเครดิต" (:556-714) |
รายได้อื่น / ค่าใช้จ่ายอื่น (TransPayOtherGrid) |
รหัสรายได้ หรือ รหัสค่าใช้จ่าย (ปุ่มแว่น), รายละเอียด, จำนวนเงิน, หมายเหตุ, จัดการ | ชื่อแท็บ: ฝั่งรับ = "รายได้อื่น" / "ค่าใช้จ่ายอื่น"; ฝั่งจ่าย = "หักอื่น ๆ" / "จ่ายอื่น ๆ" (TransPayOtherGrid.tsx:30-38) แถวที่ไม่มีรหัสจะไม่ถูกบันทึก (ข้อความช่วยใต้ตาราง) ผลรวมแยกเป็น 2 ยอดใน payOtherTotals: expenseOther บวกเข้ายอดสุทธิ (ข้อ 2 ของสรุป) และ incomeOther นับเป็นยอดชำระ (ข้อ 7 ของสรุป) การจับคู่ตารางกับยอดสลับกันระหว่างฝั่งรับและฝั่งจ่าย (:40-47) |
ทุกตารางมีปุ่ม "ลบรายการ" ต่อแถว ค่าเงินในช่องเป็นสตริงทศนิยม ดู ตัวเลข เงิน ภาษี และปี พ.ศ. ฝั่ง frontend (numeric.ts) บทเรียนเรื่องเงินโอน/เช็คหลายรายการ ดู บทเรียนบั๊กการชำระเงิน เช็ค และช่องทางรับจ่าย (Payment, Cheque & Tender Bugs)
แท็บ "การลงบัญชีแยกประเภท (GL Journal Detail)" (:899)
แท็บนี้มีเฉพาะรุ่นที่มี GL ปุ่ม ประมวลผลคู่บัญชีอัตโนมัติ สร้างรายการบัญชีจากเอกสาร ส่วนหัวมี เอกสารวันที่, เอกสารเลขที่, รหัสเอกสาร, สมุดรายวัน, เอกสารอ้างอิงวันที่ / เอกสารอ้างอิง, งวดบัญชี, ปีบัญชี, ประเภทรายวัน (ค่าเริ่มต้น "0: ทั่วไป"), คำอธิบาย และช่องติ๊ก บันทึกรายการบัญชีตรง ตารางรายการ: รหัสบัญชี, ชื่อบัญชี, คำอธิบายรายการ, เดบิต (Dr), เครดิต (Cr), มิติ, จัดการ มีปุ่ม เพิ่มผังบัญชี ท้ายตาราง ท้ายสุดแสดง "รวมยอด เดบิต / เครดิต:" พร้อมข้อความ "✓ ดุลบัญชีถูกต้อง (Dr = Cr)" หรือคำเตือนเมื่อไม่ดุล รายละเอียดสมุดรายวัน ดู บันทึกรายวัน (General Journal Voucher) และ สมุดรายวัน รายการบัญชี และผ่านรายการ (GL journal / gl_journal / gl_journal_detail)
แท็บ "ใช้เงินมัดจำ" (TransDepositTab.tsx)
เอกสาร flag 12, 315, 87, 260, 44, 99, 250 (transLayouts.ts ชุด DEPOSIT_TAB_FLAGS) ปุ่ม ดึงเอกสารมัดจำ ดึงใบมัดจำของเจ้าหนี้ (flag 12/315/87/260) หรือลูกหนี้ (ที่เหลือ) ที่ยังมียอดคงเหลือ ต้องใส่รหัสคู่ค้าก่อน (ไม่งั้นขึ้น "กรุณาระบุรหัส...ก่อนดึงเอกสารมัดจำ") ดึงซ้ำจะไม่เพิ่มใบเดิมซ้ำ ตาราง: เลขที่เอกสาร, วันที่, ยอดเงิน, คงเหลือ, ยอดตัด (ช่องพิมพ์ได้), หมายเหตุ, จัดการ ถ้ายอดตัดมากกว่ายอดคงเหลือแถวมีคำเตือน "ยอดตัดมากกว่ายอดคงเหลือ" ท้ายตาราง "รวมยอดตัดเงินมัดจำ:" ซึ่งไปเป็นช่อง "หักเงินมัดจำ" ของแผงล่าง (:24-141) ดู เงินมัดจำและเงินล่วงหน้า (Deposits & Advances), จ่ายเงินมัดจำ / ยกมา / รับคืน (Purchase Deposit Payment), รับเงินมัดจำ / ยกมา / คืนเงินมัดจำ (Sales Deposit Receipt)
ตารางวางบิล / รับวางบิล (TransBillsGrid.tsx)
ใช้กับเอกสารกลุ่ม BILLS_FLAGS = 19, 213, 235, 239 (transLayouts.ts:161) แทนตารางสินค้า (gridMode "bills") ตัวแปร isPay = flag 19 หรือ 239 (TransBillsGrid.tsx:53) ดู ใบรับวางบิล เจ้าหนี้ (AP Bill Receipt), ใบวางบิล ลูกหนี้ (AR Billing Note)
- ปุ่ม ดึงเอกสารค้างชำระ (ต้องใส่รหัสลูกหนี้/เจ้าหนี้ก่อน) ดึงเอกสารหนี้ที่ยังค้างของคู่ค้านั้นเข้าตาราง ไม่ซ้ำกับแถวที่มีแล้ว
- ปุ่ม อ้างอิงใบรับวางบิล (flag 19) หรือ อ้างอิงใบวางบิล (flag 239) มีเฉพาะ
isPayและในโหมดแก้ไข เปิดหน้าต่างเลือกใบวางบิล: ช่องค้นหา "ค้นหาเลขที่ใบวางบิล หรือหมายเหตุ...", ปุ่ม เลือกทั้งหมด / ยกเลิกทั้งหมด, คอลัมน์ เลือก / เลขที่ใบวางบิล / วันที่เอกสาร / วันนัดชำระ / จำนวนบิล / ยอดรวมสุทธิ / หมายเหตุ ปุ่มท้ายหน้าต่าง ดึงรายการที่เลือก (n) และ ยกเลิก ต้องเลือกอย่างน้อย 1 ใบ ไม่งั้นขึ้นข้อความเตือนตามชนิดเอกสาร (:90-215,400-470) - ตาราง: เลขที่เอกสาร, วันที่, ประเภท, เลขที่อ้างอิง, วันที่อ้างอิง, วันครบกำหนด, (เฉพาะ isPay) เลขที่ใบวางบิล, ยอดหนี้, ยอดคงเหลือ, ยอดวางบิล/ยอดชำระ (ช่องพิมพ์ได้, ป้ายเป็น "ยอดชำระ" เมื่อ isPay) และปุ่มลบแถว (
:232-330) - โหมดหลายสกุลเงิน (เฉพาะ isPay และเปิดระบบสกุลเงินหรือมีแถวที่มีสกุลเงิน): คอลัมน์เปลี่ยนเป็น ยอดหนี้ / ยอดคงเหลือ (ตามสกุลเงิน), สกุลเงิน, อัตราแลกเปลี่ยน (แก้ได้), ยอดชำระ (ตามสกุลเงิน) ทุกครั้งที่แก้ ระบบถามให้ backend คิดยอดบาทและผลต่างอัตราแลกเปลี่ยนใหม่ (debounce) ท้ายตารางแสดง "มูลค่าตามอัตราแลกเปลี่ยนเดิม", "ผลต่างจากอัตราแลกเปลี่ยน" และ "มูลค่าทั้งสิ้น (บาท)" (
:56-72,340-350)
แถบ "ดึงรายการรายวันประจำ" (GlRecurringBar.tsx)
แสดงเหนือแถวแท็บเฉพาะใบสมุดรายวัน (gl_journal, UniversalTransScreen.tsx:3301) กล่องเลือก "-- เลือกต้นแบบรายการรายวันประจำ --" รายการ code/ชื่อ โหลดจาก POST /api/process/gl/recurring เลือกแล้วเติมสมุด คำอธิบาย และบรรทัดบัญชี (รหัส/ชื่อ/คำอธิบาย; เดบิต-เครดิตเว้นว่างให้กรอกเอง) ถ้าต้นแบบมีข้อผิดพลาดจะแสดงข้อความสีแดงข้างกล่องและไม่เติม ปิดกล่องเมื่อไม่ได้อยู่ในโหมดแก้ไข
ข้อควรระวัง
- แท็บชำระเงินแสดงสถานะ "ค้างชำระอีก X" / "ชำระเกินยอดสุทธิ X" แต่การบันทึกจริงถูกตรวจที่ backend ตามชนิดเอกสาร ดูขั้นตอนบันทึกที่ จอบันทึกเอกสารธุรกรรม มุมมองผู้ใช้ (UniversalTransScreen)
- ตารางเช็คในแท็บชำระเงินเป็นช่องกรอกเอง ไม่ได้เลือกจากทะเบียนเช็ค; การเลือกเช็คจากทะเบียนตามสถานะ (
/process/cheque/candidate) เป็นของจอเอกสารเช็ค/โอนที่ใช้ตารางสินค้ารูปแบบเช็ค ดู ตารางรายการสินค้า/จำนวนเงินในเอกสาร (TransItemGrid) และ ป๊อปอัปเอกสารและรายการสินค้า (ChequePickerModal / DocumentFlowModal / ItemNameModal / ItemRemarkModal / ItemGridContextMenu) - คอลัมน์ "ธนาคาร" ของตารางเช็คเปลี่ยนความหมายตามฝั่ง: ฝั่งรับเลือกจากรหัสธนาคาร ฝั่งจ่ายเลือกจากสมุดบัญชีธนาคาร ผู้ใช้มักสับสนเมื่อเปลี่ยนไปมาระหว่างเช็ครับ/เช็คจ่าย
- หลายสกุลเงินในตารางวางบิลมีเฉพาะ isPay (flag 19/239) ใบวางบิลฝั่งขาย (213/235) ไม่โชว์คอลัมน์สกุลเงินในโค้ดนี้
ที่มาในโค้ด
frontend/account/transaction/TransTopForm.tsx:185-210เลขที่เอกสาร/Auto;:222-272คู่ค้า/ผู้ติดต่อ/มูลค่าสุทธิ;:297-314ประเภทรายการ/ภาษี;:349-460ระงับ/อนุมัติ/ใบกำกับ/อ้างอิง/สาเหตุ/สมุดบัญชี;:486-760เครดิต ฝ่าย แผนก พนักงาน;:767ตรวจนับซ้ำ;:844โอนคลัง;:891-906หมายเหตุfrontend/account/transaction/TransBottomPanel.tsx:100-300ซ้าย;:317-420ขวาfrontend/account/transaction/TransExtraTabs.tsx:204,301,375,479-570รายละเอียดเพิ่มเติม;:573-637ภาษี;:638-898ชำระเงิน;:899-1145GLfrontend/account/transaction/TransPayTendersGrid.tsx:99-714;TransPayOtherGrid.tsx:30-47,97-199frontend/account/transaction/TransBillsGrid.tsx:53-470;TransDepositTab.tsx:24-141;GlRecurringBar.tsx:20-57frontend/account/transaction/JournalTaxTabs.tsx:31-34,225-273,440-640,736-870,962-1100frontend/account/transaction/transLayouts.ts:20-49,161,242และUniversalTransScreen.tsx:2309,3301,3416,3542,3801,4025-4075- ดูเพิ่ม: จอบันทึกเอกสารธุรกรรม มุมมองผู้ใช้ (UniversalTransScreen) · ตารางรายการสินค้า/จำนวนเงินในเอกสาร (TransItemGrid) · จอเอกสารธุรกรรมแบบเดียวกันทุกจอ (UniversalTransScreen) · เครื่องฟอร์มแบบ schema (SchemaForm, FieldDef, useRecordForm) และจอตั้งค่าระบบ · สารบัญหน้าจอทั้งหมดของ SML Ai Account (ต้นไม้เมนู → หน้าจอ → โน้ต)