· case study · 3 min read

ทำไม ERPNext จึงถูกเลือกให้เป็น ERP ตัวใหม่สำหรับ MH

MH ใช้ Odoo มายาวนานแต่ทำไมจึงถูกแทนด้วย ERPNext ในการปรับระบบครั้งสำคัญ

MH ใช้ Odoo มายาวนานแต่ทำไมจึงถูกแทนด้วย ERPNext ในการปรับระบบครั้งสำคัญ

โรงงานทำสมุด MH เป็นหนึ่งในโรงพิมพ์ที่ใหญ่ที่สุดแห่งหนึ่งในประเทศไทย ธุรกิจอายุกว่า 70 ​​ปี ก่อตั้งเมื่อปี พ.ศ. 2494 เป็นผู้ผลิตสมุดที่มีชื่อเสียงโดยเฉพาะสำหรับโรงเรียนทั่วประเทศไทย ปัจจุบันธุรกิจครอบครัวนี้อยู่ภายใต้การบริหารของรุ่นที่ 3 แม้ว่าจะมีกระบวนการแบบเดิมอยู่มากมาย แต่ทีมผู้บริหารก็ได้ปรับปรุงระบบไอทีอย่างต่อเนื่อง และตั้งแต่ 10 ปีที่แล้ว Odoo ERP ก็ถูกนำมาใช้

Ecosoft เป็นบริษัทที่ปรึกษาด้านไอทีที่มุ่งเน้นโซลูชัน ERP แบบโอเพ่นซอร์ส 100% โดยมี Odoo+OCA เป็นแกนหลักมายาวนาน ส่วน ERPNext เป็น ERP ในแบบ Low Code ที่เราภูมิในนำเสนอ

ในฐานะลูกค้ารายแรกของเรา MH และ Ecosoft มีความสัมพันธ์ที่พิเศษ เราเป็นพันธมิตรที่จะรับฟังข้อเสนอแนะซึ่งกันและกันเพื่อให้ได้สิ่งที่ดีที่สุด Ecosoft นำ ERP แรกไปใช้เมื่อ 10 ปีที่แล้วด้วย Odoo 7 ทีมผู้บริหารรู้สึกตื่นเต้นมากที่จะมีการดำเนินธุรกิจทางออนไลน์อย่างแท้จริง

การวางระบบและการใช้งานประสบความสำเร็จด้วยดี มีการออกใบแจ้งหนี้เกือบ 40,000 ใบต่อปี และนี่ก็เป็นหน้าตาของระบบ Odoo 7 ของ MH

ผู้ใช้ชอบมัน นักพัฒนาก็ชอบมัน Odoo เป็นเฟรมเวิร์กที่ทันสมัยและปรับแต่งได้ง่าย แล้วมีปัญหาอะไรถึงต้องเปลี่ยนระบบ?

แต่ธุรกิจไม่เคยหยุดนิ่ง และระบบ ERP ก็ต้องการปรับตัว เมื่อเวลาผ่านไปเกือบ 10 ปีโดยไม่มีการอัปเกรด ซอฟต์แวร์ที่ครั้งหนึ่งเคยทันสมัยก็ไม่ทันสมัยอีกต่อไป อีกไม่นานระบบจะต้องได้รับการปรับครั้งสำคัญ แต่ด้วยระบบ Odoo ที่เราดูแลมาเกือบสิบปีก็มีจุดที่ต้องคิดหนักหลายประการ

ความท้าทาย

ความท้าทายของ MH ไม่ได้เกี่ยวกับกระบวนการทางธุรกิจเพิ่มเติม เพราะในท้ายที่สุด Ecosoft รู้ว่าเราสามารถทำระบบที่ใช้งานได้กับ ERP ใดๆที่เราเลือกได้ ความท้าทายที่เราสนใจอยู่หลังจากนั้น การบำรุงรักษาระยะยาว และการแก้ปัญหาในแต่ละวันที่ต้องง่ายกว่าเดิม

เราจะคุยกันถึงจุดเสี่ยง 3 ข้อที่อาจทำให้อายุของระบบไม่ยืนยาวอย่างที่ต้องการและเป็นเหตุผลที่ MH ต้องตัดสินใจ

1) การไม่สามารถอัปเกรดเป็นเวอร์ล่าสุดได้

เนื่องจาก MH ใช้ Odoo เวอร์ชั่น Community Edition จึงง่ายที่จะอัปเกรด โดย upgrade script มีเฉพาะใน Odoo Enterprise Edition ซึ่งอาจมีค่าใช้จ่ายสูงเกินไป แถมยังมีอัปเกรดได้เฉพาะกับโมดูลหลักๆเท่านั้น (ไม่ใช่โมดูลที่เราเขียนเอง)

แม้ว่า OCA จะมีโปรเจ็กต์ชื่อ OpenUpgrade ที่สามารถใช้งานกับ Community Edition ปัญหาใหญ่กว่านั้นอยู่ที่สถาปัตยกรรมซอฟต์แวร์ของ Odoo เอง เพราะลักษณะการเขียนโมดูลของ Odoo นั้นมีลักษณะที่พันเกี่ยวกับส่วนอื่นๆมาก และเกือบจะเป็นไปไม่ได้ที่โมดูลที่คุณพัฒนาขึ้นมาเองในเวอร์ชั่นเก่าจะเข้ากันได้กับ Odoo เวอร์ชันใหม่ๆ

OpenUpgrade เป็นการทำงานร่วมกันจากสมาชิกในชุมชนทั่วโลกเพื่ออัพเดทเฉพาะโมดูลของ OCA ข้ามเวอร์ชันต่างๆ แต่เมื่อพูดถึงโมดูลที่คุณทำเอง คุณก็สร้าง upgrade script เองอยู่ดี

สำหรับ MH ที่มีการสร้างโมดูลเพื่อปรับแต่งระบบจำนวนมาก การอัปเกรด Odoo 7 เป็น Odoo 16 จึงแทบเป็นไปไม่ได้ (ทำใหม่ง่ายกว่า)

2) การดูแลรักษาระบบในระยะยาวนั้นยุ่งยาก

ขอย้ำอีกครั้งว่า ผมไม่มีปัญหากับสภาพแวดล้อมการพัฒนาของ Odoo ที่จริงแล้วผมชอบมันมาก! ในฐานะโปรแกรมเมอร์ ผมยังไม่เห็นเฟรมเวิร์กอื่นใดที่ใกล้เคียงกับการพัฒนาโมดูลใหม่ที่สามารถเข้าไปแทรกกระบวนการทางธุรกิจที่มีอยู่ ติดตั้ง อัปเดต และถอนการติดตั้งได้อย่างน่าอัศจรรย์โดยไม่ต้องกังวลอย่าง Odoo

ปัญหาคือ ด้วยการเปลี่ยนแปลงฟีเจอร์เพียงเล็กน้อยก็ต้องให้โปรแกรมเมอร์เป็นคนดำเนินการ

  1. เซตอัพระบบแบบเดียวกับ production ที่ localhost
  2. แก้ไขและทดสอบบน localhost
  3. ส่งโค้ดไปที่ GitHub
  4. SSH login ไปที่ server และ deploy

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

แต่เมื่อเวลาหลายปีผ่านไป การแก้ไขเล็กๆน้อยๆในแบบฟอร์มอาจต้องใช้เวลาหลายชั่วโมงในการทำ ตั้งแต่เซตอัพระบบถึง deployment ลองนึกภาพว่าถ้าระบบ (OS, Libraries, Odoo ฯลฯ) ไม่ได้รับการอัปเดตเป็นเวลาอีก 10 ปี มันอาจเป็นไปไม่ได้เลยแม้แค่จะตั้งค่าระบบให้ถูกต้องบน localhost และเริ่มทำงานได้

3) การจัดการบนคลาวด์แบบเต็มรูปแบบ (managed cloud hosting) ของ Odoo มีค่าใช้จ่ายสูงเกินไป (และต้องใช้ Odoo Enterprise เท่านั้น)

ประเด็นนี้ยังเกี่ยวกับการปรับปรุงโครงสร้างพื้นฐานให้ทันสมัยและความสะดวกในการบำรุงรักษาในระยะยาว ในอดีต โฮสติ้งคลาวด์ที่ได้รับการจัดการสำหรับ ERP ยังไม่พร้อม MH จึงไม่มีทางเลือกนอกจากต้องดูแล Hardware ทั้งหมดเอง โปรแกรมเมอร์เชื่อมต่อผ่าน SSH เมื่อต้องการปรับแต่งระบบ

แต่ในปัจจุบันมีทางเลือกที่ดีกว่าอย่าง Odoo.sh และ Frappe Cloud เป็นตัวเลือกที่ยอดเยี่ยมในการจัดการระบบ Production ของคุณอย่างปลอดภัยบนคลาวด์ พร้อมเครื่องมือที่ช่วยให้ชีวิตของนักพัฒนาง่ายขึ้นในขณะดูแลระบบ

สมมุติว่าเรายอมใช้ Odoo EE บน Odoo.sh ด้วยข้อมูลจำเพาะขั้นต่ำที่เป็นไปได้ (1 CPU, 25 GB) + สิทธิ์การใช้งานผู้ใช้ (ที่ผู้ใช้ 20 ราย) อาจทำให้ MH มีค่าใช้จ่ายถึง 21,652.52 บาทต่อเดือน หรือ 259,830.24 บาทต่อปี ซึ่งเป้นค่าใช้จ่ายที่มากกว่าการซื้อเซิร์ฟเวอร์สเป็คระดับไฮเอนด์ใหม่ทุกปีด้วยซ้ำ

ERPNext ในฐานะตัวเลือกที่เหมาะสม

ต้องขอบคุณทั้ง MH ที่ให้ Ecosoft ช่วยปรับปรุงระบบอีกครั้ง และขอบคุณ ERPNext ที่มาถูกที่ถูกเวลา

จากประเด็นดังกล่าว MH และ Ecosoft ต้องตัดสินร่วมกันใจว่าจะทำระบบ Odoo 16 CE ใหม่หรือเปลี่ยนเป็น ERPNext ไปเลยดี จากการรวบรวมข้อดีและข้อเสีย เราสรุปว่าหากใช้ Odoo 16 CE ปัญหาก็ยังอยู่ ดังนั้นเราจึงตัดสินใจที่จะลองเปลี่ยนเป็น ERPNext แทน

เดี๋ยวเราจะมาลงรายละเอียดเพิ่มเติมว่า ERPNext ช่วยแก้ปัญหาต่างๆอย่างไร ก่อนอื่นผมขอแสดงรูปแบบใหม่ ERPNext ของ MH ให้ดูพอสังเขป

1) อัปเกรดได้ง่ายขึ้นแม้กับโมดูลที่สร้างเอง

Frappe Framework (ERPNext เป็นหนึ่งในโมดูลใหญ่) มีลักษณะโครงสร้างระบบแบบเนื้อเดียว (monolith) ไม่ได้มีลักษณะเป็นโมดูลย่อยๆ (modular) มารวมกันแบบ Odoo ด้วยเหตุนี้ จึงไม่มีปัญหาเรื่องการพันเกี่ยวกันระหว่างโมดูลต่างๆแบบที่เราพบใน Odoo

การเขียนโมดูลแทรกการทำงานต่างๆ สามารถทำได้ผ่าน Event ต่างของ DocType ที่กำหนดไว้ล่วงหน้า (เช่น before insert, after insert, before save, after save ฯลฯ…) เมื่อเปรียบเทียบกับ Odoo แล้วเทคนิคการสร้างโมดูลใหม่ๆใน ERPNext จะเป็นแบบหลวมๆ ทั้งนี้เพื่อแลกกับกระบวนการอัปเกรดที่ง่ายกว่า Odoo เป็นอย่างมาก โมดูลที่เราสร้างใหม่มักไม่ต้องการการเปลี่ยนแปลงใดๆเมื่อต้องใช้ใน ERPNext เวอร์ชันล่าสุด

ผมคงไม่สามารถลงรายละเอียดได้มากนักที่นี่ แต่หวังว่าพอเห็นภาพรวมๆว่าการอัปเกรด ERPNext ทำได้ง่ายดายโดยการ

  1. Pull code
  2. Run command > bench migrate

2) การบำรุงรักษาระยะยาวที่ง่ายขึ้นด้วยเครื่องมือแบบ Low Code

ก่อนหน้านี้ผมได้กล่าวไว้แล้วว่าการแก้ไขเล็กน้อยในแบบฟอร์มด้วย Odoo นั้นน่ารำคาญและใช้เวลานานเพียงใด ใน ERPNext หลังจากที่ระบบใช้งานได้แล้ว งานบำรุงรักษาส่วนใหญ่สามารถทำได้อย่างง่ายดายด้วยเครื่องมือที่ใช้ Low Code

เช่น การแก้ไขแบบฟอร์มด้วยเครื่องมือ Print Designer

การปรับแต่งหน้าจอและข้อมูลด้วยการ Customize Form

สร้างหรือแก้ไข Report / Dashboard

การเพิ่มลอจิกการทำงานด้วย Server / Client Scripts

และอีกมากมาย!

ตอนนี้ MH ใช้เครื่องมือเหล่านี้ ไม่เพียงแต่เพื่อแก้ไขสิ่งที่มีอยู่เท่านั้น แต่ยังปรับปรุงกระบวนการทางธุรกิจอื่นๆตามหน้างานจริงไปด้วย แน่นอนว่า มีหลายครั้งที่จำเป็นต้องมีการเขียนโค้ดที่ซับซ้อนกว่านี้ และจะต้องใช้วิธีการปรับใช้แบบคลาสสิก แต่ผมพบว่า 80% ของเวลาทั้งหมดสามารถทำได้โดยใช้เครื่องมือ Low Code ของ ERPNext

ใน Odoo ฟีเจอร์ Low Code เหล่านี้มีให้ใช้งานในแอป Studio (Odoo EE เท่านั้น) ซึ่งอย่างที่เราได้พิจรณากันแล้วว่ามีค่าใช้จ่ายที่สูงเกินไป

3) Frappe Cloud ที่มีการจัดการเต็มรูปแบบ

ในที่สุด MH ก็สามารถย้ายทุกอย่างไปยังระบบคลาวด์ที่ทันสมัยได้ โดย Frappe Cloud สามารถทำทุกอย่างที่ Odoo.sh ทำได้ด้วยราคาที่ถูกกว่ามาก

ด้วยขนาด server ที่ใกล้เคียงกันแต่ไม่มีจำกัดผู้ใช้งาน MH จะมีค่าใช้จ่ายเพียง 892.55 บาทต่อเดือนหรือ 10,710.6 บาทต่อปี (Odoo.sh อยู่ที่ 259,830.24 บาทต่อปี)

ในอดีตปัญหาของเซิร์ฟเวอร์ต้องอาศัยเจ้าหน้าที่ไอทีในการจัดการ แต่ด้วย Frappe Cloud ทำให้ MH ERP หมดกังวล และด้วย support tickets แบบไม่จำกัดจากทีม Frappe Helpdesk

และตอนนี้ อัปเดตเป็นเวอร์ชันล่าสุดสำหรับ MH ERP ได้ในคลิกเดียว หมดปัญหา!

บทสรุป

ในขณะที่เขียนบทความนี้ระบบที่เราเรียกันว่า MH ERP 2.0 ใช้งานได้มาเกือบหนึ่งปีแล้ว ในตอนแรกเป็นการตัดสินใจที่ยากในการเปลี่ยนระบบ ERP โดยเฉพาะอย่างยิ่งเมื่อ Odoo คือสิ่งที่เรา (Ecosoft) มีประสบการณ์มากกว่ามาก ผมให้คำจำกัดความ ERPNext ว่าเป็นซอฟต์แวร์ที่สร้างขึ้นสำหรับผู้ใช้งาน ในขณะที่ Odoo เป็นของนักพัฒนา มีหลายสิ่งที่ผู้ใช้สามารถทำได้เองโดยไม่ต้องอาศัยนักพัฒนา และยังสามารถอัปเกรดได้ตลอด ซึ่งมีความสำคัญกับการใช้งานในระยะยาว รวมทั้ง Frappe Cloud ก็ให้บริการเป็นอย่างดีแม้จะมีปัญหาเกิดขึ้นบ้างระหว่างทางแต่ปัญหาทั้งหมดได้รับการตอบกลับอย่างรวดเร็วโดยทีมงานของ Frappe Technologies

สิ่งต่างๆดูจะดีขึ้นเรื่อยๆด้วย Frappe / ERPNext

โดย Kitti U.

Share:
Back to Blog