📑 สารบัญ
การติดตั้งบน Google
ทำครั้งเดียวบนคอมพิวเตอร์ ประมาณ 10 นาที
เริ่มต้น
สร้างไฟล์ Google Sheets ใหม่
ไฟล์นี้จะเป็น “ฐานข้อมูล” ของร้าน เก็บรายการยา ชื่อสามัญ ประเภทยา ราคา ล็อตและวันหมดอายุ บิลขาย บิลลงบัญชี ทะเบียนผู้ป่วย บริษัทยา ยาเสีย และพนักงานทั้งหมด
- เข้า sheets.new (ต้องล็อกอิน Gmail ของร้าน)
- คลิกชื่อไฟล์มุมซ้ายบน แล้วตั้งชื่อ ตั้งอะไรก็ได้ เช่น Jabphap Pharmacy POS หรือชื่อร้านยาของคุณ
ใส่ระบบ
วางไฟล์ Code.gs และ appsscript.json
ชุดไฟล์ที่ได้รับมีแค่ 2 ไฟล์ อยู่ในโฟลเดอร์ dist — Code.gs คือตัวระบบทั้งหมด และ appsscript.json คือไฟล์ตั้งค่าเขตเวลาและสิทธิ์
- ในไฟล์ชีต ไปที่เมนู ส่วนขยาย›Apps Script
- คลิกชื่อโปรเจกต์มุมซ้ายบน (“โปรเจกต์ที่ไม่มีชื่อ”) เปลี่ยนเป็น Jabphap Pharmacy POS
ชื่อนี้จะไปแสดงในหน้าขออนุญาตสิทธิ์ของ Google ในขั้นตอนที่ 4 - เปิดไฟล์ Code.gs ในหน้าแก้ไข กด Ctrl + A แล้วลบโค้ดเดิมทิ้งทั้งหมด
- เปิดไฟล์ dist/Code.gs ที่ได้รับ คัดลอกทั้งไฟล์มาวาง แล้วกด Ctrl + S เพื่อบันทึก
- ไปที่ ⚙ การตั้งค่าโปรเจกต์ ติ๊ก “แสดงไฟล์ Manifest ‘appsscript.json’ ในเครื่องมือแก้ไข” กลับมาเปิดไฟล์ appsscript.json ลบของเดิม วาง dist/appsscript.json ทับทั้งไฟล์ แล้วกด Ctrl + S
หน้าเว็บทุกหน้า (หน้าขาย คิวจัดยา ผู้ป่วย/แพ้ยา สต็อกยา รายงาน ตัวช่วยติดตั้ง ฯลฯ) ฝังอยู่ใน Code.gs แล้ว ไม่ต้องสร้าง Index.html หรือไฟล์อื่นเพิ่ม
Code.gs ยาวหลายหมื่นบรรทัด ถ้าวางขาดท้ายไฟล์ระบบจะเปิดไม่ขึ้น ให้เลื่อนดูบรรทัดสุดท้ายว่าลงท้ายด้วย };
ทำไมต้องวาง appsscript.json ด้วย
ไฟล์นี้กำหนดเขตเวลาเป็น Asia/Bangkok (เลขคิว ยอดรายวัน วันหมดอายุของล็อตยา และเวลาส่งสรุปสต็อกตอนเช้าจึงตรงกับเวลาไทย) และระบุสิทธิ์ที่ระบบขอให้ชัดเจน ทำให้หน้าขออนุญาตในขั้นที่ 4 ตรงกับรายการที่อธิบายไว้
ถ้าข้ามขั้นนี้ ระบบยังทำงานได้ แต่ Google อาจถามสิทธิ์เพิ่มภายหลัง และเขตเวลาจะเป็นค่าของบัญชี Google แทน
ติดตั้ง
สร้างฐานข้อมูลของร้าน
เลือกได้ 2 วิธี แนะนำวิธี A เพราะตั้งชื่อร้าน เลขที่ใบอนุญาต รายชื่อเภสัชกร รหัส PIN และลูกค้าลงบัญชีของคุณเองได้เลย
- กลับไปที่แท็บ Google Sheets แล้วรีเฟรชหน้า (F5) รอสักครู่จะมีเมนู 💊 Jabphap Pharmacy POS ขึ้นบนแถบเมนู
- คลิก 💊 Jabphap Pharmacy POS›🚀 ติดตั้งระบบ (เริ่มที่นี่)
- ครั้งแรก Google จะขออนุญาตสิทธิ์ ทำตามขั้นตอนที่ 4 แล้วกดเมนูเดิมอีกครั้ง
- หน้าแรกของตัวช่วยสรุปสิ่งที่ระบบจะสร้าง (ตารางฐานข้อมูล 18 ตาราง ข้อมูลร้านยาและใบอนุญาต บัญชีผู้ดูแล การขายยาอย่างปลอดภัย สต็อกยาตามล็อต ฉลากยา & คิวจัดยา และยาตัวอย่าง) กด เริ่มติดตั้ง แล้วกรอกตามนี้
ชื่อร้าน (เช่น ร้านยาสุขภาพดี ฟาร์มาซี) · เบอร์โทร · ที่อยู่ (พิมพ์บนใบเสร็จและฉลากยา) · เลขที่ใบอนุญาตขายยา เช่น ข.ย.1 เลขที่ 12/2569 · รายชื่อเภสัชกร 1 บรรทัดต่อ 1 ท่าน · สกุลเงิน · เขตเวลา
ชื่อ-สกุล (ถ้าเป็นเภสัชกรใส่ ภก./ภญ. นำหน้า) · ชื่อผู้ใช้ (อังกฤษตัวเล็ก ตัวเลข _ . -) · PIN ตัวเลข 4–8 หลัก ห้ามเป็นเลขซ้ำกันทั้งหมด
ทุกข้อปรับภายหลังได้ที่หน้าตั้งค่า (ดูตารางด้านล่าง) แล้วกด ติดตั้งเลย
รอ 10–30 วินาที จะเห็นบัญชีสำหรับเข้าสู่ระบบ ลิงก์หน้าขาย (ถ้า Deploy แล้ว) และสิ่งที่ควรทำต่อ
| ตัวเลือกในหน้า 3 | ทำอะไร |
|---|---|
| ติดตั้งยาตัวอย่าง (แนะนำ) | ยา 40 รายการ 8 หมวด — แก้ปวด/ลดไข้ · หวัด/ไอ/แพ้อากาศ · ระบบทางเดินอาหาร · ยาอันตราย/ยาตามใบสั่ง · ยาใช้ภายนอก/ทำแผล · วิตามิน/อาหารเสริม · เวชภัณฑ์ · เวชสำอาง พร้อมชื่อสามัญ ประเภทยา วิธีใช้ คำเตือน บาร์โค้ด (ตัวอย่าง ไม่ใช่บาร์โค้ดจริง) ยายกกล่อง และล็อต (มีล็อตหมดอายุ/ใกล้หมดอายุให้เห็นการแจ้งเตือน) + ผู้ป่วยตัวอย่าง 4 ราย ลบออกภายหลังได้ |
| เปิดระบบสต็อกยาและแจ้งเตือนอัตโนมัติ | ขายแล้วตัดสต็อกตามล็อตที่หมดอายุก่อน (FEFO · ยกกล่องตัดเป็นแผงให้เอง) เตือนยาใกล้หมดอายุ ต่ำกว่าจุดสั่งซื้อ และทำรายการสั่งซื้อให้ |
| ยาอันตราย / ยาควบคุมพิเศษ ต้องระบุเภสัชกรผู้จ่ายยา (แนะนำ) | บันทึกชื่อเภสัชกรในทุกบิลที่มียาอันตราย/ยาควบคุมพิเศษ ใช้ทำบัญชีการขายยาในหน้ารายงาน |
| ใช้คิวจัดยา | ใบสั่งยา ออเดอร์ออนไลน์ (LINE/โทรสั่ง) และบิลลงบัญชีเข้าคิว รอจัดยา → กำลังจัดยา → เภสัชกรตรวจแล้ว → จ่ายยาแล้ว |
| ลูกค้าลงบัญชี (ไม่บังคับ) | พิมพ์รายชื่อคั่นด้วยจุลภาค เช่น คลินิกหมอสมชาย, บ้านพักผู้สูงอายุสุขใจ ใช้ตอนลงบัญชี (รับยาก่อน ชำระทีหลัง) เพิ่ม/แก้ภายหลังได้ที่ ตั้งค่า › หน้าร้าน & คิวจัดยา |
| คิดภาษีมูลค่าเพิ่ม | เปิดเมื่อร้านจดทะเบียนภาษีมูลค่าเพิ่ม แล้วใส่อัตรา (%) |
| ขนาดใบเสร็จ · ชุดสี · ธีม | กระดาษ 58mm / 80mm / A4 · ชุดสี 8 แบบ (เริ่มต้น “ร้านยา (เขียวเภสัช)”) · ธีมเริ่มต้น สว่าง / มืด / ตามระบบ |
📝 จดชื่อผู้ใช้และ PIN ของผู้ดูแลไว้ ต้องใช้เข้าสู่ระบบครั้งแรก · ระบบเก็บ PIN เป็นค่าแฮชพร้อม salt ไม่ได้เก็บตัวเลขจริงไว้ในชีต
💡 หลัง Deploy ในขั้นที่ 5 แล้ว เปิดตัวช่วยเดียวกันนี้ผ่านเว็บได้ที่ลิงก์เว็บแอปต่อท้ายด้วย ?page=install หรือเมนู 💊 Jabphap Pharmacy POS › 🩺 ตรวจสอบระบบ (ใช้ตรวจสุขภาพระบบ ซ่อมระบบ หรือรีเซ็ต PIN ภายหลัง)
- ในหน้า Apps Script เลือกฟังก์ชัน
setupSystemจากช่องรายชื่อฟังก์ชันบนแถบเครื่องมือ (จุด 3ในภาพขั้นที่ 2) - กด ▷ เรียกใช้ แล้วอนุญาตสิทธิ์ตามขั้นตอนที่ 4
- ดู บันทึกการดำเนินการ ด้านล่าง จะขึ้นว่า “ติดตั้งสำเร็จ” พร้อมบัญชีเริ่มต้น
วิธีนี้ใส่ข้อมูลร้านยาตัวอย่าง ยาตัวอย่าง 40 รายการ และผู้ป่วยตัวอย่างให้ก่อน เหมาะกับการลองระบบ อย่าลืมเปลี่ยน PIN ทันทีหลังเข้าใช้งาน และแก้ข้อมูลร้าน ใบอนุญาต และรายชื่อเภสัชกรที่ ตั้งค่า
ทำครั้งเดียว
อนุญาตสิทธิ์ให้ระบบ
Google จะถามครั้งแรกครั้งเดียว ขั้นตอนดูน่ากลัวนิดหน่อย แต่เป็นเรื่องปกติของสคริปต์ที่ติดตั้งเองในบัญชีของคุณ





🔐
ทำไมขึ้นว่า “ไม่ปลอดภัย”?เพราะสคริปต์เป็นของคุณเอง ไม่ได้ส่งให้ Google ตรวจ ข้อมูลไม่ได้ถูกส่งไปที่อื่น ทุกอย่างอยู่ใน Drive ของบัญชีคุณ
ระบบขอสิทธิ์อะไรบ้าง และเอาไปใช้ทำอะไร
อ่าน/เขียนยา ล็อต บิล ผู้ป่วย ยาเสีย และพนักงานลงในไฟล์ชีตของร้าน และสร้างไฟล์เก็บถาวรเมื่อย้ายข้อมูลเก่า
ใช้ส่งสรุปยอดขาย สรุปสต็อกยา และแจ้งยาหมดเข้า LINE ของร้านเท่านั้น (api.line.me) ถ้าไม่เปิดแจ้งเตือนทาง LINE จะไม่ถูกใช้
ส่งรหัส PIN ใหม่เมื่อกดรีเซ็ต PIN และส่งสรุปยอดขาย/สรุปสต็อกทางอีเมล (ถ้าเปิดไว้)
ใช้ตั้งเวลาส่งสรุปยอดขายและสรุปสต็อกยาประจำวันอัตโนมัติ แม้ไม่มีใครเปิดระบบไว้
ใช้แสดงตัวช่วยติดตั้งและเมนู 💊 Jabphap Pharmacy POS ในชีต
ใช้ตรวจว่าผู้เปิดตัวช่วยติดตั้งคือเจ้าของไฟล์ และเป็นผู้รับอีเมลสรุปตั้งต้น
ขั้นสำคัญ
เผยแพร่เป็นเว็บแอป (ได้ลิงก์หน้าขาย)
- ในหน้า Apps Script กดปุ่มสีน้ำเงินมุมขวาบน การทำให้ใช้งานได้›การทำให้ใช้งานได้รายการใหม่ (Deploy › New deployment)
- คลิกไอคอนเฟือง ⚙ ข้าง “เลือกประเภท” แล้วเลือก เว็บแอป (Web app)
- ตั้งค่าตามตารางนี้ แล้วกด การทำให้ใช้งานได้ (Deploy)
| ช่อง | ให้เลือก |
|---|---|
| คำอธิบาย | v1 |
| ดำเนินการในฐานะ Execute as | ฉัน (อีเมลของร้าน) Me |
| ผู้มีสิทธิ์เข้าถึง Who has access | ทุกคน Anyone |




ขึ้นต้นด้วย https://script.google.com/macros/s/…/exec นี่คือลิงก์หน้าขาย คิวจัดยา และหน้าจัดการร้าน (ลิงก์เดียวกัน ต่างกันที่บัญชีที่เข้าสู่ระบบ) เปิดจากเมนู 💊 Jabphap Pharmacy POS › 🖥️ เปิดหน้าขาย ในชีตได้เช่นกัน · ถ้ายังไม่ Deploy เมนูนี้จะบอกขั้นตอนให้
พร้อมขาย
เปิดใช้บนเครื่องขาย
ส่งลิงก์ให้เครื่องที่ใช้ขาย (LINE หาตัวเอง / อีเมล) เปิดแล้วเพิ่มไว้ที่หน้าจอโฮม จะได้ไอคอนบนหน้าจอ กดครั้งเดียวเข้าหน้าขายได้ทันทีเหมือนแอป
บุ๊กมาร์กไว้ เสียบเครื่องสแกนบาร์โค้ด USB ใช้ได้ทันทีไม่ต้องลงไดรเวอร์ · F2 ค้นหา/สแกน · F6 ผู้ป่วย · F4 ชำระเงิน · F8 ลงบัญชี
เปิดด้วย Safari › ปุ่มแชร์ ⬆ › เพิ่มไปยังหน้าจอโฮม › ตั้งชื่อ เช่น “ร้านยา” › เพิ่ม · ใช้เครื่องสแกนบลูทูธได้
เปิดด้วย Chrome › เมนู ⋮ › เพิ่มลงในหน้าจอหลัก › ตั้งชื่อ › เพิ่ม
ไอคอนบนหน้าจอเป็นทางลัดไปยังลิงก์เว็บแอป ยังต้องต่ออินเทอร์เน็ตเหมือนเดิม · ถ้า Deploy ใหม่แบบ “การทำให้ใช้งานได้รายการใหม่” ลิงก์จะเปลี่ยน ต้องเพิ่มไอคอนใหม่ (อัปเดตตามขั้นตอนที่ 8 ลิงก์จะไม่เปลี่ยน)
เช็กลิสต์
ตั้งค่าก่อนเปิดร้านจริง
ติ๊กไปทีละข้อ หน้านี้จะจำไว้ในเบราว์เซอร์เครื่องนี้
เมื่อได้เวอร์ชันใหม่
อัปเดตระบบโดยลิงก์เดิมไม่เปลี่ยน
- วาง Code.gs เวอร์ชันใหม่ทับทั้งไฟล์ (และ appsscript.json ถ้ามีมาในชุดอัปเดต) แล้วกด Ctrl + S
- ไปที่ การทำให้ใช้งานได้›จัดการการทำให้ใช้งานได้
- กดไอคอนดินสอ ✎ › ช่องเวอร์ชันเลือก เวอร์ชันใหม่ › การทำให้ใช้งานได้
- รีเฟรชหน้าขายและเครื่องคิวจัดยาทุกเครื่อง
วางไฟล์ appsscript.json ใหม่ด้วย แล้วในหน้า Apps Script เลือกฟังก์ชัน notifyTick กด ▷ เรียกใช้ 1 ครั้ง เพื่ออนุญาตสิทธิ์ตามขั้นตอนที่ 4 (ฟังก์ชันนี้ไม่ส่งอะไรถ้ายังไม่ถึงเวลาที่ตั้งไว้)
อย่ากด “การทำให้ใช้งานได้รายการใหม่” ซ้ำ — จะได้ลิงก์ใหม่ และทุกเครื่องต้องเปลี่ยนลิงก์ตาม ส่วนข้อมูลร้าน (ยา ล็อต บิล ผู้ป่วย) อยู่ในชีต ไม่หายเมื่ออัปเดตโค้ด · แนะนำให้อัปเดตหลังปิดร้าน
คู่มือการขายยาประจำวัน
ค้นหา/สแกน เลือกผู้ป่วย เภสัชกรยืนยัน ชำระเงิน ฉลากยา ลงบัญชี และคิวจัดยา
ทุกคนเข้าด้วย PIN ของตัวเอง
เข้าสู่ระบบ
- เปิดลิงก์เว็บแอป (หรือไอคอนบนหน้าจอโฮม)
- กรอก ชื่อผู้ใช้ และ รหัส PIN แล้วกด เข้าสู่ระบบ
- ระบบพาไปหน้าแรกตามบทบาท — เภสัชกร/พนักงานขายเข้าหน้า ขายหน้าร้าน · ผู้ช่วยจัดยาเข้าหน้า คิวจัดยา
ใช้คอมเครื่องเดียวกันหลายคน? กด ออกจากระบบ ที่เมนูรูปโปรไฟล์ก่อนเปลี่ยนคน เพื่อให้ชื่อผู้ขายและเภสัชกรในบิลถูกต้อง
หน้าหลักของร้าน
ขายหน้าร้าน · ค้นหาด้วยชื่อสามัญ / สแกนบาร์โค้ด
3 วิธีใส่ยาลงตะกร้า
กด F2 (หรือคลิกช่องค้นหา) แล้วยิงบาร์โค้ดบนกล่องยา ยาลงตะกร้าทันที
พิมพ์ชื่อการค้า ชื่อสามัญ (เช่น para, amox, cetirizine) บาร์โค้ด หรือรหัสยา แล้วเลือกจากผลลัพธ์
เลือกหมวด แล้วแตะการ์ดยา กดซ้ำเพื่อเพิ่มจำนวน
อ่านการ์ดยาอย่างไร
| สิ่งที่เห็นบนการ์ด | ความหมาย |
|---|---|
| สามัญ อันตราย ควบคุมพิเศษ | ประเภทยา — ยาอันตรายและยาควบคุมพิเศษต้องมีเภสัชกรผู้จ่ายยา (ดูเภสัชกรยืนยัน) |
| คงเหลือ 25 แผง | จำนวนที่ขายได้ในหน่วยขาย (ไม่นับล็อตที่หมดอายุแล้ว) · สีแดงเมื่อต่ำกว่าจุดสั่งซื้อหรือหมด |
| EXP 11/2569 (สีเหลือง/แดง) | วันหมดอายุของล็อตที่ระบบจะตัดถัดไป — สีเหลือง = ใกล้หมดอายุ (ภายใน 90 วัน) · สีแดง = มีล็อตหมดอายุค้างสต็อก ต้องตัดยาเสีย |
ตัวคูณจำนวน 6* · ขายยกกล่อง
พิมพ์ 6* ในช่องค้นหาแล้วยิงบาร์โค้ดต่อทันที (ช่องจะเป็น 6*885123…) ได้ 6 หน่วยในครั้งเดียว · ยา “ยกกล่อง” เช่น พาราเซตามอล กล่อง 10 แผง ขายราคากล่อง แต่ตัดสต็อกพาราเซตามอลแผง 10 แผงตามล็อตให้เอง
แก้ไขในตะกร้า
- ปุ่ม + / − ปรับจำนวน · แตะรายการเพื่อ ลดราคารายการนี้ (เช่น ยาใกล้หมดอายุ) หรือแก้ วิธีใช้เฉพาะบิลนี้ ที่จะพิมพ์บนฉลาก
- ปุ่มถังขยะ = ล้างตะกร้า · ยาที่ไม่มีสต็อกยังขายได้ แต่ระบบเตือนให้ตรวจ
ความปลอดภัยของผู้ป่วย
เลือกผู้ป่วย · เตือนแพ้ยา
ระบุผู้ป่วยในบิลเพื่อให้ระบบตรวจประวัติแพ้ยา พิมพ์ชื่อบนฉลากยา และเก็บประวัติรับยา (ไม่บังคับ ขายโดยไม่ระบุผู้ป่วยได้)
- กด F6 หรือแตะปุ่ม ผู้ป่วย / ลูกค้า เหนือตะกร้า
- ค้นจากชื่อหรือเบอร์โทร แล้วแตะเลือก · ผู้ป่วยที่มีประวัติแพ้ยาจะมีป้ายสีแดงให้เห็นก่อนเลือก · ยังไม่มีในทะเบียน? กด เพิ่มผู้ป่วยใหม่ ได้จากหน้าต่างเดียวกัน
- ตะกร้าจะมี แถบเตือนสีแดง แสดงยาที่ผู้ป่วยแพ้ตลอดเวลาที่ขาย
- เมื่อใส่ยาที่ตรงกับประวัติแพ้ (รวมกลุ่มที่แพ้ข้ามกัน) จะขึ้นหน้าต่าง “ระวัง! ผู้ป่วยอาจแพ้ยานี้” — เลือก ไม่เพิ่ม หรือให้เภสัชกรตรวจแล้ว ยืนยัน ระบบบันทึกการยืนยันลง Audit log


| บันทึกประวัติแพ้ว่า | ระบบเตือนเมื่อพบ (ตัวอย่าง) |
|---|---|
| Penicillin / เพนนิซิลลิน | Amoxicillin, Ampicillin, Cloxacillin, Dicloxacillin, Co-amoxiclav |
| NSAIDs / เอ็นเสด | Ibuprofen, Diclofenac, Naproxen, Mefenamic acid, Piroxicam, Aspirin, Celecoxib, Meloxicam |
| Sulfa / ซัลฟา | Sulfamethoxazole, Co-trimoxazole, Sulfasalazine, Sulfadiazine |
| Cephalosporin | Cephalexin, Cefadroxil, Cefuroxime, Cefdinir, Cefixime |
| Macrolide · Tetracycline · Quinolone | Erythromycin, Azithromycin, Roxithromycin · Doxycycline · Ciprofloxacin, Norfloxacin, Levofloxacin |
| ชื่อยาเฉพาะ เช่น Paracetamol | ยาที่ชื่อการค้าหรือชื่อสามัญมีคำนั้น |
ระบบเทียบคำในประวัติกับชื่อยาและกลุ่มยาที่พบบ่อย ไม่ครอบคลุมทุกกรณี เภสัชกรต้องซักประวัติและตัดสินใจเองทุกครั้ง · เขียนประวัติแพ้ด้วยชื่อสามัญหรือชื่อกลุ่มยา (เช่น “Penicillin (ผื่นลมพิษ)”) จะตรวจจับได้ดีที่สุด · ปิด/เปิดการตรวจได้ที่ ตั้งค่า › ร้านขายยา
ยาอันตราย · ยาควบคุมพิเศษ
เภสัชกรยืนยันการจ่ายยา · ใบสั่งยา
เมื่อเปิด “ยาอันตราย / ยาควบคุมพิเศษ ต้องระบุเภสัชกรผู้จ่ายยา” (ค่าเริ่มต้น) บิลที่มียาเหล่านี้ต้องมีชื่อเภสัชกร ระบบตรวจที่เซิร์ฟเวอร์ทุกบิล
หน้าชำระเงินจะมีส่วน ตรวจสอบก่อนจ่ายยา — เลือก เภสัชกรผู้จ่ายยา จากรายชื่อ แล้วติ๊กยืนยันว่าเภสัชกรตรวจแล้ว
ต้องกรอก เลขที่ใบสั่งยา / ชื่อแพทย์ / สถานพยาบาล เพิ่มด้วย ไม่งั้นบันทึกไม่ได้
- ผู้ใช้บทบาท เภสัชกร หรือ ผู้ดูแลระบบ — ถ้าไม่เลือกชื่อ ระบบลงชื่อผู้ใช้นั้นเป็นผู้จ่ายยาให้อัตโนมัติ
- พนักงานขาย — ต้องเลือกชื่อเภสัชกรเสมอ ถ้าไม่เลือกระบบจะแจ้งว่า “บิลนี้มียาอันตราย ต้องระบุเภสัชกร”
- ชื่อเภสัชกรและใบสั่งยาไปอยู่บนใบเสร็จ ฉลากยา ประวัติการขาย และบัญชีขายยาอันตราย/ควบคุมพิเศษ
- รายชื่อเภสัชกรแก้ได้ที่ ตั้งค่า›ร้านขายยา
F4
ชำระเงินและใบเสร็จ
- กด ชำระเงิน (F4) · ถ้ามียาอันตราย ทำส่วนตรวจสอบก่อนจ่ายยาให้ครบก่อน
- เลือกวิธีชำระ: เงินสด (กดแป้นตัวเลข หรือปุ่มลัด พอดี / +100 / +500 / +1000 ระบบคิดเงินทอนให้) · โอน · QR พร้อมเพย์ (QR พร้อมยอดให้ลูกค้าสแกน — ตรวจยอดเงินเข้าในแอปธนาคารหรือสลิปก่อนทุกครั้ง)
- กด ยืนยัน ระบบตัดสต็อกตามล็อต (FEFO) บันทึกบิล และแสดงใบเสร็จ
- กด พิมพ์ สำหรับใบเสร็จ หรือ พิมพ์ฉลากยา (ถ้าเปิดพิมพ์ฉลากอัตโนมัติ ฉลากจะพิมพ์ให้เอง)
1 ใบต่อ 1 รายการยา
พิมพ์ฉลากยา
ฉลากใช้ข้อมูล “วิธีใช้บนฉลาก” และ “คำเตือน” จากฟอร์มยา หรือวิธีใช้ที่แก้เฉพาะบิลนั้นในตะกร้า
ปุ่ม พิมพ์ฉลากยา ในหน้าต่างใบเสร็จ
เปิด “พิมพ์ฉลากยาอัตโนมัติหลังขาย” ที่ ตั้งค่า › ร้านขายยา
ประวัติการขาย › เปิดบิล › พิมพ์ฉลากยา
ขนาดกระดาษฉลาก 58 หรือ 80 มม. ตั้งที่ ตั้งค่า › ร้านขายยา · การพิมพ์ใช้คำสั่งพิมพ์ของเบราว์เซอร์ ตั้งขอบกระดาษเป็น “ไม่มี” และขนาดกระดาษให้ตรงกับเครื่องพิมพ์
F8 · รับยาก่อน ชำระทีหลัง
ลงบัญชี (คลินิก/ลูกค้าประจำ) · สั่งออนไลน์
ใช้กับคลินิก บ้านพักผู้สูงอายุ หรือลูกค้าประจำที่เคลียร์ยอดเป็นรอบ และออเดอร์ที่สั่งทาง LINE / โทรสั่ง / Facebook / Grab / LINE MAN
ลงบัญชีครั้งแรก
- ที่ตะกร้า เลือกประเภทบิล ลงบัญชี แล้วเลือกชื่อคลินิก/ลูกค้า (หรือ สั่งออนไลน์/จัดส่ง แล้วเลือกช่องทาง)
- ใส่ยาตามปกติ (เลือกผู้ป่วยได้ถ้าจ่ายให้ผู้ป่วยรายบุคคล)
- กด ลงบัญชี (F8) — ระบบตัดสต็อกและล็อตทันที และส่งเข้าคิวจัดยา (ถ้าเปิดใช้)
เพิ่มยาหลายรอบ · รับชำระ
- เลือกลูกค้าเดิมอีกครั้ง ระบบเปิดบิลค้างของรายนั้นให้ ใส่ยาเพิ่มแล้วกด ลงบัญชี = รอบใหม่ในบิลเดิม
- ปุ่ม บิลค้าง บนหน้าขายแสดงบิลลงบัญชีที่ยังไม่รับเงิน (อัปเดตทุก 45 วินาที) · เปิดบิลแล้วกด รับชำระ (F4)
- ยอดนับเป็นยอดขายเมื่อรับเงินแล้ว · ระบบกันรับชำระซ้ำ · ยกเลิกบิลต้องใช้สิทธิ์ผู้จัดการ/เภสัชกรขึ้นไป และยาคืนเข้าล็อตเดิม
รายชื่อลูกค้าลงบัญชีและช่องทางสั่งออนไลน์ตั้งที่ ตั้งค่า›หน้าร้าน & คิวจัดยา
สำหรับผู้ช่วยจัดยาและเภสัชกร
คิวจัดยา
บิลลงบัญชีและออเดอร์สั่งออนไลน์เข้าคิวอัตโนมัติ (บิลหน้าร้านที่จ่ายทันทีไม่เข้าคิว)
- พิมพ์ใบจัดยา จากการ์ด — มีวิธีใช้และล็อตให้ผู้ช่วยหยิบยาถูกล็อต
- ให้เภสัชกรตรวจยาก่อนกด “เภสัชกรตรวจแล้ว” แล้วจึงส่งมอบ/จัดส่ง
- ดึงคิวใหม่ทุก 10 วินาที · แตะปุ่มลำโพงหนึ่งครั้งเพื่อเปิดเสียงเตือน · มีโหมดเต็มจอสำหรับแท็บเล็ต (Esc เพื่อออก)
- บัญชีบทบาท ผู้ช่วยจัดยา เห็นเฉพาะหน้านี้ ไม่เห็นยอดขาย
ค้นหา · พิมพ์ซ้ำ · ยกเลิก
ประวัติการขาย
- ค้นด้วยเลขที่บิล ชื่อผู้ป่วย หรือ เลขที่ใบสั่งยา · กรองตามวันที่และสถานะ
- เปิดบิล › พิมพ์ใบเสร็จ หรือ พิมพ์ฉลากยา ซ้ำ
- ยกเลิกบิล (ผู้จัดการ/เภสัชกร/ผู้ดูแล) — ระบบคืนยาเข้าล็อตเดิมอัตโนมัติ และบันทึกเหตุผล
ผู้จัดการ · เภสัชกร · เจ้าของร้าน
ภาพรวม (แดชบอร์ด)
เลือกช่วงวันที่ด้านบน · แตะการ์ดล็อตหมดอายุหรือต้องสั่งซื้อเพื่อไปยังหน้าสต็อกยาที่เกี่ยวข้อง · บิลลงบัญชีที่ยังไม่รับเงินแสดงแยกเป็นยอดค้างรับ
สต็อกยา ล็อต & แจ้งเตือนอัตโนมัติ
ตั้งครั้งเดียว ระบบบอกเองว่ายาอะไรใกล้หมด ล็อตไหนใกล้หมดอายุ และต้องสั่งจากบริษัทยาไหนเท่าไร
อ่านก่อน
แจ้งเตือนสต็อกยาทำงานอย่างไร
5 ระดับการแจ้งเตือน (เรียงจากด่วนสุด)
| ระดับ | เกิดเมื่อ |
|---|---|
| ยาหมด | คงเหลือเป็นศูนย์หรือติดลบ |
| มีล็อตหมดอายุ | มีล็อตที่เลยวันหมดอายุแต่ยังมียา (ระบบไม่ขายล็อตนี้) |
| ต่ำกว่าจุดสั่งซื้อ | คงเหลือ ≤ จุดสั่งซื้อที่ตั้งไว้ |
| คาดว่าจะหมด | ขายได้อีกไม่ถึง 7 วัน (จากยอดขายเฉลี่ย 30 วันย้อนหลัง) |
| ล็อตใกล้หมดอายุ | เหลืออายุน้อยกว่า 90 วัน (ตั้งได้ 0–365) |
จำนวนที่แนะนำให้สั่ง
ถ้าตั้ง ระดับเติมเต็ม ไว้ = เติมให้ถึงระดับนั้น · ถ้าไม่ได้ตั้ง = ยอดขายเฉลี่ย/วัน × 14 วัน + จุดสั่งซื้อ · ตัวเลขทั้งหมด (เตือนล่วงหน้า 7 วัน · สั่งให้พอขาย 14 วัน · ยอดขายย้อนหลัง 30 วัน · เตือนหมดอายุ 90 วัน) ปรับได้ที่ ตั้งค่า›ภาษี ใบเสร็จ & สต็อก
ระบบแจ้งคุณผ่านช่องทางไหน
กระดิ่งบนแถบบน (อัปเดตทุก 5 นาที) · แจ้งทันทีหลังขายเมื่อยาข้ามเกณฑ์ (ครั้งเดียวจนกว่าจะรับยาเข้า) · การ์ดบนภาพรวม · แท็บ ล็อต/วันหมดอายุ
สรุปสต็อกยาประจำวันแยกรายล็อต (ค่าเริ่มต้น 08:00 ส่งเฉพาะวันที่มีรายการต้องดูแล) และแจ้งทันทีหลังขาย ดูการตั้งค่า
ตั้งค่า›ภาษี ใบเสร็จ & สต็อก › เปิด ตัดสต็อกอัตโนมัติเมื่อขาย และ แจ้งเตือนสต็อกยาอัตโนมัติ · ยาที่ยังไม่เคยขายจะแสดง “ยังไม่มียอดขาย” และใช้จุดสั่งซื้ออย่างเดียว
มุมขวาบนทุกหน้า
กระดิ่งแจ้งเตือนสต็อก
- แตะรายการเพื่อไปที่ยานั้นในหน้าสต็อกยา · ปุ่ม ดูรายการต้องสั่งซื้อ ไปยังแท็บต้องสั่งซื้อ
- หลังขาย ถ้ามียาที่เพิ่งต่ำกว่าจุดสั่งซื้อหรือหมด จะมีแถบแจ้งเตือนเด้งขึ้นทันที
สต็อกยา › ต้องสั่งซื้อ
สั่งยาจากบริษัทยาใน 1 นาที
- เปิด สต็อกยา›ต้องสั่งซื้อ — รายการแยกกลุ่มตาม บริษัทยา / ร้านส่ง พร้อมจำนวนที่ควรสั่งและมูลค่าโดยประมาณ
- แก้ตัวเลขในช่อง “สั่ง” ได้ทุกช่อง (ใส่ 0 = ไม่สั่งรายการนั้น)
- กด คัดลอกข้อความสั่งยา แล้ววางใน LINE ของผู้แทนยา หรือ พิมพ์ใบสั่งซื้อยา A4
- เมื่อยามาส่ง กด รับยาเข้าตามใบนี้ แล้วกรอกเลขล็อตและวันหมดอายุของแต่ละรายการตามกล่อง
ตัวอย่างรูปแบบข้อความที่คัดลอก (ชื่อบริษัทสมมติ)
สต็อกยา › คงเหลือ
หน้าสต็อกยา · นับสต็อก / ปรับยอด
พร้อมล็อตและวันหมดอายุ ดูรับยาเข้า
ใช้เอง/เบิกใช้ เลือกล็อตได้ (ไม่เลือก = FEFO)
ใส่ยอดที่นับได้จริง ระบบบันทึกส่วนต่าง
จุดสั่งซื้อ ระดับเติมเต็ม บริษัทยา อายุยา (วัน) หน่วยนับ
แท็บที่ผูกยายกกล่องกับรายการสต็อกหน่วยย่อย (จำนวนแผงต่อกล่อง)
ประวัติรับเข้า ขาย ตัดออก ยาเสีย ปรับยอด พร้อมเลขล็อต
สต็อกยา › ล็อต/วันหมดอายุ
ล็อตยาและวันหมดอายุ (FEFO)
ระบบตัดยาจากล็อตที่หมดอายุก่อนออกก่อน (First Expired, First Out) และข้ามล็อตที่หมดอายุแล้วเสมอ
EXP 03/2569 · 4 แผง
EXP 12/2569 · 15 แผง
EXP 08/2570 · 40 แผง
- แก้เลขล็อต/วันหมดอายุ — กดไอคอนดินสอที่แถว (แก้จำนวนไม่ได้ ใช้นับสต็อกแทน)
- ตัดยาเสียทั้งล็อต — ปุ่มที่แถวล็อตหมดอายุ
- เลขล็อตที่ตัดไปจะถูกบันทึกในบิล เช่น PC2403(20) PC2411(5) และปรากฏบนฉลาก ใบเสร็จ และบัญชีขายยา
- ยกเลิกบิล = คืนยาเข้าล็อตเดิม · ถ้าหน้าร้านหยิบยาจากล็อตอื่นจริง ใช้ ตัดออก/นับสต็อก แล้วระบุล็อตเพื่อปรับให้ตรง
ทุกครั้งที่ยามาส่ง
รับยาเข้าพร้อมเลขล็อตและวันหมดอายุ
- สต็อกยา›คงเหลือ › ปุ่ม รับยาเข้า ที่แถวของยา (หรือ รับยาเข้าตามใบนี้ จากแท็บต้องสั่งซื้อ)
- กรอก จำนวน · เลขที่ผลิต / Lot · วันหมดอายุ (EXP) ตามกล่อง · ราคาทุนล็อตนี้/หน่วย (ไม่บังคับ)
- กด รับยาเข้า — ถ้ามีหลายล็อต กรอกล็อตถัดไปต่อได้เลย
ระบบตั้งเลขล็อตให้อัตโนมัติ (R + วันที่รับ เช่น R690928) และใช้วันหมดอายุจาก “อายุยา (วัน)” แทน · รับล็อตเดิม (เลขล็อต + วันหมดอายุเดียวกัน) ซ้ำ ระบบรวมเข้าล็อตเดิมให้
สต็อกยา › ยาเสีย
ตัดยาเสีย / ยาหมดอายุ
- กด ตัดยาเสีย เลือกยา จำนวน และ สาเหตุ: หมดอายุ · คืนบริษัท/เคลม · เสื่อมสภาพ (ความชื้น/แสง/ความร้อน) · ชำรุด/แตก/รั่ว · เรียกคืนจากผู้ผลิต (Recall) · สูญหาย/ขาดสต็อก · อื่น ๆ
- เลือก ล็อตที่ตัด (ไม่เลือก = ระบบเลือกให้ · สาเหตุ “หมดอายุ” ตัดจากล็อตที่หมดอายุแล้วก่อน)
- บันทึก — มูลค่าตามทุนไปอยู่ในรายงาน ยาเสีย/หมดอายุ
ระบบไม่ขายล็อตที่หมดอายุ แต่ยาในชั้นยังต้องแยกเก็บและทำลาย/คืนบริษัทตามขั้นตอนของร้าน
ตั้งค่า › แจ้งเตือน
ส่งสรุปสต็อกยาและแจ้งยาหมดทาง LINE / อีเมล อัตโนมัติ
ขั้นที่ 1 · เลือกว่าจะให้แจ้งอะไร
- สรุปสต็อกยา & ยาใกล้หมดอายุ ประจำวัน — ยาหมด · ต่ำกว่าจุดสั่งซื้อ · คาดว่าจะหมด · ล็อตหมดอายุ/ใกล้หมดอายุ (แยกรายล็อต) · รายการสั่งซื้อแยกตามบริษัทยา · ส่งเฉพาะวันที่มีรายการต้องดูแล
- แจ้งทันทีหลังขาย — ไม่แจ้ง / เฉพาะยาหมด / ต่ำกว่าจุดสั่งซื้อ (แจ้งครั้งเดียวต่อรอบ ไม่ส่งซ้ำทุกบิล)
- สรุปยอดขาย รายวัน / รายสัปดาห์ / รายเดือน ตามเวลาที่เลือก
ขั้นที่ 2 · เปิดช่องทางส่ง (อย่างน้อย 1 ช่องทาง)
ใส่อีเมลผู้รับ (ไม่เกิน 5 คั่นด้วยจุลภาค) เว้นว่าง = ส่งถึงเจ้าของบัญชี ส่งจากบัญชี Google ของร้านโดยตรง
สร้าง LINE OA ของร้าน (ฟรี) › Messaging API › คัดลอก Channel access token มาวาง · ให้เภสัชกร/เจ้าของเพิ่ม OA เป็นเพื่อน แล้วใส่ LINE ID ผู้รับตามที่หน้าตั้งค่าแนะนำ
ขั้นที่ 3 · ดูตัวอย่างและส่งทดสอบ
กด ดูตัวอย่าง หรือ ส่งทดสอบ แล้วกด บันทึก — ระบบสร้างทริกเกอร์รายชั่วโมงให้เอง (ฟังก์ชัน notifyTick) แถบสถานะด้านบนบอกผลการส่งครั้งล่าสุด


ถ้าร้านขายยาหลายรายการ แนะนำตั้ง “แจ้งทันทีหลังขาย” เป็น เฉพาะยาหมด แล้วดูรายละเอียดจากสรุปตอนเช้า
จัดการร้าน
ยาและราคา ผู้ป่วย รายงาน ตั้งค่าร้านขายยา พนักงาน และการดูแลระยะยาว
ยาและราคา
รายการยา · ฟอร์มยา
ช่องในฟอร์มยา
| ช่อง | ใช้ทำอะไร |
|---|---|
| ชื่อยา / ชื่อการค้า · หน่วยขาย | แสดงบนการ์ด ใบเสร็จ ฉลาก · หน่วย เช่น แผง กล่อง ขวด หลอด ซอง เม็ด ชุด ตลับ ครั้ง |
| ชื่อสามัญ / ตัวยาสำคัญ | ใช้ค้นหา พิมพ์บนฉลาก บัญชีขายยา และตรวจแพ้ยา — ควรกรอกทุกตัว เช่น Amoxicillin 500 mg |
| ประเภทยา | ยาสามัญประจำบ้าน · ยาบรรจุเสร็จ · ยาอันตราย · ยาควบคุมพิเศษ · ยาแผนโบราณ/สมุนไพร · เสริมอาหาร · เวชภัณฑ์ · เวชสำอาง · บริการ — กำหนดกติกาเภสัชกร/ใบสั่งยา/บัญชีขายยา |
| วิธีใช้บนฉลาก · คำเตือน | พิมพ์บนฉลากยา เช่น “รับประทานครั้งละ 1 เม็ด ทุก 4–6 ชม. เมื่อมีอาการ” · “ไม่ควรใช้เกิน 5 วัน” |
| บาร์โค้ด · รหัสสินค้า (SKU) | ยิงบาร์โค้ดจากกล่องลงช่องได้เลย |
| ราคา · ต้นทุน · หมวดหมู่ · รูป | ต้นทุนใช้คิดกำไรในรายงาน |
| สต็อก: จุดสั่งซื้อ · ระดับเติมเต็ม · บริษัทยา / ร้านส่ง · อายุยา (วัน) | หัวใจของแจ้งเตือนสต็อก · อายุยาใช้เมื่อรับเข้าโดยไม่ใส่วันหมดอายุ |
| ยาใหม่: ยอดตั้งต้น · เลขที่ผลิต / Lot · วันหมดอายุตามกล่อง | สร้างล็อตแรกพร้อมยอดตั้งต้น |
| ยกกล่อง: ตัดสต็อกจากรายการ (หน่วยย่อย) · จำนวนต่อกล่อง | ขายเป็นกล่อง ตัดสต็อกเป็นแผงตามล็อต |
ก่อนเปิดร้าน ตรวจประเภทยาทุกรายการให้ตรงกับทะเบียนยาจริงของผลิตภัณฑ์ที่ร้านขาย
เมนู ผู้ป่วย / แพ้ยา
ทะเบียนผู้ป่วยและประวัติรับยา
- ช่องข้อมูล: ชื่อ-นามสกุล · เบอร์โทร · ปีเกิด (พ.ศ.) · ประวัติแพ้ยา · โรคประจำตัว · หมายเหตุ
- แตะผู้ป่วยเพื่อดูรายละเอียด แท็บ ยาที่เคยได้รับ (สรุปรายยา จำนวนครั้ง ล่าสุดเมื่อ) และ ประวัติบิล (พร้อมเภสัชกรและใบสั่งยา)
- สิทธิ์จัดการผู้ป่วย: ผู้ดูแลระบบ ผู้จัดการ เภสัชกร พนักงานขาย
เก็บเท่าที่จำเป็นต่อการจ่ายยาอย่างปลอดภัย แจ้งผู้ป่วยก่อนบันทึก จำกัดคนที่เข้าถึงไฟล์ Google Sheets (อย่าแชร์ไฟล์ให้บุคคลภายนอก) ให้พนักงานใช้ PIN ของตัวเอง และลบข้อมูลผู้ป่วยที่ไม่จำเป็นแล้ว
รายงาน
รายงาน · บัญชีขายยาอันตราย/ควบคุมพิเศษ
รายงานทั้งหมด: ยอดขายรายวัน · รายเดือน · ยา/สินค้า · ยอดขายตามประเภทยา · บัญชีขายยาอันตราย/ควบคุมพิเศษ · ช่องทางขาย · ช่องทางชำระ · พนักงาน · ค่าใช้จ่าย · ยาเสีย/หมดอายุ · ประมาณการกำไร
บัญชีขายยาอันตราย/ควบคุมพิเศษ
- เลือกรายงาน บัญชีขายยาอันตราย/ควบคุมพิเศษ แล้วเลือกช่วงวันที่
- กรองประเภท: ทั้งสองประเภท / ยาอันตราย / ยาควบคุมพิเศษ · กรองตามยาหรือพนักงานได้
- ตารางแสดง วันที่ · เลขที่บิล · ชื่อยา · ชื่อสามัญ · ประเภท · จำนวน · ล็อต · ผู้ป่วย · เภสัชกร · ใบสั่งยา · ผู้ขาย พร้อมสรุปรายยา
- กด CSV เพื่อส่งออก หรือ พิมพ์บัญชี (A4) (แนวนอน มีหัวรายงานชื่อร้าน เลขที่ใบอนุญาต และช่องลงชื่อเภสัชกรผู้มีหน้าที่ปฏิบัติการ)
รายงานนี้ช่วยเตรียมข้อมูลสำหรับบัญชีการขายยาตามแบบที่กฎหมายกำหนด (เช่น แบบ ข.ย.) รูปแบบที่ต้องใช้อาจต่างกันตามพื้นที่ ควรตรวจกับสำนักงานสาธารณสุขจังหวัด (สสจ.) ในพื้นที่ของร้าน · บิลที่ไม่ระบุผู้ป่วยจะถูกนับแยกไว้ให้ตรวจ
ยอดขายตามประเภทยา
ตั้งค่า › ร้านขายยา
ใบอนุญาต เภสัชกร การตรวจก่อนจ่ายยา ฉลากยา
| ส่วน | ตั้งอะไร |
|---|---|
| ใบอนุญาตขายยา | เลขที่ใบอนุญาต เช่น ข.ย.1 เลขที่ 12/2569 — พิมพ์บนใบเสร็จ ฉลากยา และหัวบัญชีขายยา |
| เภสัชกรผู้มีหน้าที่ปฏิบัติการ | 1 บรรทัดต่อ 1 ท่าน (ไม่เกิน 20) ใส่เลขที่ใบประกอบวิชาชีพในวงเล็บได้ เช่น ภก.สมหญิง ใจดี (ภ.12345) — เป็นรายชื่อให้เลือกตอนชำระเงิน |
| ตรวจสอบก่อนจ่ายยา | สวิตช์ ยาอันตราย / ยาควบคุมพิเศษ ต้องระบุเภสัชกรผู้จ่ายยา (rx_check) · สวิตช์ ตรวจประวัติแพ้ยาของผู้ป่วยก่อนขาย (allergy_check) — แนะนำเปิดทั้งคู่ |
| ฉลากยา | ขนาดกระดาษฉลาก 58mm / 80mm · สวิตช์ พิมพ์ฉลากยาอัตโนมัติหลังขาย |
| ประเภทยาในระบบ | แสดงรายการประเภทยาและกติกา (ต้องมีเภสัชกร / ต้องมีใบสั่งยา) เพื่ออ้างอิง |
กด บันทึกการตั้งค่า ด้านล่างทุกครั้งหลังแก้
ตั้งค่า (ผู้ดูแลระบบ)
ตั้งค่าอื่น ๆ
| แท็บ | มีอะไรบ้าง |
|---|---|
| ข้อมูลร้าน | ชื่อร้าน ที่อยู่ เบอร์ โลโก้ สกุลเงิน เขตเวลา |
| ร้านขายยา | ดูด้านบน |
| หน้าร้าน & คิวจัดยา | รายชื่อลูกค้าลงบัญชี · ช่องทางสั่งออนไลน์ · เปิด/ปิดคิวจัดยา |
| ภาษี ใบเสร็จ & สต็อก | VAT · ขนาดใบเสร็จ 58/80/A4 · ข้อความท้ายใบเสร็จ · คำนำหน้าเลขที่บิล · ตัดสต็อกอัตโนมัติ · แจ้งเตือนสต็อก · เตือนยาใกล้หมดอายุล่วงหน้า (วัน) ปุ่มลัด 30/60/90/180 · เตือนล่วงหน้า · สั่งให้พอขาย · ยอดขายย้อนหลัง |
| รับชำระเงิน | พร้อมเพย์ บัญชีธนาคาร QR บนใบเสร็จ |
| แจ้งเตือน | ดูส่ง LINE / อีเมล |
| ธีมและสี | ดูธีม & โหมดมืด |
| พนักงาน | ดูพนักงานและสิทธิ์ |
| ระบบ | ขนาดฐานข้อมูล · ย้ายข้อมูลเก่า · ข้อมูลระบบ |
ตั้งค่า › พนักงาน
พนักงานและสิทธิ์
กด เพิ่มพนักงาน ใส่ชื่อ (เภสัชกรใส่ ภก./ภญ. นำหน้า) ชื่อผู้ใช้ PIN และบทบาท · แต่ละคนใช้ PIN ของตัวเอง ห้ามใช้บัญชีร่วมกัน
| บทบาท | ทำอะไรได้ |
|---|---|
| ผู้ดูแลระบบ | ทุกอย่าง รวมถึงตั้งค่าและพนักงาน · จ่ายยาอันตรายได้ |
| ผู้จัดการร้าน | ขาย ยกเลิกบิล ยาและราคา สต็อก รายงาน ค่าใช้จ่าย ผู้ป่วย |
| เภสัชกร | ขายและจ่ายยาอันตราย/ควบคุมพิเศษ (ลงชื่อผู้จ่ายยาอัตโนมัติ) · ผู้ป่วย · ยกเลิกบิล · สต็อก |
| พนักงานขาย | ขายหน้าร้าน ลงบัญชี เลือก/เพิ่มผู้ป่วย · ยาอันตรายต้องเลือกเภสัชกร |
| ผู้ช่วยจัดยา | เห็นเฉพาะคิวจัดยา |
สิทธิ์ถูกตรวจที่เซิร์ฟเวอร์ ปิดบัญชีพนักงานที่ลาออกได้ทันที (ประวัติบิลยังอยู่)
ตั้งค่า › ธีมและสี
ธีมสี & โหมดมืด
ชุดสี 8 แบบ — ร้านยา (เขียวเภสัช) (เริ่มต้น) · ฟ้าคลินิก · แดงกาชาด · ส้มวิตามิน · ม่วงลาเวนเดอร์ · ใบเตยสมุนไพร · ตะไคร้ · เทาสเตนเลส หรือกำหนดสีเอง · ธีมเริ่มต้นของร้าน สว่าง / มืด / ตามระบบ (แต่ละเครื่องสลับเองได้ที่เมนูรูปโปรไฟล์)


สีบอกสถานะ (สำเร็จ/เตือน/ผิดพลาด) และสีป้ายประเภทยาไม่เปลี่ยนตามธีม เพื่อให้อ่านความหมายได้เหมือนเดิม
ใช้ลิงก์เดียวกัน
ใช้บนมือถือ
จอเล็กจะจัดหน้าใหม่ให้อัตโนมัติ: รายการยาเต็มจอ ปุ่มตะกร้าลอยด้านล่าง แตะเพื่อเปิดตะกร้า · แถบเตือนแพ้ยาของผู้ป่วยแสดงบนตะกร้าเหมือนบนคอม · เพิ่มลงหน้าจอโฮมตามขั้นที่ 6


ทำครั้งเดียวก่อนเปิดร้านจริง
ล้างข้อมูลทดลอง
หลังลองขาย ลงบัญชี รับยาเข้า และตัดยาเสียจนคล่องแล้ว ล้างบิลทดลองออกเพื่อให้ยอดขาย รายงาน บัญชีขายยา และยอดขายเฉลี่ยที่ใช้คาดการณ์ยาหมดเริ่มจากศูนย์
- รับชำระหรือยกเลิกบิลลงบัญชีทดลองที่ค้างอยู่ให้หมดก่อน
- เปิดไฟล์ Google Sheets ของร้าน › เมนู 💊 Jabphap Pharmacy POS›🧹 ล้างข้อมูลทดลอง › ยืนยัน
- ระบบลบบิลขาย ประวัติสต็อก และค่าใช้จ่ายทั้งหมด — รายการยา รายการสต็อก และบัญชีพนักงานยังอยู่
- ลบยาตัวอย่างและผู้ป่วยตัวอย่างที่ไม่ใช้: ยาและราคา › ถังขยะ · ผู้ป่วย / แพ้ยา › ลบ
- นับยาจริงบนชั้นทีละล็อต แล้วรับยาเข้า/นับสต็อกให้ยอดและเลขล็อตตรงกับของจริงก่อนเปิดร้าน
ทำเฉพาะตอนยังเป็นข้อมูลทดลอง หลังเปิดร้านจริงแล้วห้ามใช้เมนูนี้ (บัญชีขายยาจริงจะหายไปด้วย) · หลังล้าง การคาดการณ์ “คาดว่าจะหมด” จะเริ่มแม่นขึ้นเมื่อมียอดขายจริงสะสม ระหว่างนี้ระบบยังเตือนตามจุดสั่งซื้อตามปกติ
ทำเดือนละครั้ง · 1 นาที
ดูแลฐานข้อมูลระยะยาว (ย้ายข้อมูลเก่า)
ระบบอ่านเฉพาะข้อมูลช่วงล่าสุด หน้าขายจึงยังเร็วแม้เปิดมาหลายปี แต่ Google Sheets รับได้สูงสุด 10 ล้านเซลล์ต่อไฟล์ ร้านที่ขายวันละหลายร้อยบิลจะใช้พื้นที่ใกล้เต็มในราว 1–2 ปี จึงต้องย้ายข้อมูลเก่าออกเป็นระยะ
ดูที่ ตั้งค่า›ระบบ›ขนาดฐานข้อมูล
- เข้าสู่ระบบด้วยบัญชีผู้ดูแลระบบ ไปที่ ตั้งค่า›ระบบ
- เมื่อแถบเป็นสีเหลืองหรือแดง เลือก “เก็บไว้ 12 เดือนล่าสุด” แล้วกด ย้ายข้อมูลเก่า
- ถ้าขึ้น “ยังมีเหลือ กดอีกครั้งเพื่อย้ายต่อ” ให้กดซ้ำจนข้อความหายไป
- กด เปิดไฟล์เก็บถาวร ไฟล์ชื่อ
[ชื่อร้าน] — Jabphap Pharmacy POS Archiveอยู่ใน Google Drive ของร้าน
บิลขายที่ปิดแล้วและรายการในบิล · ประวัติความเคลื่อนไหวสต็อก (รวมยาเสีย) · บันทึกการใช้งาน — ยา ราคา ล็อตคงเหลือ ผู้ป่วย พนักงาน และค่าใช้จ่าย ไม่ถูกย้าย
ข้อมูลที่ย้ายแล้วไม่แสดงในรายงานของระบบ (รวมบัญชีขายยาช่วงนั้น — เปิดดูในไฟล์เก็บถาวร และควรพิมพ์/ส่งออกบัญชีขายยาเก็บไว้ก่อนย้าย) · ควรทำหลังปิดร้าน และรับชำระบิลลงบัญชีที่ค้างให้หมดก่อน
1) เช็กแถบขนาดฐานข้อมูลเดือนละครั้ง · 2) ห้ามเรียงลำดับ (Sort) หรือแทรกแถวในชีตบิลเอง · 3) ดูรายงานเป็นช่วงสั้น (7–30 วัน) สำหรับงานประจำวัน
หน้าขายบนคอมพิวเตอร์
คีย์ลัด
| ปุ่ม | ทำอะไร |
|---|---|
| F2 | ไปที่ช่องค้นหา/สแกนบาร์โค้ด |
| F6 | เลือกผู้ป่วย / ลูกค้า |
| F4 | ชำระเงิน (หรือรับชำระบิลลงบัญชีที่เปิดอยู่) |
| F8 | ลงบัญชี / สั่งออนไลน์ (จ่ายทีหลัง) — ต้องเลือกลูกค้าลงบัญชีหรือช่องทางก่อน |
6* + ยิง | ใส่ยา 6 หน่วยในครั้งเดียว (เปลี่ยนตัวเลขได้) |
| Enter | ในช่องค้นหา: ค้นด้วยบาร์โค้ด/เลือกผลลัพธ์แรก |
| Esc | ปิดหน้าต่าง · ออกจากโหมดเต็มจอของคิวจัดยา |
คำถามที่พบบ่อย / แก้ปัญหา
ไม่เห็นเมนู 💊 Jabphap Pharmacy POS ในชีต
รีเฟรชหน้าชีตแล้วรอ 5–10 วินาที เมนูขึ้นหลังโหลดเสร็จ ถ้ายังไม่ขึ้น ตรวจว่าวางโค้ดแล้วกดบันทึกในหน้า Apps Script หรือใช้วิธี B (setupSystem) แทน
เปิดลิงก์แล้วถูกบังคับให้ล็อกอิน Google / เข้าไม่ได้
ตรวจการตั้งค่าในขั้นที่ 5: ผู้มีสิทธิ์เข้าถึง ต้องเป็น ทุกคน แก้ได้ที่ จัดการการทำให้ใช้งานได้ › ✎ แก้ไข › เลือกเวอร์ชันใหม่
หน้าเว็บขึ้นว่า “ไม่พบหน้า …” หรือขึ้นหน้าว่าง
ส่วนใหญ่เกิดจากวาง Code.gs ไม่ครบไฟล์ (หน้าเว็บทุกหน้าฝังอยู่ท้ายไฟล์) ให้ลบแล้ววางใหม่ทั้งไฟล์ ตรวจว่าบรรทัดสุดท้ายเป็น }; บันทึก แล้ว Deploy เวอร์ชันใหม่ (ขั้นที่ 8)
อัปเดตแล้ว แต่หน้าเว็บยังเหมือนเดิม
เว็บแอปใช้โค้ดตาม “เวอร์ชัน” ที่ Deploy ไว้ ต้องทำตามขั้นที่ 8 (เลือก เวอร์ชันใหม่) ทุกครั้งหลังวางโค้ดใหม่ แล้วรีเฟรชหน้าขายและเครื่องคิวจัดยาทุกเครื่อง
ชำระเงินไม่ได้ ขึ้นว่าต้องระบุเภสัชกร / ใบสั่งยา
บิลมียาอันตรายหรือยาควบคุมพิเศษ — เลือกเภสัชกรผู้จ่ายยาในส่วน “ตรวจสอบก่อนจ่ายยา” ของหน้าชำระเงิน · ยาควบคุมพิเศษต้องกรอกเลขที่ใบสั่งยา/ชื่อแพทย์ด้วย · รายชื่อเภสัชกรว่าง? เพิ่มที่ ตั้งค่า › ร้านขายยา หรือให้ผู้ใช้บทบาทเภสัชกรเข้าสู่ระบบแล้วขายเอง (ระบบลงชื่อให้อัตโนมัติ) · ถ้ายาถูกกำหนดประเภทผิด แก้ที่ ยาและราคา › ประเภทยา
ผู้ป่วยแพ้ยาแต่ระบบไม่เตือน
ตรวจว่า 1) เลือกผู้ป่วยในตะกร้าแล้ว (F6) 2) เปิด ตรวจประวัติแพ้ยาของผู้ป่วยก่อนขาย ที่ ตั้งค่า › ร้านขายยา 3) ประวัติแพ้เขียนด้วยชื่อสามัญหรือชื่อกลุ่มยา (เช่น Penicillin, NSAIDs, Sulfa) ไม่ใช่ชื่อการค้าที่ต่างจากในระบบ 4) ยานั้นกรอก ชื่อสามัญ ในฟอร์มยาแล้ว · ระบบเป็นเครื่องช่วย เภสัชกรต้องซักประวัติเองทุกครั้ง
ยังมียาอยู่ แต่การ์ดขึ้นว่าหมด / ขายล็อตไม่ได้
ยาที่เหลืออาจอยู่ในล็อตที่หมดอายุแล้ว (ระบบไม่นับเป็นยาที่ขายได้) — ดูที่ สต็อกยา › ล็อต/วันหมดอายุ ถ้าวันหมดอายุกรอกผิด ให้แก้ด้วยไอคอนดินสอ ถ้าหมดอายุจริงให้ตัดยาเสีย · ถ้ารับยาเข้าโดยไม่ได้บันทึก ให้ รับยาเข้า หรือ นับสต็อก / ปรับยอด
เลขล็อตในบิลไม่ตรงกับกล่องที่หยิบจริง
ระบบตัดตาม FEFO (ล็อตที่หมดอายุก่อน) ถ้าหน้าร้านหยิบจากล็อตอื่น ให้วางยาล็อตเก่าไว้หน้าชั้นเพื่อหยิบตามลำดับ หรือปรับยอดด้วย ตัดออก/นับสต็อก แล้วระบุล็อต · วันหมดอายุบนการ์ดคือของล็อตที่จะถูกตัดถัดไป ใช้ตรวจก่อนหยิบได้
ยิงบาร์โค้ดแล้วไม่มีอะไรเกิดขึ้น / ขึ้น “ไม่พบยา/สินค้า”
ไม่มีอะไรเกิดขึ้น: คลิกที่ช่องค้นหา (F2) ก่อนยิง · ตั้งเครื่องสแกนให้ส่ง Enter ท้ายบาร์โค้ด · คีย์บอร์ดต้องเป็นภาษาอังกฤษ ถ้าเป็นภาษาไทยตัวเลขจะเพี้ยน
ไม่พบยา: ยังไม่มียาที่ใช้บาร์โค้ดนี้ — แก้ไขยาแล้วยิงลงช่อง บาร์โค้ด · ยาตัวอย่างใช้บาร์โค้ดสมมติ ต้องเปลี่ยนเป็นบาร์โค้ดจริงบนกล่องก่อน
ฉลากยาพิมพ์ไม่พอดีกระดาษ
ตั้งขนาดฉลาก 58 หรือ 80 มม. ให้ตรงกับเครื่องที่ ตั้งค่า › ร้านขายยา · ในหน้าต่างพิมพ์ของเบราว์เซอร์ เลือกเครื่องพิมพ์ความร้อน ขนาดกระดาษตรงกับม้วน ขอบกระดาษ “ไม่มี” และปิด “ส่วนหัวและส่วนท้าย” · ถ้าวิธีใช้ยาวเกิน ให้ย่อข้อความในช่อง วิธีใช้บนฉลาก
ไม่ได้รับสรุปสต็อก / สรุปยอดขายทาง LINE หรืออีเมล
ดูแถบสถานะที่ ตั้งค่า › แจ้งเตือน ระบบบอกสาเหตุล่าสุดไว้ แล้วตรวจตามนี้
สรุปสต็อกไม่มา: เปิด แจ้งเตือนสต็อกยาอัตโนมัติ ที่ ตั้งค่า › ภาษี ใบเสร็จ & สต็อก แล้วหรือยัง · วันที่ไม่มีรายการต้องดูแลจะไม่ส่ง · ทริกเกอร์ทำงานรายชั่วโมง อาจช้ากว่าเวลาที่ตั้งได้ราว 1 ชั่วโมง
อีเมล: ดูโฟลเดอร์สแปม/โปรโมชัน
LINE ขึ้น 401: token ไม่ถูกต้อง ให้คัดลอก token ล่าสุดมาวางใหม่
LINE ขึ้น 400: ผู้รับยังไม่ได้เพิ่ม OA เป็นเพื่อน หรือ LINE ID ผิด
LINE ขึ้น 429: ข้อความเกินโควตาของเดือน
ไม่ส่งเลยทั้งสองทาง: ถ้าเพิ่งอัปเดตระบบ ให้อนุญาตสิทธิ์ใหม่ตามหมายเหตุในขั้นตอนที่ 8
กระดิ่งขึ้นตัวเลขเยอะมาก ไม่รู้จะเริ่มตรงไหน
เริ่มจาก ยาหมด และ มีล็อตหมดอายุ (ตรวจชั้น ตัดยาเสีย หรือแก้วันหมดอายุที่กรอกผิด) แล้วเปิดแท็บ ต้องสั่งซื้อ คัดลอกข้อความส่งบริษัทยาทีละกลุ่ม · ถ้าล็อตใกล้หมดอายุเยอะเกิน ลองลด “เตือนยาใกล้หมดอายุล่วงหน้า” เช่น จาก 180 เป็น 90 วัน · ช่วงแรกหลังติดตั้งให้นับสต็อกจริงก่อน ตัวเลขจะลดลงเอง
คิวจัดยาไม่มีเสียงเตือน / ออเดอร์ขึ้นช้า
ไม่มีเสียง: เบราว์เซอร์เล่นเสียงได้หลังผู้ใช้แตะหน้าจอหนึ่งครั้ง ให้แตะปุ่มลำโพงทุกครั้งที่เปิดหน้าใหม่ · ขึ้นช้า: คิวดึงข้อมูลใหม่ทุก 10 วินาที ถ้าไม่ขึ้นเลย ตรวจว่า ตั้งค่า › หน้าร้าน & คิวจัดยา › ใช้คิวจัดยา เปิดอยู่ · บิลหน้าร้านที่จ่ายเลยไม่เข้าคิว (ปกติ)
กด F8 แล้วขึ้นว่าต้องเลือกลูกค้าก่อน
ลงบัญชีได้เฉพาะ ลูกค้าลงบัญชี (คลินิก/ลูกค้าประจำ) หรือ สั่งออนไลน์ — เลือกประเภทบิลและลูกค้าก่อน · ลูกค้าหน้าร้านทั่วไปให้กด ชำระเงิน (F4) · รายชื่อว่าง? เพิ่มที่ ตั้งค่า › หน้าร้าน & คิวจัดยา
ลืม PIN ของผู้ดูแลระบบ
เจ้าของไฟล์เปิดหน้า Apps Script เลือกฟังก์ชัน resetAdminPin แล้วกด ▷ เรียกใช้ ระบบสุ่ม PIN ใหม่ให้ ดูได้ในบันทึกการดำเนินการ แล้วเปลี่ยนเป็นรหัสที่ต้องการหลังเข้าสู่ระบบ · หรือเปิดลิงก์เว็บแอปต่อท้าย ?page=install ด้วยบัญชี Google เจ้าของไฟล์
QR พร้อมเพย์ไม่แสดง
ตรวจว่าใส่เบอร์/เลขพร้อมเพย์ในแท็บ ตั้งค่า › รับชำระเงิน แล้วกดบันทึก และเครื่องต่ออินเทอร์เน็ตอยู่
แก้ข้อมูลในไฟล์ชีตตรง ๆ ได้ไหม
ดูได้และคัดลอกไปทำรายงานต่อได้ แต่ห้ามแก้หรือลบแถวหัวคอลัมน์ และห้ามเปลี่ยนชื่อแท็บชีต · คอลัมน์บาร์โค้ด เลขล็อต วันหมดอายุ เบอร์โทร และใบสั่งยาถูกตั้งเป็นข้อความ (กันเลข 0 นำหน้าหายและวันที่ถูกแปลง) อย่าเปลี่ยนรูปแบบ · อย่าแชร์ไฟล์ให้บุคคลภายนอก เพราะมีข้อมูลผู้ป่วย · การแก้ข้อมูลทำผ่านหน้าเว็บปลอดภัยที่สุด
ต้องต่ออินเทอร์เน็ตตลอดไหม
ต้องต่อ เพราะทุกบิลบันทึกลง Google Sheets ทันที ถ้าเน็ตหลุด มุมจอจะขึ้นสถานะ “ออฟไลน์” และระบบจะไม่ยอมบันทึกบิลจนกว่าจะกลับมาออนไลน์ ป้องกันบิลหาย · แนะนำให้มีฮอตสปอตมือถือสำรองไว้
💊
ติดตั้งเสร็จแล้ว พร้อมจ่ายยาบิลแรก!
ดูว่าระบบช่วยร้านยาได้อย่างไรบ้าง ตั้งแต่ค้นหาด้วยชื่อสามัญ เตือนแพ้ยา เภสัชกรยืนยัน ล็อต FEFO ฉลากยา ไปจนถึงบัญชีขายยาและแจ้งเตือนสต็อกอัตโนมัติ