#doctypes#sale
เพิ่มหนี้ขาย/ราคาผิด (trans_flag 46, 50)
ใช้เมื่อไร
ใช้เพิ่มหนี้ลูกค้าจากการขาย หรือแก้ราคาผิด อ้างใบขาย 44 อยู่ที่เมนู "เพิ่มหนี้ขาย/ราคาผิด" (SA, transMenuMap.ts:890 เมนูใส่ transFlags 46/50)
trans_flag/ตาราง
- 46 มี calc_flag −1 (transcalc.go:14) เก็บใน หัวเอกสารสินค้า/ซื้อ/ขาย (ic_trans) + รายการสินค้าในเอกสาร (ic_trans_detail)
- 50 อยู่ในเมนูเดียวกันและอยู่ใน
glRebuildTransFlags(service.go:1731) ส่วนคำอธิบายของ flag 50: (ไม่พบในโค้ดที่อ่าน)
ฟิลด์/แท็บบนหน้าจอ
- หัวเอกสาร: party, taxDoc, refDoc, sale, inquiry, vat, docReason แท็บ vat, gl ไม่มีแท็บชำระ (transLayouts.ts:90)
- ประเภทการเพิ่มหนี้ (
SALE_ADD_DEBT_TYPEtransLayouts.ts:41):- 0 เพิ่มหนี้จากการขายเงินเชื่อ
- 1 เพิ่มหนี้จากการขายเงินเชื่อ (ไม่กระทบสต๊อก)
- 2 เพิ่มหนี้จากการขายสินค้าเงินเชื่อ (สินค้าบริการ)
ผลต่อสต็อก
- ตัดออก (−1) เฉพาะ inquiry 0 (
stockRowsSQLตัด 46 ที่ inquiry ≠ 0 stock_rebuild.go:18) - อยู่ใน
stockCheckFlags(trans_save_rules.go:55)
ผลต่อภาษี (VAT/WHT)
- ภาษีขาย (trans_tax.go:37)
- ไม่มี WHT
การลงบัญชี
ใช้ standard GL กลุ่มเดียวกับขาย 44 (service.go:1998)
| Dr | Cr |
|---|---|
| ลูกหนี้ ยอดรวม | ขาย (ฐาน) + ภาษีขาย |
เอกสารต้นทาง-ปลายทาง
- ต้นทาง: ขาย 44 (transMenuMap.ts:890)
- นับเป็นหนี้ลูกหนี้ทุกใบ (
arDebtWheredocs.go:597) แล้วไปตัดที่ใบวางบิล 235 และรับชำระ 239
ยกเลิก/แก้ไข
- ยกเลิก 46 ด้วย flag 47 (doc_cancel.go:52) ส่วน 50 ไม่มีคู่ยกเลิก (ไม่พบในโค้ด)
ข้อควรระวัง
- inquiry 1 (เชื่อ ไม่กระทบสต็อก) เข้าเงื่อนไข
inquiryType == 1ที่ service.go:2036 จึงไปใช้ payTenders (ไม่มีแท็บชำระ จึงใช้เงินสดเป็นค่าเริ่มต้น) แทน Dr ลูกหนี้ ขณะที่arDebtWhereนับใบ 46 ทุกใบเป็นหนี้ ผลสองทางนี้ไม่ตรงกัน (เป็นข้อสังเกตจากโค้ด ยังไม่ได้ยืนยันว่าตั้งใจ)
ที่มาในโค้ด
frontend/account/tabs/transMenuMap.ts:890เมนูfrontend/account/transaction/transLayouts.ts:90FLAG_SPEC 46 /:41SALE_ADD_DEBT_TYPEbackend/internal/application/process/stock_rebuild.go:18stockRowsSQLbackend/internal/application/process/service.go:1998/:2036GLbackend/internal/application/process/docs.go:597arDebtWherebackend/internal/application/process/doc_cancel.go:52ยกเลิก 47