ข้ามไปยังเนื้อหาหลัก

ตรวจสอบใบสั่งขาย

เมนูตรวจสอบใบสั่งขายเป็นหน้าเกริ่น/ทางลัดสำหรับ order เดิมที่ต้องกลับมาดูเรื่องการชำระเงิน ผู้ใช้บางทีมองเป็น “ตรวจสอบใบแจ้งหนี้” เพราะปลายทางจริงคือขั้นตอนชำระเงินของใบสั่งขายที่มี invoice แล้ว หรือกำลังจะสร้าง invoice ก่อนจ่าย

เมนูนี้ไม่ใช่ flow สร้างใบสั่งขายใหม่ และไม่ควรมี payment model แยกของตัวเอง ให้ reuse payment และ invoice creation จากเมนู ใบสั่งขาย

ดูขั้นตอนชำระเงินในใบสั่งขายดู flow สร้างใบแจ้งหนี้

อยู่ตรงไหนใน Flow

ทางเข้าในแอป

แอปทางเข้าปลายทางจริง
MobileOrderList mode shipping-reviewroute OrderPayment
POS TerminalsalesOrderReviewpayment section ใน panel รายละเอียดใบสั่งขาย

พฤติกรรมหลัก

เรื่องรายละเอียด
Filter รายการโหลดใบสั่งขายที่ orderStatus = WAITING_PAYMENT
การสร้างเอกสารไม่สร้าง draft จากลูกค้า เลือก order เดิมเท่านั้น
Invoice dependencyถ้ามี invoice แล้วเปิด payment ได้เลย ถ้ายังไม่มีให้ใช้ flow สร้าง invoice ของใบสั่งขายก่อน
Payment modelเงินสด โอน แบ่งจ่าย QR ค่าขนส่ง ส่วนลด credit note และยอดรวม ใช้ logic เดียวกับใบสั่งขาย
QRใช้ payment QR utilities จาก qr.ts ชุดเดียวกัน
หลังจ่ายไปจัดส่ง/จัดสินค้า หรือ closeout ตามสถานะ order/invoice จริง

สิทธิ์และ guard

เรื่องรายละเอียด
Terminal menu keysalesOrderReview
deptCode ที่เห็นเมนู-2, 1, 2, 3, 4, 7, 29, 21, 8, 9, 13, 16, 20, 22, 23, 27
เงื่อนไขสาขาไม่มี requiresMainBranch ใน Terminal menu config
Owner filterreview mode ใช้ filter แบบรายการรอตรวจ จึงต่างจาก list draft ที่อาจ owner-only
Status guardorder ที่ไม่อยู่กลุ่ม payment-review ไม่ควรโผล่ในเมนูนี้

Service / API ที่เกี่ยวข้อง

AreaMobilePOS Terminal
Review listgetOrders({ mode/orderStatus: WAITING_PAYMENT }) ผ่าน order list screensplitMenuData.ts case salesOrderReview
Order detaildetail helpers ใน orders.tsOrderDetailForm.tsx โหลด detail
Invoiceinvoices.ts#createInvoice, invoice detail/retry helpersservice invoice ชุดเดียวกัน
PaymentpayOrder(payload) / order payment utilitiespayment handlers ใน OrderDetailForm.tsx
QRservices/qr.tsservices/qr.ts

Mobile vs POS Terminal

เรื่องMobilePOS Terminal
ListOrderList ใน review modesplit list ใต้ salesOrderReview
Payment UIOrderPaymentScreenpayment section ใน OrderDetailForm
Navigationnavigation.navigate('OrderPayment', { orderId, orderNo })สลับ section/state ใน detail panel
Payloadutils/orderPayment.ts สร้าง form/summary/payloadterminal payment handlers สร้าง payload เทียบเท่า

Checklist สำหรับ Developer

เอกสารที่เกี่ยวข้อง