#tables#ap-ar
รายละเอียดเงื่อนไขเจ้าหนี้ ap_supplier_detail
ตารางลูกของ ทะเบียนเจ้าหนี้/ผู้ขาย (ap_supplier) เชื่อมด้วย ap_code = ap_supplier.code (อ่านด้วย LIMIT 1). เก็บ เงื่อนไขการซื้อและบัญชี ของผู้ขาย — เป็นคู่ขนานฝั่งซื้อของ รายละเอียดเงื่อนไขลูกหนี้ (ar_customer_detail) แต่คอลัมน์น้อยกว่า (ไม่มีวงเงินเครดิต/กลุ่มราคา/พนักงานขายในโค้ดที่อ่าน).
คอลัมน์ที่เห็นในโค้ด
| column | ความหมาย | ใช้ที่ไหน |
|---|---|---|
ap_code |
รหัสเจ้าหนี้ (→ ap_supplier.code) |
ทุก join/subquery |
account_code |
บัญชีเจ้าหนี้ของผู้ขาย (ผังบัญชี (gl_chart_of_account)) | gl_template.go:193; ตรวจก่อนลบผังบัญชี workflow.go:170 |
discount_bill, discount_item |
ข้อความส่วนลดท้ายบิล / รายการ | trans_party.go:121-126; trans_grid.go:281 |
set_tax_type, tax_type, tax_rate |
ตั้งค่าภาษีอัตโนมัติ / ชนิด / อัตรา — tax_type เป็นข้อความ (อาจไม่เป็นตัวเลข) จึงต้อง cast แบบปลอดภัย |
trans_party.go:121-126 (regex ^[0-9]+$) |
credit_day |
วันเครดิตที่ผู้ขายให้ | trans_party.go:121-126 |
lead_time |
ระยะเวลาส่งของ (ฝั่งซื้อเท่านั้น) | trans_party.go:121-126 |
tax_id |
เลขประจำตัวผู้เสียภาษี — ข้อมูลส่วนบุคคล | journaltax.go:242-250; report_menu_gl_fa.go:1045,1182-1189 |
card_id |
เลขบัตรประชาชน (กรณีบุคคลธรรมดา) | journaltax.go:242-250 |
branch_code |
รหัสสาขาตามใบกำกับ/ภ.ง.ด. ของผู้ขาย | report_menu_gl_fa.go:1182-1189 |
latitude, longitude |
พิกัดที่ตั้ง NUMERIC(18,6) — คอลัมน์ที่เพิ่มด้วย ADD COLUMN IF NOT EXISTS ตอนเริ่มระบบ |
service.go:849-850, platform/db/pool.go:67-68 |
คอลัมน์อื่นไม่ปรากฏใน SQL ที่อ่าน → "(ไม่ชัดจากโค้ด)". ap_supplier_detail เป็นตารางที่ไม่มี DDL สร้างใน repo — มีเพียงการ ALTER ... IF EXISTS เพิ่มพิกัด (pool.go:67).
กลไกที่ใช้ตารางนี้
- ค่าเริ่มต้นเอกสารซื้อ — เมื่อเลือกเจ้าหนี้ในเอกสารซื้อ (ชุด
partyBuyFlags: 2, 6, 12, 260, 262, 264) อ่านส่วนลด ภาษี วันเครดิต lead time จากตารางนี้ (trans_party.go:121-126); ฝั่งซื้อไม่มีพนักงานขาย/วิธีส่ง (ใส่ค่าว่าง/0). - บัญชีผูกเจ้าหนี้ — GL template ดึง
account_code(gl_template.go:193) → เครื่องมือลงบัญชีตามรูปแบบ GL (GL Template Engine). - หัก ณ ที่จ่าย / ภ.ง.ด. —
journaltax.go:242-250คัดลอกtax_id,card_idเข้า หัวเอกสารหัก ณ ที่จ่าย (gl_wht_list); รายงาน ภ.ง.ด.3/53 อ่านtax_id,branch_code(report_menu_gl_fa.go:1045,1100,1182-1189) → ทะเบียนภาษีซื้อ/ภาษีขาย และภาษีหัก ณ ที่จ่าย (VAT Register & WHT). - รายงานภาษีซื้อ — อ่าน
tax_idของเจ้าหนี้ประกอบรายการ (ทะเบียนภาษีซื้อ (gl_journal_vat_buy)) ที่report_menu_gl_fa.go:1045.
ความสัมพันธ์
- ← ทะเบียนเจ้าหนี้/ผู้ขาย (ap_supplier) (
ap_code = code) - → ผังบัญชี (gl_chart_of_account) (
account_code) - ใช้ร่วมกับเอกสารซื้อ หัวเอกสารสินค้า/ซื้อ/ขาย (ic_trans) (ค่า default) และ หัวเอกสารใบวางบิล/ใบเสร็จ-จ่ายชำระหนี้ (ap_ar_trans) (ใบวางบิล/จ่ายชำระ)
ใครเขียน / ใครอ่าน
- เขียน: master-data ผ่าน legacy write allow-list (
write_policy_legacy.go:31); เพิ่มคอลัมน์พิกัดตอน start (service.go:849,pool.go:67); เปลี่ยนรหัสตามแม่workflow.go:154-158. - อ่าน: ดูตาราง "กลไก" ด้านบน.
ข้อควรระวัง
tax_typeของฝั่งเจ้าหนี้เก็บเป็นข้อความ — ถ้าค่าไม่ใช่ตัวเลข โค้ดตีเป็น 0 (trans_party.go:121-126); ไม่ควร cast ตรงใน SQL อื่น.- ไม่มีวงเงินเครดิตของเจ้าหนี้ในโค้ดที่อ่าน — อย่าสมมติ
credit_moneyตามคำอธิบาย MCP gateway (mcp/gateway.go:1407). - พิกัด
latitude/longitudeเป็น NUMERIC(18,6) → ใช้ decimal ไม่ใช่ float เมื่อคำนวณระยะทางที่ต้องการความแม่น (นโยบายตัวเลขบัญชีเป็นเงินเท่านั้น ไม่บังคับกับพิกัด). tax_id/card_idเป็นข้อมูลส่วนบุคคล — ห้ามส่งออกใน log/แชท/vault.
ที่มาในโค้ด
backend/internal/application/process/trans_party.go:66-69,119-126backend/internal/application/process/trans_grid.go:281backend/internal/application/process/gl_template.go:193backend/internal/application/process/journaltax.go:242-250backend/internal/application/process/report_menu_gl_fa.go:1045,1100,1182-1189backend/internal/application/process/service.go:849-850backend/internal/platform/db/pool.go:67-68backend/internal/application/process/workflow.go:154-158,170backend/internal/domain/query/write_policy_legacy.go:31