การแจ้งหนี้และวางบิล (Billing & Invoices)
โมดูลการเงินของ ATP30 ใช้ข้อมูลจากงานปฏิบัติการที่ผ่านการตรวจสอบแล้ว แล้วแยกออกเป็นเอกสารหรือรายงาน 3 กลุ่มหลักตามผู้รับข้อมูล
ถ้าสรุปตาม flow จริงจากโค้ด
- ฝ่ายปฏิบัติการเริ่มจาก
Trip Record - ฝ่ายตรวจงานอนุมัติใน
Trip History - จากนั้นข้อมูลเดียวกันจะถูกใช้ต่อใน
Customer Invoice,Partner Invoice, และDriver Income
เมนูย่อยในโมดูลการเงิน
| เมนู | คำอธิบาย |
|---|---|
| ใบวางบิลลูกค้า (Customer Invoice) | เรียกเก็บเงินจากลูกค้าตามรอบสัญญา พร้อม Export Excel |
| ใบแจ้งหนี้รถร่วม (Partner Invoice) | คำนวณและออกใบแจ้งหนี้ให้บริษัทรถร่วม (Sub-contractor) |
| รายได้นักขับ (Driver Income) | ตรวจสอบยอดรายได้พนักงานขับรถเพื่อใช้ทำจ่ายเงินเดือน |
ข้อมูลตั้งต้นที่ต้องพร้อมก่อน
ก่อนที่ผู้ใช้จะเห็นข้อมูลในเมนูการเงินได้จริง ควรมีองค์ประกอบอย่างน้อยดังนี้
- มีลูกค้าและสัญญาในระบบ
- มีสายรถและเที่ยวรถที่ถูกสร้างไว้
- มีการบันทึกข้อมูลการเดินรถจริง
- มีรายการที่ผ่านการอนุมัติใน
Trip History
ถ้าข้อมูลต้นน้ำยังไม่ครบ หน้าในโมดูลการเงินอาจขึ้นค่าว่าง หรือไม่พบรายการที่ค้นหา
หน้าที่ของแต่ละเมนู
Customer Invoice
ใช้กับฝั่งที่ต้องเรียกเก็บเงินจากลูกค้า ATP30
- ค้นหารายการตามลูกค้าและสถานะการวางบิล
- เปิดดูรอบบิลตามสัญญา
- เปิดหน้ารายละเอียดตาม contract group
- ระบุผู้ตรวจสอบและวันที่ทำรายการก่อน export
ดูรายละเอียดต่อที่ ใบวางบิลลูกค้า (Customer Invoice)
Partner Invoice
ใช้กับฝั่งบัญชีรถร่วม
- สรุปยอดตามเดือน
- ดูยอดรวมระดับบริษัทรถร่วม
- drill down ลงไประดับรถ, คนขับ, ลูกค้า, และสัญญา
- export ได้ทั้งก้อนใหญ่และรายกลุ่มย่อย
ดูรายละเอียดต่อที่ ใบแจ้งหนี้รถร่วม (Partner Invoice)
Driver Income
ใช้กับฝ่ายที่ต้องตรวจยอดรายได้ของพนักงานขับรถ
- ดูยอดรวมต่อเดือน
- drill down รายคน
- สลับมุมมองตามเงื่อนไขรายได้หรือกลุ่มลูกค้า
- export ได้ทั้งหน้ารวมและรายคน
ดูรายละเอียดต่อที่ รายได้นักขับ (Driver Income)
สรุปภาพรวมการทำงาน
:::tip ดูสูตรการคำนวณเพิ่มเติม อ่าน สเปคการคำนวณใบวางบิล เพื่อดู logic ของแต่ละ contract group แบบละเอียดจากโค้ดจริง :::
สิ่งที่ต้องระวังในการอ่านข้อมูลการเงิน
- บางหน้าคำนวณค่าบางส่วนที่ frontend เช่น
รายได้นักขับฝั่ง list ใช้amount × quantityใน UI - บางหน้าดึงยอดรวมจาก backend โดยตรง เช่น summary ของ
Partner Invoice Customer Invoiceจะเปลี่ยนรูปแบบฟอร์มตามcontract.groupPartner InvoiceและDriver Incomeมีทั้งหน้ารวมกับหน้ารายละเอียด ซึ่งใช้ endpoint คนละแบบ
ดังนั้นถ้าต้องอธิบายผลตัวเลขให้ผู้ใช้งาน ควรดูคู่มือย่อยของแต่ละเมนูประกอบเสมอ
อ้างอิงโค้ด
atp30-tos-frontend/src/views/pages/customer-invoice/index.tsxatp30-tos-frontend/src/views/pages/contract-invoice/index.tsxatp30-tos-frontend/src/views/pages/driver-income/index.tsxatp30-tos-frontend/src/api/customer-invoices.tsatp30-tos-frontend/src/api/contract-bus-company-invoices.tsatp30-tos-frontend/src/api/driver-incomes.ts