ปัญหา Odoo POS ส่วนใหญ่ที่เราถูกเรียกไปแก้ไม่ใช่บั๊กของซอฟต์แวร์ แต่เป็นช่องโหว่ที่หลงเหลือจากการตั้งค่า ลิ้นชักเก็บเงินที่ไม่มีใครถูกบังคับให้นับ เทมเพลตใบเสร็จที่ไม่มีเลขประจำตัวผู้เสียภาษี หรือจุดเก็บสต็อกที่ปล่อยให้ตัวเลขหน้าร้านกับคลังสินค้าคลาดเคลื่อนกันภายในสัปดาห์เดียว Odoo Point of Sale ถูกออกแบบมาให้รองรับธุรกิจค้าปลีกได้ดี แต่จะทำงานได้ดีจริงก็ต่อเมื่อการตั้งค่าตรงกับวิธีทำงานจริงของร้าน ไม่ใช่ปล่อยไว้ตามข้อมูลตัวอย่างเริ่มต้น
บทความนี้พาไล่เรียงสามเรื่องที่สร้างปัญหามากที่สุดตอนขึ้นระบบค้าปลีก เซสชันและการควบคุมเงินสด การพิมพ์ใบเสร็จและใบกำกับภาษี และการรักษาตัวเลขสต็อกหน้าร้านให้เชื่อถือได้
ทำไม Odoo POS setup ถึงควรมีระยะวางแผนของตัวเอง
เครื่อง POS คือจุดเดียวใน Odoo ที่พนักงานที่ไม่ใช่สายบัญชีต้องสัมผัสโดยตรง มักอยู่ภายใต้แรงกดดันด้านเวลา ขณะที่ลูกค้ายืนรออยู่หน้าเคาน์เตอร์ ความผิดพลาดตรงนี้จะเห็นผลทันที และแก้ไขย้อนหลังหลังใช้งานจริงไปแล้วหลายสัปดาห์นั้นมีต้นทุนสูง เราจึงมองการตั้งค่า POS เป็นระยะงานสั้น ๆ แยกออกจากการวางระบบ Odooโดยรวม พร้อมเซสชันทดสอบบนฮาร์ดแวร์จริงก่อนขึ้นระบบจริง
สามเรื่องที่ควรทำให้ถูกตั้งแต่วันแรกคือขั้นตอนเซสชันและเงินสด เอกสารใบเสร็จและภาษี และความเชื่อมโยงระหว่าง POS กับแอปคลังสินค้า ถ้าสามเรื่องนี้ผิดพลาด คุณจะต้องมานั่งกระทบยอดทุกวันไม่มีเว้น
เซสชันและการควบคุมเงินสดที่ใช้งานได้จริง
เซสชัน Odoo POS คือหน่วยของความรับผิดชอบ ยอดเงินตั้งต้นหนึ่งค่า สตรีมของออเดอร์ และการนับยอดปิดหนึ่งครั้ง การตั้งค่าที่สำคัญที่สุดมีดังนี้
- การนับเงินสดตอนเปิดและปิดกะต้องเป็นข้อบังคับ ไม่ใช่ทางเลือก Odoo อนุญาตให้ข้ามหน้าจอควบคุมการนับเงินสดได้ แต่เราเปิดใช้งานเสมอ พนักงานที่ต้องนับลิ้นชักทั้งตอนเปิดและปิดจะจับยอดขาดได้ในวันเดียวกัน ไม่ใช่หลังจากผ่านไปเป็นสัปดาห์
- หนึ่งเครื่องคิดเงินเท่ากับหนึ่งลิ้นชักเท่ากับหนึ่งเซสชัน อย่าให้พนักงานสองคนใช้ลิ้นชักเดียวกันข้ามเซสชันที่ซ้อนทับกัน ถ้าต้องการสองช่องชำระเงิน ให้ตั้งค่า POS configuration สองชุดที่อิงกับคลังสินค้าเดียวกัน
- กำหนดเพดานส่วนต่างเงินสดสูงสุดและขั้นตอนขออนุมัติจากผู้จัดการ ส่วนต่างเล็กน้อยถือเป็นเรื่องปกติ ส่วนต่างก้อนใหญ่ที่ไม่มีใครรู้ตัวนั้นไม่ปกติ
- ปิดเซสชันภายในวันเดียวกับที่เปิด เซสชันที่ค้างข้ามคืนจะทำให้การกระทบยอดเงินสดและรายงานยุ่งเหยิง และอาจซ่อนจุดที่ความผิดพลาดเกิดขึ้นจริง
- กำหนดให้ชัดว่าใครมีสิทธิ์เปิดเซสชันที่ปิดไปแล้วซ้ำได้ เราจำกัดสิทธิ์นี้ไว้ที่ผู้จัดการร้านหรือฝ่ายบัญชีเท่านั้น ไม่ใช่พนักงานแคชเชียร์คนที่ปิดเซสชันนั้น
ข้อแลกเปลี่ยนที่ต้องยอมรับคือการควบคุมเงินสดที่เข้มงวดจะเพิ่มเวลาอีกหนึ่งถึงสองนาทีในการเปิดและปิดกะ พนักงานมักต่อต้านขั้นตอนนี้ แต่เราบอกลูกค้าค้าปลีกเสมอว่าเรื่องนี้ต่อรองไม่ได้ในเดือนแรกของการใช้งาน นั่นคือช่วงเวลาที่จะรู้ได้ชัดว่าพนักงานตีราคาต่ำกว่าจริงหรือให้ส่วนลดเกินหรือไม่
การพิมพ์ใบเสร็จและใบกำกับภาษี ตั้งค่าครั้งเดียวแต่ต้องตรวจสอบบ่อย
ใบเสร็จ POS ของ Odoo คือเทมเพลตหนึ่ง ในหลายประเทศใบเสร็จธรรมดาไม่ใช่เอกสารเดียวกับใบกำกับภาษี ก่อนขึ้นระบบจริงเราจะยืนยันสามเรื่องนี้บนเครื่องพิมพ์จริง ไม่ใช่แค่ดูตัวอย่างในเบราว์เซอร์
- ข้อมูลนิติบุคคลบนเทมเพลตต้องถูกต้อง ชื่อบริษัท เลขประจำตัวผู้เสียภาษี รหัสสาขา (ถ้ามี) และที่อยู่ ต้องดึงมาจากข้อมูลบริษัทโดยตรง ไม่ใช่พิมพ์มือลงในเทมเพลต
- รายละเอียดภาษีต้องพิมพ์ทั้งต่อรายการและยอดรวม สำหรับภาษีมูลค่าเพิ่มของไทยที่ 7 เปอร์เซ็นต์ ใบเสร็จต้องแสดงยอดรวมที่รวมภาษีแล้วและแยกจำนวนภาษีให้เห็นชัด ลูกค้าและผู้ตรวจสอบส่วนใหญ่คาดหวังจะเห็นทั้งสองค่า
- ตั้งค่า fiscal position และการแม็ปภาษีไว้ที่ POS configuration ไม่ใช่ปล่อยให้ดึงค่าเริ่มต้นจากสินค้า สินค้าชิ้นเดียวกันที่ขายทั้งหน้าร้านและขายให้ลูกค้าส่งออกที่ได้รับยกเว้นภาษีมูลค่าเพิ่ม ต้องถูกคำนวณภาษีที่ถูกต้องโดยอัตโนมัติ ไม่ใช่แก้ไขด้วยมือหน้าเครื่องคิดเงิน
สำหรับใบกำกับภาษีอิเล็กทรอนิกส์เต็มรูปแบบในประเทศไทย ใบเสร็จ POS มักเป็นจุดเริ่มต้นเท่านั้น ไม่ใช่เอกสารฉบับสมบูรณ์ โดยทั่วไปเราจะออกใบกำกับภาษีอิเล็กทรอนิกส์และใบรับอิเล็กทรอนิกส์จากงานดูแลระบบบัญชี Odoo หรือผู้ให้บริการที่เชื่อมต่อไว้ หลังจากออเดอร์ถูกบันทึกแล้ว รูปแบบที่กฎหมายกำหนดมีฟิลด์มากกว่าที่ใบเสร็จกระดาษสำหรับลูกค้าทั่วไปจำเป็นต้องแสดง ถ้าร้านของคุณให้บริการลูกค้าธุรกิจที่ขอใบกำกับภาษีทันทีหน้าเคาน์เตอร์ ควรวางแผนขั้นตอนนี้ก่อนขึ้นระบบจริง ไม่ใช่หลังจากมีข้อร้องเรียนแรกเข้ามา
ข้อจำกัดจริงที่ควรพูดถึงตรง ๆ คือเครื่องพิมพ์ใบเสร็จมีความกว้างกระดาษและชุดคำสั่งที่แตกต่างกันมาก เทมเพลตที่ดูดีบนกระดาษ 80 มิลลิเมตรอาจตัดยอดรวมหายไปบนกระดาษ 58 มิลลิเมตร เราจึงทดสอบเทมเพลตสุดท้ายบนเครื่องพิมพ์รุ่นจริงที่จะนำไปใช้ในร้านเสมอ ไม่ใช่รุ่นทดแทน
รักษาความซื่อตรงของตัวเลขสต็อกหน้าร้าน
นี่คือจุดที่การตั้งค่า Odoo ของร้านค้าปลีกส่วนใหญ่เสียความน่าเชื่อถือไปตามเวลา การขายผ่าน POS ควรตัดสต็อกทันทีที่เกิดการขาย การตั้งค่าบางอย่างคือตัวตัดสินว่าตัวเลขสต็อกนั้นจะยังน่าเชื่อถือหรือไม่
- ร้านค้าแต่ละสาขาควรมีคลังสินค้าเป็นของตัวเอง หรืออย่างน้อยมีจุดเก็บสต็อกแยกของตัวเอง แม้จะอยู่ภายใต้บริษัทเดียวกัน การรวมสองร้านไว้ในจุดเก็บเดียวกันจะทำให้บอกไม่ได้ว่าร้านไหนสต็อกขาดจริง
- ตัดสินใจว่า POS จะอัปเดตสต็อกแบบเรียลไทม์หรือตอนปิดเซสชัน การอัปเดตแบบเรียลไทม์แม่นยำกว่าสำหรับสินค้าขายเร็ว แต่เพิ่มภาระระบบช่วงเครื่องคิดเงินยุ่ง การอัปเดตตอนปิดเซสชันทำงานง่ายกว่า แต่ตัวเลขหน้าร้านกับตัวเลขในระบบจะไม่ตรงกันตลอดช่วงที่เซสชันยังเปิดอยู่ เราเลือกเรียลไทม์เป็นค่าเริ่มต้นสำหรับร้านที่ต้องการให้เห็นสต็อกออนไลน์ เช่น คลิกแล้วมารับสินค้าหรือการซิงก์กับมาร์เก็ตเพลส และเลือกแบบปิดเซสชันสำหรับร้านเครื่องคิดเงินเดียวที่ไม่มีช่องทางออนไลน์
- แยกจุดเก็บสินค้าเสียหาย/คืนออกจากสต็อกที่ขายได้ การคืนสินค้าไม่ควรนำสินค้าชำรุดกลับเข้าสต็อกที่พร้อมขายโดยอัตโนมัติโดยไม่มีใครรู้ตัว
- นับสต็อกจริงตามรอบที่กำหนดไว้แน่นอน ไม่ใช่เฉพาะตอนที่ตัวเลขดูผิดปกติ การนับรอบรายสัปดาห์สำหรับสินค้ามูลค่าสูงหรือกลุ่มเสี่ยงถูกขโมยจะจับยอดสูญหายได้ก่อนที่จะสะสมเป็นก้อนใหญ่ตลอดไตรมาส
- กระทบยอดการเคลื่อนไหวสต็อกจาก POS กับรายงานมูลค่าสต็อกหลังปิดงบประจำเดือนทุกครั้ง เหมือนที่กระทบยอดเงินสด ธุรกิจค้าปลีกที่เชื่อมต่อ Shopee, Lazada หรือ TikTok Shop ควบคู่กับหน้าร้านจริง ยิ่งต้องมีวินัยเรื่องนี้มากขึ้น เพราะ SKU เดียวกันกำลังเคลื่อนผ่านสองช่องทางขายบนตัวเลขสต็อกเดียวกัน
ข้อแลกเปลี่ยนที่ตรงไปตรงมาในเรื่องนี้คือความพยายามแลกกับความแม่นยำ การทำสต็อกแบบเรียลไทม์ แยกจุดเก็บชัดเจน และนับบ่อย ๆ เป็นงานที่มากขึ้นสำหรับทีมงาน เทียบกับการปล่อยให้ค่าเริ่มต้นของ Odoo ทำงานเงียบ ๆ อยู่เบื้องหลัง แต่เราเชื่อว่าคุ้มค่า ตั้งแต่ครั้งแรกที่ความคลาดเคลื่อนของสต็อกใช้เวลาตามรอยเพียงห้านาที แทนที่จะเสียเวลาทั้งวัน
เช็กลิสต์การตั้งค่าสั้น ๆ ก่อนขึ้นระบบจริง
| หัวข้อ | สิ่งที่ต้องตรวจสอบก่อนขึ้นระบบจริง |
|---|---|
| เซสชัน | บังคับนับเงินสดตอนเปิด/ปิด ตั้งเพดานส่วนต่างเงินสดสูงสุด |
| การควบคุมเงินสด | หนึ่งลิ้นชักต่อหนึ่งเซสชัน ต้องขออนุมัติผู้จัดการเพื่อเปิดเซสชันซ้ำ |
| ใบเสร็จ | เลขประจำตัวผู้เสียภาษีและรายละเอียดภาษีมูลค่าเพิ่มพิมพ์ถูกต้องบนเครื่องพิมพ์จริง |
| ใบกำกับภาษี | แม็ป fiscal position ไว้แล้ว ยืนยันขั้นตอนใบกำกับภาษีอิเล็กทรอนิกส์กับฝ่ายบัญชี |
| สต็อก | หนึ่งคลังสินค้าต่อหนึ่งสาขา แยกจุดเก็บสินค้าเสียหายออกจากสต็อกที่ขายได้ |
| การรายงาน | ตั้งตารางกระทบยอดเงินสดและการเคลื่อนไหวสต็อกของ POS หลังปิดงบประจำเดือน |
จุดนี้เชื่อมโยงกับการตั้งค่า Odoo ส่วนอื่นอย่างไร
POS ไม่ได้ทำงานโดดเดี่ยว ขึ้นอยู่กับการตั้งค่าภาษีที่ถูกต้องในแอปบัญชี โครงสร้างคลังสินค้าในแอปคลังสินค้า และบ่อยครั้งต้องมีตัวเชื่อมต่อหากคุณขายผ่านมาร์เก็ตเพลสด้วย เรามองการตั้งค่า Odoo สำหรับค้าปลีกและอีคอมเมิร์ซเป็นขอบเขตงานเดียวที่เชื่อมโยงกัน ไม่ใช่ตั้งค่าเครื่องคิดเงินแยกโดดเดี่ยว งานด้านระบบ ERP ค้าปลีกและอีคอมเมิร์ซของเราครอบคลุมทั้ง POS คลังสินค้าฝั่งหลังบ้าน และการเชื่อมต่อช่องทางขายไปพร้อมกัน เพื่อให้ตัวเลขสต็อกหน้าร้านตรงกับตัวเลขในระบบหลัก สำหรับร้านที่ขายผ่านมาร์เก็ตเพลสอยู่แล้ว บริการเชื่อมต่อ API ของเราและ Shopify Odoo Connector ช่วยให้ SKU เดียวกันนั้นซิงก์ตรงกันในทุกช่องทาง
ถ้าคุณกำลังวางแผนขยาย POS ไปมากกว่าหนึ่งสาขา ให้เริ่มจากโครงสร้างคลังสินค้าและภาษีก่อนที่จะแตะหน้าจอเครื่องคิดเงิน เครื่องคิดเงินเป็นส่วนที่ง่ายที่สุด วินัยเรื่องสต็อกและเงินสดเบื้องหลังต่างหากที่จะตัดสินว่าตัวเลขของคุณยังน่าเชื่อถืออยู่หรือไม่หลังขึ้นระบบจริงไปแล้วสามเดือน



