Skip to main content

การแจ้งหนี้และวางบิล (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.group
  • Partner Invoice และ Driver Income มีทั้งหน้ารวมกับหน้ารายละเอียด ซึ่งใช้ endpoint คนละแบบ

ดังนั้นถ้าต้องอธิบายผลตัวเลขให้ผู้ใช้งาน ควรดูคู่มือย่อยของแต่ละเมนูประกอบเสมอ

อ้างอิงโค้ด​

  • atp30-tos-frontend/src/views/pages/customer-invoice/index.tsx
  • atp30-tos-frontend/src/views/pages/contract-invoice/index.tsx
  • atp30-tos-frontend/src/views/pages/driver-income/index.tsx
  • atp30-tos-frontend/src/api/customer-invoices.ts
  • atp30-tos-frontend/src/api/contract-bus-company-invoices.ts
  • atp30-tos-frontend/src/api/driver-incomes.ts