เริ่มต้น
สร้างไฟล์ Google Sheets ใหม่
ไฟล์นี้จะเป็น “ฐานข้อมูล” ของร้าน เก็บเมนู บิลขาย สต็อก และพนักงานทั้งหมด
- •เข้า sheets.new (ต้องล็อกอิน Gmail ของร้าน)
- •คลิกชื่อไฟล์มุมซ้ายบน เปลี่ยนเป็น Jabphap Car Care POS (หรือชื่อร้านของคุณ)
ใส่ระบบ
วางโค้ดใน Apps Script
- 1 ในไฟล์ชีต ไปที่เมนู ส่วนขยาย›Apps Script
- 2
คลิกชื่อโปรเจกต์มุมซ้ายบน (“โปรเจกต์ที่ไม่มีชื่อ”) เปลี่ยนเป็น Jabphap Car Care POS
ชื่อนี้จะไปโผล่ในหน้าขออนุญาตสิทธิ์ของ Google ในขั้นตอนที่ 4 - 3 เปิดไฟล์ Code.gs ในหน้าแก้ไข กด Ctrl + A แล้วลบโค้ดเดิมที่มีอยู่ทิ้งทั้งหมด
- 4 เปิดไฟล์ Code.gs ที่ได้รับ คัดลอกทั้งไฟล์ มาวาง แล้วกด Ctrl + S เพื่อบันทึก
✓ ไฟล์เดียวจบ
หน้าเว็บทุกหน้าฝังอยู่ใน Code.gs แล้ว ไม่ต้องสร้างไฟล์ .html เพิ่ม
⚠ ต้องวางให้ครบทั้งไฟล์
ไฟล์ยาวหลายหมื่นบรรทัด ถ้าวางขาดท้ายไฟล์ ระบบจะเปิดไม่ขึ้น ให้เลื่อนดูบรรทัดสุดท้ายว่าลงท้ายด้วย };
ไม่บังคับ: ใส่ไฟล์ appsscript.json ด้วย (ถ้าได้รับมา)
ไฟล์นี้กำหนดเขตเวลาเป็น Asia/Bangkok และกำหนดสิทธิ์ที่ระบบขอให้ชัดเจน
ไปที่ ⚙ การตั้งค่าโปรเจกต์ ติ๊ก “แสดงไฟล์ Manifest ‘appsscript.json’ ในเครื่องมือแก้ไข” แล้วกลับมาเปิดไฟล์ appsscript.json วางทับทั้งไฟล์
ติดตั้ง
สร้างฐานข้อมูลของร้าน
เลือกได้ 2 วิธี แนะนำวิธี A เพราะตั้งชื่อร้านและรหัส PIN ของคุณเองได้เลย
- 1 กลับไปที่แท็บ Google Sheets แล้วรีเฟรชหน้า (F5) รอสักครู่จะมีเมนู 🚗 Jabphap Car Care POS ขึ้นบนแถบเมนู
- 2 คลิก 🚗 Jabphap Car Care POS›🚀 ติดตั้งระบบ (เริ่มที่นี่)
- 3 ครั้งแรก Google จะขออนุญาตสิทธิ์ ทำตามขั้นตอนที่ 4 แล้วกดเมนูเดิมอีกครั้ง
- 4 กรอกตัวช่วยติดตั้ง 4 หน้า:
หน้า 1
ข้อมูลร้าน
ชื่อ เบอร์โทร ที่อยู่
หน้า 2
ผู้ดูแลระบบ
ชื่อผู้ใช้ + PIN
หน้า 3
ตัวเลือก
ภาษี ใบเสร็จ ชุดสี
หน้า 4
ติดตั้ง
รอจนเสร็จ
📝 จดชื่อผู้ใช้และ PIN ของผู้ดูแลไว้ ต้องใช้เข้าสู่ระบบครั้งแรก
ครั้งเดียวเท่านั้น
อนุญาตสิทธิ์ให้ระบบ
Google จะถามครั้งแรกครั้งเดียว ขั้นตอนดูน่ากลัวนิดหน่อยแต่เป็นเรื่องปกติของสคริปต์ที่ติดตั้งเอง
🔐
ทำไมขึ้นว่า “ไม่ปลอดภัย”?
เพราะสคริปต์เป็นของคุณเอง ไม่ได้ส่งให้ Google ตรวจ ข้อมูลไม่ได้ส่งไปที่อื่น ทุกอย่างอยู่ใน Drive ของบัญชีคุณ
ระบบขอสิทธิ์อะไรบ้าง และเอาไปใช้ทำอะไร
ใช้เปิดไฟล์ Google Sheets ของร้าน และสร้างไฟล์เก็บถาวรเมื่อย้ายข้อมูลเก่า ระบบไม่แตะไฟล์อื่นของคุณ
อ่าน/เขียนเมนู บิล สต็อก และพนักงานลงในไฟล์ชีตของร้าน
ใช้ส่งสรุปยอดขายเข้า LINE ของร้านเท่านั้น (api.line.me) ถ้าไม่เปิดแจ้งเตือนทาง LINE จะไม่ถูกใช้
ส่งรหัส PIN ใหม่เมื่อกดรีเซ็ต PIN และส่งสรุปยอดขายทางอีเมล (ถ้าเปิดไว้)
ใช้ตั้งเวลาส่งสรุปยอดขายอัตโนมัติทุกคืน แม้ไม่ได้เปิดระบบไว้
ใช้แสดงตัวช่วยติดตั้งและเมนู 🚗 Jabphap Car Care POS ในชีต
ขั้นสำคัญ
เผยแพร่เป็นเว็บแอป (ได้ลิงก์หน้าขาย)
- 1 ในหน้า Apps Script กดปุ่มสีน้ำเงินมุมขวาบน การทำให้ใช้งานได้›การทำให้ใช้งานได้รายการใหม่
- 2 คลิกไอคอนเฟือง ⚙ ข้าง “เลือกประเภท” แล้วเลือก เว็บแอป
- 3 ตั้งค่าตามตารางนี้ แล้วกด การทำให้ใช้งานได้
| ช่อง | ให้เลือก |
|---|---|
| คำอธิบาย | v1 |
| ดำเนินการในฐานะ | ฉัน (อีเมลของร้าน) |
| ผู้มีสิทธิ์เข้าถึง | ทุกคน |
คัดลอก URL ของเว็บแอป (ขึ้นต้นด้วย https://script.google.com/macros/s/…/exec) นี่คือลิงก์หน้าขายของร้าน เปิดจากเมนู 🚗 Jabphap Car Care POS › 🖥️ เปิดหน้าขาย ในชีตได้เช่นกัน
พร้อมขาย
เปิดใช้บนแท็บเล็ตหรือมือถือ
ส่งลิงก์ให้เครื่องที่ใช้ขาย (LINE หา ตัวเอง / อีเมล) เปิดแล้วเพิ่มไว้ที่หน้าจอโฮม จะได้ไอคอนบนหน้าจอ กดครั้งเดียวเข้าหน้าขายได้ทันทีเหมือนแอป ไม่ต้องหาลิงก์ใหม่ทุกวัน
🍎 iPad / iPhone
เปิดด้วย Safari › กดปุ่มแชร์ ⬆ › เพิ่มไปยังหน้าจอโฮม › ตั้งชื่อ เช่น “รับรถ” › เพิ่ม
🤖 Android
เปิดด้วย Chrome › เมนู ⋮ › เพิ่มลงในหน้าจอหลัก › ตั้งชื่อ › เพิ่ม
💻 คอมพิวเตอร์
บุ๊กมาร์กไว้ ใช้คีย์ลัด F2 ค้นหาบริการ · F3 ทะเบียนรถ · F4 ชำระเงิน
ไอคอนบนหน้าจอเป็นทางลัดไปยังลิงก์เว็บแอป ยังต้องต่ออินเทอร์เน็ตเหมือนเดิม · ถ้า Deploy ใหม่แบบ “การทำให้ใช้งานได้รายการใหม่” ลิงก์จะเปลี่ยน ต้องเพิ่มไอคอนใหม่ (อัปเดตตามขั้นตอนที่ 8 ลิงก์จะไม่เปลี่ยน)
เข้าสู่ระบบด้วยชื่อผู้ใช้และ PIN ของผู้ดูแลที่ตั้งไว้ในขั้นที่ 3 แล้วไปที่ เมนูรูปโปรไฟล์ › เปลี่ยนรหัส PIN ทันทีถ้ายังใช้ 1234 อยู่
ทัวร์หน้าจอ · กดที่ภาพเพื่อขยาย
รับรถคันแรก และรู้จักหน้าจอหลัก
ลองรับรถทดสอบตามลำดับนี้ก่อนเปิดร้านจริง แล้วค่อยล้างข้อมูลทดลองตามเช็กลิสต์ในขั้นตอนที่ 7
รับรถคันแรกใน 6 ขั้น
หน้าจออื่น ๆ ในเมนูด้านซ้าย
พนักงานหน้าร้านเห็นหน้ารับรถ กระดานคิว ประวัติบิล และลูกค้า ส่วนหน้าอื่นเห็นตามสิทธิ์ของผู้จัดการหรือผู้ดูแล
รถทุกคันในร้าน รอคิว → กำลังล้าง → เสร็จ รอรับรถ → ส่งมอบ กด “เริ่มล้าง” เลือกช่องและช่าง นับเวลาเทียบเวลาเสร็จ (เกินเวลาขึ้นสีแดง) กด “รับเงิน & ส่งมอบ” สำหรับรถที่ค้างชำระ อัปเดตเองทุก 20 วินาที เปิดบนจอทีวีในร้านได้
รถทุกคันที่เคยมา พร้อมจำนวนครั้ง ยอดใช้จ่าย แต้มสะสม และประวัติบริการ ค้นจากทะเบียน เบอร์โทร หรือชื่อ กด “รับรถคันนี้” เพื่อเปิดหน้ารับรถพร้อมข้อมูล
ค้นบิลจากเลขบิล ทะเบียน ชื่อ หรือเบอร์โทร กรองบิลค้างชำระ กดที่บิลเพื่อรับชำระ พิมพ์ซ้ำ หรือยกเลิกบิล (ยกเลิกแล้วคืนสต็อกและแต้มสะสมให้อัตโนมัติ)
ยอดขายวันนี้ เทียบเมื่อวาน แถบงานในร้าน (รถเข้าวันนี้ รอคิว กำลังล้าง รอรับ ค้างชำระ) แนวโน้มยอดขาย บริการยอดนิยม สัดส่วนขนาดรถ และช่วงเวลารถเข้าเยอะ
รายงาน 9 แบบ: รายวัน รายเดือน บริการ ค่ามือช่าง ขนาดรถ ช่องทางชำระ พนักงานรับรถ ค่าใช้จ่าย และประมาณการกำไร บันทึกค่าใช้จ่ายและส่งออก CSV ได้
ตั้งราคา 4 ขนาดรถ (เว้น M/L/XL ว่าง = ราคาเดียว เหมาะกับสินค้าขายปลีก) เวลาทำงาน ค่ามือช่างต่องาน ต้นทุน และตัวเลือกเสริม ระบบคำนวณ % กำไรให้
คงเหลือของแชมพู แว็กซ์ น้ำยาเคลือบ ผ้า ฯลฯ กำหนดปริมาณที่ใช้ต่อบริการสำหรับรถเล็ก ระบบคูณตามขนาดรถให้เอง (M ×1.2 · L ×1.5 · XL ×1.8) เตือนที่กระดิ่ง 🔔 เมื่อต่ำกว่าจุดสั่งซื้อ
แท็บ คาร์แคร์: จำนวนช่องล้าง รายชื่อช่าง ขนาดรถเริ่มต้น เลขคิว และแต้มสะสม · ข้อมูลร้าน ภาษีและใบเสร็จ รับชำระเงิน แจ้งเตือนยอดขาย ธีมและสี พนักงาน และระบบ
เช็กลิสต์
ตั้งค่าก่อนเปิดร้านจริง
ติ๊กไปทีละข้อ ระบบจะจำไว้ในเบราว์เซอร์นี้
เมื่อได้เวอร์ชันใหม่
อัปเดตระบบโดยลิงก์เดิมไม่เปลี่ยน
- 1วาง Code.gs เวอร์ชันใหม่ทับทั้งไฟล์ แล้วกด Ctrl + S
- 2ไปที่ การทำให้ใช้งานได้›จัดการการทำให้ใช้งานได้
- 3กดไอคอนดินสอ ✎ › ช่องเวอร์ชันเลือก เวอร์ชันใหม่ › การทำให้ใช้งานได้
notifyTick แล้วกด ▷ เรียกใช้ 1 ครั้ง เพื่อกดอนุญาตสิทธิ์ตามขั้นตอนที่ 4 (ฟังก์ชันนี้ไม่ส่งอะไรถ้ายังไม่ถึงเวลาที่ตั้งไว้)อย่ากด “การทำให้ใช้งานได้รายการใหม่” ซ้ำ — จะได้ลิงก์ใหม่ และแท็บเล็ตทุกเครื่องต้องเปลี่ยนลิงก์ตาม ส่วนข้อมูลร้าน (เมนู บิล สต็อก) อยู่ในชีต ไม่หายเมื่ออัปเดตโค้ด
ทำเดือนละครั้ง · ใช้เวลา 1 นาที
ดูแลฐานข้อมูลระยะยาว
ระบบอ่านเฉพาะข้อมูลช่วงล่าสุด หน้าขายจึงยังเร็วแม้ร้านเปิดมาหลายปี แต่ Google Sheets รับข้อมูลได้สูงสุด 10 ล้านเซลล์ต่อไฟล์ ร้านที่ขายวันละหลายร้อยบิลและเปิดระบบสต็อก จะใช้พื้นที่ใกล้เต็มในราว 1–2 ปี จึงต้องย้ายข้อมูลเก่าออกเป็นระยะ
ดูที่ ตั้งค่า›ระบบ›ขนาดฐานข้อมูล
ระบบเตือนให้อัตโนมัติ
เมื่อผู้ดูแลเปิดระบบ จะมีหน้าต่างเตือนพร้อมปุ่ม “ไปย้ายข้อมูลเก่า” และจุดสีบนเมนูตั้งค่า เตือนทุก 7 วันเมื่อถึง 60% · ทุกวันเมื่อถึง 80% · ทุกครั้งที่เปิดระบบเมื่อถึง 95% ส่วนพนักงานขายจะไม่ถูกรบกวน ยกเว้นตอนใกล้เต็มจริง ๆ จะมีข้อความสั้น ๆ ให้แจ้งผู้ดูแล และระบบจะไม่เด้งเตือนระหว่างที่มีรายการในตะกร้า
- 1 เข้าสู่ระบบด้วยบัญชีผู้ดูแลระบบ ไปที่ ตั้งค่า›ระบบ ดูแถบ “ขนาดฐานข้อมูล”
- 2 เมื่อแถบเป็นสีเหลืองหรือสีแดง เลือก “เก็บไว้ 12 เดือนล่าสุด” แล้วกด ย้ายข้อมูลเก่า
- 3 ถ้าขึ้นข้อความว่า “ยังมีเหลือ กดอีกครั้งเพื่อย้ายต่อ” ให้กดซ้ำจนไม่มีข้อความนี้ (ระบบย้ายทีละก้อนเพื่อไม่ให้เกินเวลาทำงานของ Google)
- 4
กด เปิดไฟล์เก็บถาวร เพื่อดูข้อมูลที่ย้ายไป ไฟล์ชื่อ
[ชื่อร้าน] — Jabphap Car Care POS Archiveอยู่ใน Google Drive ของร้าน
✓ อะไรถูกย้าย
- • บิลขาย และรายการสินค้าในบิล
- • ประวัติความเคลื่อนไหวสต็อก
- • บันทึกการใช้งาน (audit log)
เมนู สินค้า สต็อกคงเหลือ พนักงาน และค่าใช้จ่าย ไม่ถูกย้าย
⚠ สิ่งที่ควรรู้
- • ข้อมูลที่ย้ายแล้วไม่แสดงในรายงานและประวัติการขายของระบบ (เปิดดูได้ในไฟล์เก็บถาวร)
- • ระหว่างย้าย ระบบรับบิลใหม่ไม่ได้ชั่วคราว ควรทำนอกเวลาขาย
- • ระบบเขียนลงไฟล์เก็บถาวรให้สำเร็จก่อน แล้วค่อยลบจากไฟล์หลัก ข้อมูลจึงไม่หาย
กฎ 3 ข้อให้ระบบเร็วตลอด
- เช็กแถบขนาดฐานข้อมูลเดือนละครั้ง
- ห้ามเรียงลำดับ (Sort) หรือแทรกแถวในชีตบิลเอง ระบบอาศัยว่าข้อมูลเรียงตามเวลา ถ้าเรียงใหม่ ข้อมูลช่วงล่าสุดอาจแสดงไม่ครบ
- ดูรายงานเป็นช่วงสั้น (7–30 วัน) สำหรับงานประจำวัน ช่วงยาวทั้งปีใช้เวลาโหลดนานกว่าตามปริมาณข้อมูล
ไม่บังคับ · แนะนำ
รับสรุปยอดขายอัตโนมัติ ทางอีเมล / LINE
ระบบส่งสรุปยอดให้เจ้าของร้านเองทุกคืน ไม่ต้องเปิดระบบดู เลือกได้ว่าจะรับรอบไหน ทางไหน และเปิด-ปิดแยกกันได้ทั้งหมด
📅 รายวัน
ทุกวัน ตามเวลาที่ตั้ง
ยอดขาย บิล เฉลี่ยต่อบิล เทียบเมื่อวาน · เมนูขายดี · ช่องทางชำระ · บิลยกเลิก · น้ำยา/วัสดุใกล้หมด
🗓 รายสัปดาห์
ทุกวันอาทิตย์ (จันทร์–อาทิตย์)
เทียบสัปดาห์ก่อน · วันที่ขายดีที่สุด · ยอดพนักงานแต่ละคน · กำไรโดยประมาณ
📊 รายเดือน
วันสุดท้ายของเดือน
ยอดทั้งเดือนเทียบเดือนก่อน · ต้นทุน ค่าใช้จ่าย กำไรสุทธิ · พนักงาน · เมนูขายดี
- 1เข้าสู่ระบบด้วยบัญชีผู้ดูแล ไปที่ ตั้งค่า›แจ้งเตือนยอดขาย
- 2เปิดสวิตช์รอบที่ต้องการ (รายวัน / รายสัปดาห์ / รายเดือน) แล้วเลือกเวลาส่ง แนะนำหลังปิดร้าน เช่น 22:00 น.
- 3เปิดสวิตช์ ส่งทางอีเมล ใส่อีเมลผู้รับได้สูงสุด 5 คน (เว้นว่าง = ส่งถึงเจ้าของบัญชี Google ที่ติดตั้งระบบ)
- 4กด บันทึกและส่งทดสอบ แล้วเช็กกล่องอีเมล (ถ้าไม่เห็น ให้ดูในโฟลเดอร์สแปมหรือโปรโมชัน แล้วกด “ไม่ใช่สแปม”)
ใช้ได้ทั้งสองช่องทางพร้อมกัน
เช่น ส่ง LINE ให้เจ้าของดูเร็ว ๆ และส่งอีเมลให้หุ้นส่วนหรือฝ่ายบัญชีเก็บไว้ ถ้าช่องทางหนึ่งส่งไม่สำเร็จ อีกช่องทางยังส่งตามปกติ และแถบสถานะด้านบนของหน้าตั้งค่าจะบอกสาเหตุเป็นภาษาไทย · กด ดูตัวอย่าง เพื่อดูหน้าตารายงานก่อนเปิดใช้จริง
Troubleshooting
แก้ปัญหาที่พบบ่อย
ไม่เห็นเมนู 🚗 Jabphap Car Care POS ในชีต
เปิดลิงก์แล้วถูกบังคับให้ล็อกอิน Google / เข้าไม่ได้
แก้โค้ด/อัปเดตแล้ว แต่หน้าเว็บยังเหมือนเดิม
ลืม PIN ของผู้ดูแลระบบ
resetAdminPin แล้วกด ▷ เรียกใช้ ระบบจะสุ่ม PIN ใหม่ 6 หลักให้ ดูได้ในบันทึกการดำเนินการ แล้วเปลี่ยนเป็นรหัสที่ต้องการหลังเข้าสู่ระบบหน้าเว็บขึ้นว่า “ตั้งค่าไม่ครบ” หรือขึ้นหน้าว่าง
QR พร้อมเพย์ไม่แสดง
แก้ข้อมูลในไฟล์ชีตตรง ๆ ได้ไหม
ขายไปนาน ๆ ข้อมูลเยอะ ระบบจะช้าลงไหม
แจ้งเตือนน้ำยา/วัสดุใกล้หมดทำงานอย่างไร
ระบบแจ้งครั้งเดียวในจังหวะที่ของเพิ่งหล่นต่ำกว่าจุดสั่งซื้อ ไม่เด้งทุกบิล และจะแจ้งอีกครั้งหลังรับของเข้าแล้วหล่นลงมาใหม่
- 🟠 ใกล้หมด — แถบแจ้งมุมจอ ไม่บังหน้าขาย
- 🔴 หมดแล้ว — แถบแจ้งสีแดง · ผู้จัดการ/เจ้าของได้ป๊อปอัปเมื่อปิดใบเสร็จแล้ว (ไม่เด้งทับตอนขาย) · ส่ง LINE ถ้าเปิดไว้
- 🔔 กระดิ่งบนแถบบน — ตัวเลขรายการที่ต้องดูแล กดดูได้ทุกเมื่อ
- 🌅 เปิดแอปครั้งแรกของวัน — ผู้จัดการ/เจ้าของเห็นสรุปรายการใกล้หมด 1 ครั้ง
ของหมดแล้วยังขายต่อได้ (สต็อกติดลบ) เพื่อไม่ให้ขายไม่ได้กลางคัน · ปิดการแจ้งเตือนทั้งหมดได้ที่ ตั้งค่า › ภาษี & ใบเสร็จ › แจ้งเตือนน้ำยา/วัสดุใกล้หมด
ไม่ได้รับสรุปยอดทางอีเมล / LINE
ดูแถบสถานะที่ ตั้งค่า › แจ้งเตือนยอดขาย ระบบจะบอกสาเหตุล่าสุดไว้ แล้วตรวจตามนี้
- อีเมล: ดูโฟลเดอร์สแปม/โปรโมชัน · ตรวจว่าเปิดสวิตช์รอบรายงานแล้วกดบันทึก
- LINE ขึ้น 401: token ไม่ถูกต้องหรือถูกออกใหม่ ให้คัดลอก token ล่าสุดมาวางใหม่
- LINE ขึ้น 400: ผู้รับยังไม่ได้เพิ่ม OA เป็นเพื่อน หรือ LINE ID ผิด
- LINE ขึ้น 429: ข้อความเกินโควตาของเดือน ตรวจแพ็กเกจใน LINE OA Manager
- ไม่ส่งเลยทั้งสองทาง: ถ้าเพิ่งอัปเดตระบบ ให้อนุญาตสิทธิ์ใหม่ตามหมายเหตุในขั้นตอนที่ 8
ต้องต่ออินเทอร์เน็ตตลอดไหม
🎉
ติดตั้งเสร็จแล้ว พร้อมรับรถคันแรก!
ดูว่าระบบช่วยร้านได้อย่างไรบ้าง ตั้งแต่ QR พร้อมเพย์อัตโนมัติ ไปจนถึงรายงานกำไรรายวัน
ดูความสามารถทั้งหมด →