#tables#gl
ผังบัญชี (gl_chart_of_account)
ทะเบียนบัญชีแยกประเภท 1 แถวต่อ 1 รหัสบัญชี เป็นตารางที่ทุกการลงบัญชีอ้างถึง (account_code ใน รายการบัญชีแยกประเภท (gl_journal_detail)) และแหล่งที่ระบบหาชื่อบัญชีและบัญชีหลักสำหรับการปิดบัญชี แก้ไขผ่านหน้า master menu_chart_of_account (spec chartSpec) ในหมวด ข้อมูลหลักแบบหัว-รายการ รหัสอัตโนมัติ และเลย์เอาต์รายการ (Master-detail, code auto-run, DataList)
คอลัมน์สำคัญ
| คอลัมน์ | ความหมาย | ใช้ที่ไหน |
|---|---|---|
code |
รหัสบัญชี (คีย์) ตัวอักษรใหญ่ | ทุกที่ |
name_1, name_2 |
ชื่อบัญชี ไทย/อังกฤษ-อื่น (name_1 จำเป็น) | master_detail_specs.go:710 |
main_code |
บัญชีหลัก/บัญชีแม่ของบัญชีนี้ (ต้องมีในผัง และไม่ใช่ตัวเอง) ใช้สร้างต้นไม้ผังบัญชี | master_detail_specs.go:710, report_menu_gl_fa.go:209 |
account_level |
ระดับชั้นบัญชี 0-7 | master_detail_specs.go:95 |
account_type |
0 สินทรัพย์, 1 หนี้สิน, 2 ทุน, 3 รายได้, 4 ค่าใช้จ่าย | report_menu_gl_fa.go:49 |
status |
0-1: 1 = บัญชีหลัก/บัญชีรวม ห้ามลงรายการ (GLCheck รายงานบรรทัดที่ใช้ผัง status=1) ส่วนปิดบัญชีรับเฉพาะบัญชีปลายทาง status = 0 |
workflow.go:597, workflow.go:872 |
account_group |
กลุ่มบัญชี อ้าง gl_account_group.code |
master_detail_specs.go:119 |
cash_flow_group |
กลุ่มกระแสเงินสด อ้าง gl_cash_flow_group.code |
master_detail_specs.go:120 |
account_close |
บัญชีที่ใช้ปิดบัญชีนี้ (ต้องมีในผัง) | master_detail_specs.go:117-118 |
tax_type |
ชนิดภาษีของบัญชี 0-4 จาก MCP: 1 = ภาษีขาย, 2 = ภาษีซื้อ ค่าอื่น (ไม่ชัดจากโค้ด) | gateway.go:1410, service.go:842 |
balance_mode |
0-1 (ความหมาย: ไม่ชัดจากโค้ด) | master_detail_specs.go:90 |
balance_sheet_status |
0-5 (ความหมายแต่ละค่า: ไม่ชัดจากโค้ด) | master_detail_specs.go:95 |
side_status, department_status, allocate_status, project_status, job_status |
0-1 เปิดให้แยกมิติ ฝ่าย/แผนก/จัดสรร/โครงการ/งาน | master_detail_specs.go:90-97 |
active_status, work_in_process_status |
0-1 (สถานะใช้งาน / งานระหว่างทำ ความหมายละเอียด: ไม่ชัดจากโค้ด) | master_detail_specs.go:90-97 |
คอลัมน์ tax_type, account_close, cash_flow_group ถูกเพิ่มด้วย ALTER TABLE ... ADD COLUMN IF NOT EXISTS ตอนเริ่มระบบ (service.go:842-844) แสดงว่าฐานเก่าของ SML อาจยังไม่มีคอลัมน์เหล่านี้
คีย์และความสัมพันธ์
- ตัวเอง:
main_codeและaccount_close→gl_chart_of_account.code - ลูกตารางกำหนดมิติต่อบัญชี (ผูก
account_code):gl_chart_of_account_side_list(side_code→erp_side_list),..._depart_list(department_code→erp_department_list),..._allocate_list(allocate_code→erp_allocate_list),..._job_list(job_code→erp_job_list),..._project_list(project_code→erp_project_list)master_detail_specs.go:105-111 - ผู้ใช้บัญชี: รายการบัญชีแยกประเภท (gl_journal_detail).
account_code,gl_trans_detail,gl_account_close_detail, ทะเบียนสินทรัพย์ (as_asset) (account_code,depreciation_account_code,depreciation_sum_account_code),ar_customer_detail.account_code,erp_credit_type.account_code,erp_wallet_list.account_codeเป็นรายการที่ใช้กันลบmaster_detail_specs.go:127-137 - ตารางแม่แบบ GL ในเอกสาร (erp_doc_format_gl — เทมเพลตลงบัญชี GL ต่อรูปแบบเอกสาร) และ master อื่นเก็บ
account_codeที่อ้างตารางนี้
ใครเขียน และใครอ่าน
- เขียน: หน้า master ผังบัญชี
chartSpec(master_detail_specs.go:113, ตัวตรวจprepChart:710, หน้ากริดแก้เร็วmenu_chart_of_account_fast:245), เปลี่ยนรหัสผังบัญชีworkflow.go:160-168(แก้code,main_code,account_closeและตารางที่อ้างทั้งหมดพร้อมกัน) - อ่าน: ทุก writer ของ GL (หาชื่อบัญชีที่
gl_template.go:192, ตัวแก้บัญชีมาตรฐานที่service.go:1755), ตรวจรายวันworkflow.go:592-597, รายงานผังบัญชีและต้นไม้report_menu_gl_fa.go:209,report_menu_gl_fa.go:1657, งบทดลองทุกรายงาน, ตรวจบัญชีก่อนบันทึกfa_depreciation.go:762,stock_beginning.go:633, ผู้ช่วย AIai_copilot.go:1115 - อยู่ใน legacy allow-list ของการเขียนผ่าน query gateway
write_policy_legacy.go:22(ไม่ใช่ตารางเงินตามmoneyTablePattern)
ข้อควรระวัง
resolveChartAccountลองรหัสแบบcodeตรง หรือcode-%(เช่น1122-01) ถ้าไม่เจอเลยคืนรหัสแรกที่ขอพร้อมชื่อเป็นรหัสเดียวกัน หรือ9999บัญชีพัก ทำให้ผังที่ไม่มีบัญชีมาตรฐานยังลงบัญชีได้แต่เป็นรหัสที่ไม่มีในผัง (service.go:1755-1773) GLCheck จะรายงานเป็น "บรรทัดไม่มีผังบัญชี"- ลบบัญชีที่ถูกอ้างอยู่ไม่ได้ ระบบตรวจ
usesก่อน (master_detail_specs.go:127-137) - ลบ/แก้
codeต้องผ่านเมนูเปลี่ยนรหัสเท่านั้น เพื่อให้ตารางลูก (รายวัน มิติ ทะเบียนสินทรัพย์) เปลี่ยนตามกัน - ค่า enum ที่ UI ตรวจช่วง:
account_level0-7,account_type0-4,tax_type0-4,balance_sheet_status0-5, ที่เหลือ 0-1 (master_detail_specs.go:95-97)
ที่มาในโค้ด
backend/internal/application/process/master_detail_specs.go:90คอลัมน์หัวผังบัญชีbackend/internal/application/process/master_detail_specs.go:95ช่วงค่า enumbackend/internal/application/process/master_detail_specs.go:105ตารางลิงก์มิติbackend/internal/application/process/master_detail_specs.go:113chartSpec และตัวกันลบbackend/internal/application/process/master_detail_specs.go:710prepChartbackend/internal/application/process/service.go:842ALTER เพิ่มคอลัมน์backend/internal/application/process/service.go:1755resolveChartAccountbackend/internal/application/process/gl_template.go:192glSQLChartbackend/internal/application/process/workflow.go:160เปลี่ยนรหัสผังบัญชีbackend/internal/application/process/workflow.go:592GLCheck ผังบัญชีbackend/internal/application/process/workflow.go:872ปิดบัญชีตรวจ statusbackend/internal/application/process/report_menu_gl_fa.go:49ชื่อประเภทบัญชีbackend/internal/application/process/report_menu_gl_fa.go:209ต้นไม้ผังบัญชีbackend/internal/application/process/report_menu_gl_fa.go:1657รายงานผังบัญชีbackend/internal/adapter/inbound/http/mcp/gateway.go:1410คำอธิบาย tax_typebackend/internal/domain/query/write_policy_legacy.go:22allow-list