跳到主要内容

แนวคิดทะเบียนบริการ (Service Items Concept)

เอกสารนี้อธิบาย “แนวคิดระดับระบบ” ของ ทะเบียนบริการ (Service Items / Service Catalog) ว่าคืออะไร แตกต่างจากทะเบียนสินค้าอย่างไร ใช้ข้อมูลอะไรบ้าง และมีผลต่อบัญชี ภาษี และรายงานอย่างไร
เหมาะสำหรับ: เจ้าของกิจการ, ทีมบัญชี, System Admin, Business Analyst และ AI/RAG ที่ต้องการเข้าใจโครงสร้างข้อมูลของบริการใน Vetpresso


1) คำจำกัดความพื้นฐาน

1.1 Service Item คืออะไร

Service Item (ทะเบียนบริการ) คือ รายการ “ค่าบริการ” ที่โรงพยาบาลสัตว์ใช้คิดค่ารักษาและบริการแก่ลูกค้า เช่น

  • ค่าตรวจสุขภาพ, ค่าตรวจติดตาม
  • ค่า LAB, X-ray, Ultrasound
  • ค่าผ่าตัด, ทำหมัน, ทำฟัน
  • ค่าฝากเลี้ยง, Hotel, Grooming
  • ค่าบริการเหมาจ่ายอื่น ๆ

คุณสมบัติหลัก

  • ไม่มีสต็อก ไม่ถูกนับจำนวนคงเหลือ
  • เป็น “หน่วยของรายได้” ในเอกสารขาย
  • มีผลต่อ รายได้, VAT, และ บัญชี โดยตรง

1.2 เปรียบเทียบกับ Product Item (ทะเบียนสินค้า)

ด้านService Item (ทะเบียนบริการ)Product Item (ทะเบียนสินค้า)
ลักษณะค่าบริการ / หัตถการ / LAB / Hotel / Groomingสินค้าที่จับต้องได้ (ยา, เวชภัณฑ์, อาหาร, สินค้าหน้าร้าน)
การตัดสต็อก❌ ไม่ตัดสต็อกโดยตรง✅ มีสต็อก, ตัดเข้า–ออกคลัง
บทบาทในบัญชีตัวกำหนดรายได้ + VATมีทั้งรายได้ (ขายสินค้า) และต้นทุนคงเหลือในคลัง
แหล่งใช้งานหลักOPD/IPD Flow, Billing, POSInventory, Purchasing, Issue-to-Service, POS
สรุปสั้น ๆ
  • Service Item = หน่วยของรายได้
  • Product Item = หน่วยของสต็อก

2) บทบาทของ Service Items ในระบบ Vetpresso

Service Items ทำหน้าที่เป็น “สะพาน” ระหว่าง การรักษา, การคิดเงิน, และ บัญชี ดังนี้

2.1 ในกระบวนการตรวจรักษา (OPD/IPD)

  • เมื่อหมอเลือก “หัตถการ / Procedure / ค่า LAB / Package” ในหน้า OPD/IPD
    ระบบจะใช้ Service Items เป็นตัวแทนค่าบริการ
  • Service Items สามารถเชื่อมกับ สูตรตัดสต็อก (Issue-to-Service)
    เพื่อให้ ระบบไปตัด Product Items ที่ใช้จริงในเบื้องหลัง

2.2 ในการออกเอกสารขาย

  • ใบค่ารักษา / ใบแจ้งหนี้ / ใบเสร็จ / POS
    แสดงชื่อและราคาจาก Service Items
  • Service Items กำหนด:
    • รายได้จะลงบัญชีไหน
    • VAT จะคิดแบบรวม/ไม่รวม/ยกเว้น
    • เอกสารประเภทใดที่อนุญาตให้ใช้บริการนี้

2.3 ในระบบบัญชีและภาษี

Service Items แต่ละตัวผูกกับ:

  • Revenue Group – กลุ่มรายได้เพื่อใช้ในรายงาน
  • Revenue Account Code – เลขบัญชีรายได้
  • VAT Type & Rate – ประเภท VAT และอัตราภาษี

ผลลัพธ์คือ:

  • รายงาน VAT ขาย (Output Tax Report) ถูกต้อง
  • งบกำไรขาดทุนสามารถแยกวิเคราะห์รายได้ตามประเภทบริการ
  • AI สามารถนำข้อมูลรายได้ตาม Service Items ไปวิเคราะห์ต่อได้ เช่น กำไรตาม Service Group, ฤดูกาล, หมอผู้ให้บริการ

3) โครงสร้างข้อมูลหลักของ Service Item

ตารางนี้อธิบาย “Field สำคัญ” ของหนึ่งรายการ Service Item (ชื่อ field ใช้เพื่ออ้างอิงเชิงแนวคิด อาจแตกต่างจากชื่อในฐานข้อมูลจริง)

3.1 ข้อมูลระบุตัวตน

  • service_code
    รหัสบริการที่ไม่ซ้ำกัน เช่น SRV-CONSULT-001, LAB-CBC, SURG-SPAY-DOG-S

    • ใช้ค้นหา, ออกรายงาน, เชื่อมต่อกับระบบภายนอก
    • ไม่ควรนำรหัสเดิมกลับมาใช้ใหม่ เมื่อยกเลิกบริการไปแล้ว
  • service_name_th / service_name_en
    ชื่อบริการที่แสดงให้ผู้ใช้และลูกค้าเห็นบนหน้าจอและเอกสาร

  • is_active
    ใช้สำหรับปิด/เปิดการใช้งานบริการ (แนะนำให้ปิดการใช้แทนการลบ)


3.2 การจัดกลุ่มบริการและรายได้

  • service_group
    กลุ่มบริการเชิงปฏิบัติการ เช่น

    • Consultation
    • Vaccination
    • Surgery
    • LAB
    • Imaging
    • Pet Hotel
    • Grooming
  • revenue_group
    กลุ่มรายได้เชิงบัญชี/วิเคราะห์ เช่น

    • รายได้ค่าตรวจรักษา
    • รายได้ LAB & Imaging
    • รายได้ผ่าตัด
    • รายได้ฝากเลี้ยง / Hotel
    • รายได้ Grooming

การมีทั้ง service_group และ revenue_group ทำให้:

  • ทีมงานหน้าร้านกับทีมหมอใช้ภาษาที่เข้าใจง่าย (service_group)
  • ทีมบัญชีและการเงินสามารถดูรายงานตามมุมมองของบัญชี (revenue_group)

3.3 การตั้งราคา

  • pricing_mode
    รูปแบบการคิดราคา เช่น

    • FIXED_PER_VISIT – ราคาคงที่ต่อครั้ง
    • PER_DAY – ราคาต่อวัน/คืน
    • BY_WEIGHT – ราคาแตกต่างตามน้ำหนักสัตว์
    • PACKAGE – ใช้ในแพ็กเกจเหมา
  • base_price
    ราคามาตรฐานของบริการ (ตาม mode ที่กำหนด)

  • currency_code
    รหัสสกุลเงิน (เช่น THB) – เผื่อรองรับการใช้งานข้ามประเทศในอนาคต


3.4 ภาษีมูลค่าเพิ่ม (VAT)

  • vat_type
    • INCLUDE – ราคาที่ตั้งไว้รวม VAT แล้ว
    • EXCLUDE – ราคายังไม่รวม VAT
    • EXEMPT – ยกเว้น VAT
  • vat_rate
    เช่น 7, 0 (กรณีอัตรา 0%) เป็นต้น

3.5 การผูกบัญชี (Accounting Mapping)

  • revenue_account_code
    เลขบัญชีรายได้ในผังบัญชีของโรงพยาบาล เช่น 411101, 411201
  • cost_center / department / branch_code (ถ้ารองรับ)
    ใช้ระบุศูนย์ต้นทุนหรือฝ่ายที่เกี่ยวข้องกับบริการนั้น

การกำหนด mapping ให้ถูกตั้งแต่แรก จะช่วยลดงานแก้ไขเอกสารย้อนหลัง และทำให้การปิดงวดบัญชีเป็นไปอย่างราบรื่น


3.6 ขอบเขตสาขาและการแสดงผล

  • available_branches
    รายการสาขาที่อนุญาตให้ใช้บริการนี้ (กรณีระบบมีหลายสาขา)
  • display_in_pos
    ใช้กำหนดว่าจะให้บริการนั้นแสดงให้เลือกใน POS หรือไม่
  • is_package_only
    บางบริการอาจถูกออกแบบให้ใช้เฉพาะในแพ็กเกจ ไม่ให้ขายแยกเดี่ยว

4) ความสัมพันธ์กับ Inventory (สินค้าและสต็อก)

ถึงแม้ Service Item จะ ไม่ตัดสต็อกเอง แต่สามารถเชื่อมกับ Product Items ได้ผ่านกลไกเช่น:

  • สูตรเบิกสินค้าไปยังบริการ (Issue-to-Service)
    ตัวอย่าง:
    • Service: ผ่าตัดทำหมันสุนัข (≤ 10 กก.)
      • ใช้ยา A 1 ขวด
      • ใช้ไหมเย็บ B 3 ซอง
      • ใช้สำลี C 10 ก้อน

ผลลัพธ์:

  • หน้าบิลค่ารักษา → เห็นเป็น “ค่าผ่าตัดทำหมันสุนัข” (Service)
  • ฝั่งคลังสินค้า → ตัดสต็อกจากยาและเวชภัณฑ์ตามสูตร (Products)
信息

แนวคิดนี้ทำให้ บริการ เป็นหน่วยของรายได้ที่เข้าใจง่ายสำหรับลูกค้า
แต่ ต้นทุนและสต็อก ยังคุมได้ละเอียดจากฝั่ง Inventory


5) แนวทางการออกแบบรหัสและโครงสร้าง Service Items

เพื่อลดความซ้ำซ้อนและรองรับการวิเคราะห์ในอนาคต แนะนำหลักการดังนี้

  1. ออกแบบรหัสบริการอย่างมีโครงสร้าง

    • ใช้ Prefix ตามกลุ่ม เช่น CONS-, LAB-, SURG-, HOTEL-, GRM-
    • เติมรหัสย่อยเพื่อให้เข้าใจได้จากรหัส เช่น น้ำหนัก/ขนาด/หมวด
  2. หลีกเลี่ยงการสร้างบริการซ้ำความหมาย

    • ถ้าเป็นเพียงการเปลี่ยนราคาเล็กน้อย → ใช้บริการเดิม ปรับราคาในระบบ
    • ถ้าเป็นการเปลี่ยน “นิยามของบริการ” อย่างชัดเจน → สร้างรหัสใหม่
  3. แยกบริการตามรูปแบบการคิดราคาอย่างชัดเจน

    • กรณีคิดตามน้ำหนัก: ให้ชื่อบริการบอกเงื่อนไข เช่น
      • “ผ่าตัดทำหมันสุนัข (≤ 10 กก.)”
      • “ผ่าตัดทำหมันสุนัข (> 10–20 กก.)”
  4. ออกแบบ Service Group / Revenue Group ตั้งแต่ต้น

    • เพื่อรองรับการทำ Dashboard, BI, AI ในอนาคต

6) ตัวอย่างการตั้งค่า Service Item

6.1 ตัวอย่าง: ตรวจสุขภาพทั่วไปสุนัข/แมว

  • service_code: CONS-GEN-001
  • service_name_th: ตรวจสุขภาพทั่วไปสุนัข/แมว
  • service_group: Consultation
  • revenue_group: รายได้ค่าตรวจรักษาทั่วไป
  • pricing_mode: FIXED_PER_VISIT
  • base_price: 500
  • vat_type: INCLUDE
  • vat_rate: 7
  • revenue_account_code: 411101
  • available_branches: ทุกสาขา
  • display_in_pos: true

6.2 ตัวอย่าง: ค่าฝากเลี้ยงสุนัข (ต่อคืน)

  • service_code: HOTEL-DOG-NIGHT
  • service_name_th: ค่าฝากเลี้ยงสุนัข / คืน
  • service_group: Pet Hotel
  • revenue_group: รายได้ฝากเลี้ยงสัตว์
  • pricing_mode: PER_DAY
  • base_price: 450
  • vat_type: EXCLUDE
  • vat_rate: 7
  • revenue_account_code: 411301
  • available_branches: เฉพาะสาขาที่มี Hotel
  • display_in_pos: true

7) แนวทาง Versioning และการเปลี่ยนราคา

เมื่อมีการปรับราคา หรือปรับโครงสร้างบริการ ควรตัดสินใจดังนี้

  • กรณีเปลี่ยนราคาอย่างเดียว
    • ใช้ Service Item เดิม ปรับ base_price / เงื่อนไขราคาในระบบ
  • กรณีเปลี่ยนนิยามบริการ (เช่น เดิมไม่รวม LAB ตอนหลังรวม LAB ด้วย)
    • สร้าง Service Item ใหม่ด้วยรหัสใหม่
    • ปิดการใช้รหัสเดิม (is_active = false) เพื่อเก็บประวัติในรายงานย้อนหลัง

8) มุมมองสำหรับ AI และ RAG-Vetpresso

เพื่อให้ AI ตอบคำถามผู้ใช้งานได้ดีขึ้น เอกสารนี้ช่วยให้ AI เข้าใจว่า:

  • คำถามที่เกี่ยวข้องกับ “ค่าบริการ / ราคาค่ารักษา / แพ็กเกจ / รายได้จากบริการ”
    → ควรถูก map มาที่ Service Items ก่อนเสมอ
  • ถ้าลูกค้าถามเรื่อง “สต็อก / จำนวนคงเหลือ / ต้นทุนสินค้า / การเบิกจ่ายยา”
    → ควรส่งต่อคำถามไปยังส่วน Inventory / Product Items และ Issue-to-Service

ตัวอย่างคำถามที่ AI สามารถอ้างอิงจากเอกสารนี้ได้:

  • “ทำไมออกใบเสร็จแล้วไม่ตัดสต็อกยา?”
  • “ถ้าจะเพิ่มบริการใหม่ ต้องคุยกับบัญชีเรื่องอะไรบ้าง?”
  • “อยากดูรายได้แยกตามประเภทบริการทำอย่างไร?”

9) เชื่อมโยงกับคู่มืออื่น

  • การตั้งค่าทะเบียนบริการครั้งแรก ดูที่
    คู่มือ: การตั้งค่าทะเบียนบริการ (Service Catalog Setup)
    (/setup/service-catalog)

  • การตั้งค่าทะเบียนสินค้าและสต็อกเริ่มต้น ดูที่
    คู่มือ: การตั้งค่าทะเบียนสินค้าและคลังสินค้า

  • การใช้งานจริงในหน้า OPD/IPD และการคิดค่ารักษา ดูที่
    คู่มือ: Medical OPD/IPD Flow และ Billing & Receipt Flow


เมื่อเข้าใจแนวคิด Service Items จากเอกสารนี้แล้ว การออกแบบโครงสร้างค่าบริการของโรงพยาบาลสัตว์จะชัดเจนขึ้น รองรับทั้งการใช้งานประจำวัน การทำบัญชี และการวิเคราะห์ด้วย AI ในระยะยาว