#faq#flow#purchase#ap#menu
งานซื้อทำตามลำดับอย่างไร ตั้งแต่ขอซื้อ สั่งซื้อ รับของ จนถึงจ่ายเงินเจ้าหนี้
ตอบสั้น: สายหลักคือ ใบเสนอซื้อ (flag 2) → อนุมัติ (4) → ใบสั่งซื้อ (6) → อนุมัติ (8) → ซื้อสินค้า/ตั้งหนี้ซื้อ (12) → ใบรับวางบิล (213) → จ่ายชำระหนี้ (19) ขั้น 1 ถึง 4 (PR, อนุมัติ, PO, อนุมัติ) ไม่มีผลสต็อกและไม่ลงบัญชี ผลสต็อกและ GL เกิดที่ใบซื้อ (12 หรือสาย 310/315) และ GL ของเงินจ่ายเกิดที่ 19
รายละเอียด
| ขั้น | เอกสาร (flag) | เมนู (รหัส) | สต็อก | GL |
|---|---|---|---|---|
| 1 | ใบเสนอซื้อ PR (2) | menu_purchase_requisition (3001) |
ไม่ | ไม่ |
| 2 | อนุมัติใบเสนอซื้อ (4) | menu_purchase_requisition_approval (3002) |
ไม่ | ไม่ |
| 3 | ใบสั่งซื้อ PO (6) ดึงจาก 4 หรือ 2 | menu_po_purchase_order (3003) |
ไม่ | ไม่ |
| 4 | อนุมัติใบสั่งซื้อ (8) | menu_po_purchase_order_approve (3004) |
ไม่ | ไม่ |
| 5 | จ่ายเงินล่วงหน้า (10) / มัดจำ (11) ถ้ามี | 3006 / 3009 | ไม่ | มี |
| 6 | ซื้อสินค้า/ตั้งหนี้ซื้อ (12) ดึงจาก PO (6) | menu_po_purchase_billing (3011) |
เข้า | มี |
| 6ก | หรือรับของทีละงวด (310) แล้วตั้งหนี้ (315) | menu_po_purchase_partial_item / _partial_1 (3014 / 3016) |
310 เข้า, 315 ไม่ | มีทั้งคู่ |
| 7 | ส่งคืน/ลดหนี้ (16) ดึงจาก 12 · เพิ่มหนี้ (14) | 3012 / 3013 | 16 ออก (inquiry 0/2) · 14 เข้า (inquiry 0) | มี |
| 8 | ใบรับวางบิล (213) | menu_ap_pay_bill (5013) |
ไม่ | ไม่ |
| 9 | จ่ายชำระหนี้ (19) เลือกบิลค้าง | menu_ap_debt_billing (5014) |
ไม่ | มี |
- การดึงเอกสารอ้างอิง ทำได้เฉพาะคู่ที่ระบบอนุญาต: 6←{4,2}, 12←{6}, 310←{6}, 315←{310}, 16←{12}, 14←{12}, 311←{310}, 316/317←{315} (ตาราง
refImportSources) วิธีดึงอยู่ใน ดึงเอกสารอ้างอิง (ปุ่มดึงเอกสาร) ทำไมเอกสารต้นทางไม่ขึ้น - สต็อก: ตัวนับสต็อกรับเฉพาะ flag 12, 310, 14, 311, 16 (กับ 44/46/48 ฝั่งขาย และ 54-73 ฝั่งสต็อก) และตัดบริการ (
item_typeนอก 0/4/6) ออก ดังนั้น 2/4/6/8, 315/316/317, 10/11, 213, 19 ไม่เคลื่อนสต็อก ส่วน 14/16/311 ที่inquiry_typeเป็น 1 หรือ 3 เปลี่ยนมูลค่าอย่างเดียว ไม่เปลี่ยนจำนวน - รับเกินใบสั่งซื้อ: ใบ 12 และ 310 ที่ดึงจาก PO ถูกปฏิเสธด้วย "จำนวนเกินรายการสั่งซื้อ" ถ้าเกินจำนวนที่เหลือ เว้นแต่เปิดตัวเลือก
receive_more_po(trans_validate.go:79-82,:295-296) - GL: ลงบัญชีเฉพาะ flag ที่อยู่ในรายการ
glRebuildTransFlags(12, 16, 310, 311, 315, 316, 317, 14, 10, 11, 19 ฯลฯ) ไม่มี 2/4/6/8/213 ในรายการ- 12: เดบิตซื้อสินค้าและภาษีซื้อ เครดิตเจ้าหนี้ ถ้าซื้อสด (
inquiry_type1 หรือ 3) จะเครดิตช่องทางจ่ายจากแท็บจ่ายเงินแทนเจ้าหนี้ รายละเอียดใน ซื้อสินค้า (ใบซื้อ 12) ลงบัญชี GL ยังไง ภาษีซื้อเข้าบัญชีไหน - 310: เดบิตซื้อ เครดิตบัญชีพักเจ้าหนี้ที่ยังไม่ตั้งหนี้ ส่วน 315 ล้างบัญชีพักนั้นพร้อมภาษีซื้อ เครดิตเจ้าหนี้
- 19: ตัดเจ้าหนี้ด้วยช่องทางจ่ายที่เก็บใน
cb_transดู รับชำระหนี้ (239) / จ่ายชำระหนี้ (19) ลงบัญชี GL ยังไง เช็ค โอน ภาษีหัก ไปไหน และ แท็บรับ/จ่ายชำระ (เงินสด โอน เช็ค บัตร PromptPay ภาษีหัก) เก็บและลงบัญชีอย่างไร ทำไมขึ้น "ยอดการจ่ายเงินไม่สมบูรณ์"
- 12: เดบิตซื้อสินค้าและภาษีซื้อ เครดิตเจ้าหนี้ ถ้าซื้อสด (
- ใบรับวางบิล (213) เป็นเอกสารรวบรวมบิลไว้จ่าย ไม่ลง GL (บันทึกแล้วสั่งสร้างรายการบัญชีเฉพาะ 19/239) ใบ 19 เลือกบิลค้างได้จากบิลที่มียอดเหลือ ดู ใบวางบิลลงบัญชีไหม วางบิลแล้วยอดหนี้ลดหรือเปล่า
- ยอดค้างจ่าย คำนวณสดจากเอกสาร ไม่ได้เก็บเป็นยอดคงเหลือ: นับ 12 (
inquiry_type0/2), 14, 316, 315 (0/2) เป็นต้น เป็นหนี้ และหัก 16/317 (0/1) ซื้อสด (inquiry_type1) จึงไม่โผล่เป็นหนี้ค้าง - ยกเลิก แต่ละเอกสารมีเมนูยกเลิกแยก (ใบซื้อคือ
menu_po_purchase_billing_cancel3026 / 3.16.7) ไม่ใช่การลบ ดู ยกเลิก แก้ไข ลบเอกสาร ต่างกันอย่างไร ผลต่อสต็อกและ GL - ซื้อของเข้ามาแล้วอยากรู้ว่ารหัสเมนูตรงกับหน้าจออะไร ดู รหัสเมนู (เช่น 2.1.7 หรือ 4013) คือหน้าจอไหน และระบบเปิดหน้าจอจากรหัสยังไง
ข้อควรระวัง
- เมนูที่ชื่อคล้ายกัน: 3011 (ซื้อสินค้า/ตั้งหนี้ซื้อ, flag 12) ตั้งหนี้จากใบสั่งซื้อโดยตรง ส่วน 3014 (รับสินค้าตามใบสั่งซื้อ ทะยอยรับ, flag 310) ก็อ้างใบสั่งซื้อเช่นกัน แต่ลงบัญชีพักเจ้าหนี้และแยกตั้งหนี้ภายหลังที่ 3016 (flag 315)
- flag 310 ไม่อยู่ในนิยามยอดค้างจ่าย (
apDebtWhere) หนี้จึงนับเมื่อออก 315 (inquiry_type0/2)
ดูเพิ่ม
- จัดซื้อถึงจ่ายเงิน (Procure-to-Pay) · ใบสั่งซื้อสินค้า (Purchase Order) · ซื้อสินค้า/ตั้งหนี้ซื้อ (Purchase Invoice) · รับสินค้าตามใบสั่งซื้อ (ทยอยรับ) (Goods Receipt) · จ่ายชำระหนี้ เจ้าหนี้ (AP Payment) · ทำไมสต็อกติดลบได้ และตั้งห้ามติดลบที่ไหน
ที่มาในโค้ด
frontend/account/tabs/transMenuMap.ts:60(PR 2),:103(PO 6),:299(ซื้อ 12),:330(310),:361(315),:392(16),:1349(213),:1378(19)backend/internal/application/process/trans_ref_import_lines.go:52-54(refImportSources)backend/internal/application/process/stock_rebuild.go:18-22(flag ที่นับสต็อก),:27(stockValueOnlySQL),:32-40(ฝั่งเข้า/ออกของ 12, 310, 14, 16, 311)backend/internal/application/process/service.go:1731-1745(glRebuildTransFlags),:1923(310),:1947(315),:1965(12/14/316),:1984(16/317),:2159(19/239)backend/internal/application/process/docs.go:389-391(GL หลังบันทึกเฉพาะ 19/239 ในเส้นทางเอกสารหนี้),:604-608(นิยามยอดค้างฝั่งเจ้าหนี้),:628(OutstandingBills)