ตั้ง Automated Actions ใน Odoo ERP: ระบบอัตโนมัติแบบไม่ต้องเขียนโค้ดสำหรับ SME ไทย
Automated Actions ใน Odoo คือกลไกที่ช่วยให้ SME ไทยสร้างระบบอัตโนมัติได้โดยไม่ต้องจ้างนักพัฒนา ตั้งแต่การส่งอีเมลติดตามลูกหนี้ไปจนถึงการสร้างใบสั่งซื้ออัตโนมัติเมื่อสต็อกต่ำ ทั้งหมดตั้งค่าผ่าน UI แบบ IF-THEN ใน Odoo Settings ได้เลย บทความนี้อธิบายว่ามันทำงานอย่างไร Use Case ไหนที่ใช้บ่อยในธุรกิจไทย และตั้งค่าอย่างไรให้ถูกต้องตั้งแต่ครั้งแรก
Automated Actions ใน Odoo คืออะไร
Automated Actions คือ trigger-based rules ที่ทำงานอัตโนมัติเมื่อเงื่อนไขที่กำหนดไว้ตรงกับสถานะในฐานข้อมูล Odoo รูปแบบพื้นฐานคือ:
IF [เหตุการณ์ที่กำหนด] AND [เงื่อนไขของ record] → THEN [action ที่ต้องการ]
ตัวอย่างที่เข้าใจง่าย:
- IF Invoice ค้างชำระครบ 3 วัน AND ยอดค้างมากกว่า 0 → THEN ส่งอีเมลเตือนลูกค้า
- IF Sale Order ถูกยืนยัน AND ลูกค้าเป็น VIP → THEN สร้าง Task มอบหมายให้ Account Manager โทรติดตาม
- IF สต็อกสินค้าต่ำกว่า Min Qty AND สินค้ามีซัพพลายเออร์ประจำ → THEN สร้าง Purchase Order ทันที
กฎเหล่านี้ตั้งค่าได้ใน Odoo Settings > Technical > Automation > Automated Actions โดยไม่ต้องเขียนโค้ดสำหรับ Use Case ทั่วไป มีเพียง logic ขั้นสูงพิเศษที่ต้องใช้ Python เพิ่มเติม
ทำไม SME ไทยถึงต้องการระบบนี้
ธุรกิจ SME ไทยส่วนใหญ่ยังใช้ "คนแทน Process" — มีพนักงานคอยเช็คและส่งอีเมลติดตามด้วยตัวเอง สร้าง PO เมื่อนึกขึ้นมาได้ และรายงานผู้จัดการผ่านการโทรหรือ LINE ส่วนตัว วิธีนี้ทำงานได้ แต่มีต้นทุนที่มองไม่เห็น:
- งานซ้ำซากกินเวลาทีมที่ควรไปทำงานมูลค่าสูงกว่า
- ข้อมูลสะดุดเมื่อคนลาหรือลาออก
- Process ที่อิงคนทำให้ scale ยาก
Automated Actions แก้ปัญหาเหล่านี้โดยฝัง process ไว้ในระบบ ไม่ใช่ในหัวคน ทีมได้รับการแจ้งเตือนโดยอัตโนมัติ ไม่ต้องจำ ไม่ต้องเช็ค และไม่ขึ้นกับว่าวันนี้ใครมาทำงาน
ประโยชน์ที่จับต้องได้
เมื่อใช้ Automated Actions อย่างถูกจุด ผลที่เห็นได้ชัดในทีมส่วนใหญ่คือ:
- ลดงาน manual ซ้ำซาก อีเมลติดตาม การเปลี่ยนสถานะ และการสร้างเอกสารเกิดขึ้นเองโดยไม่ต้องมีคนกด
- ลดการ slip งาน Task และการแจ้งเตือนเกิดขึ้น ทันทีที่ เงื่อนไขตรง ไม่ใช่เมื่อมีคนนึกขึ้นมาได้
- Process ที่สม่ำเสมอ ทุก record ผ่าน process เดียวกันไม่ว่าจะเป็นใครที่จัดการ
- Scale ได้โดยไม่ต้องเพิ่มคน เมื่อยอด order เพิ่มขึ้น 3 เท่า Automated Actions ยังทำงานได้เท่าเดิมโดยไม่มีต้นทุนเพิ่ม
หมายเหตุ: ผลที่ได้จริงขึ้นกับ process เดิมและปริมาณงานของแต่ละองค์กร ประเมินจากบริบทของคุณก่อนนำไปใช้
Use Case จริงสำหรับ SME ไทย
การเงินและบัญชี
ติดตามลูกหนี้อัตโนมัติ — ตั้ง Time Condition trigger บน Invoice ที่มีสถานะ payment_state = not_paid และวันครบกำหนดผ่านมาแล้ว 3 วัน ให้ส่ง email template "เตือนชำระเงิน" ไปยังอีเมลลูกค้าอัตโนมัติ ลดงาน follow-up ด้วยมือในทีมบัญชีได้มาก
แจ้ง CFO เมื่อ invoice มูลค่าสูง — ตั้ง Record Created trigger บน Invoice ที่ amount_total > 500000 ให้สร้าง Activity มอบหมายให้ CFO review ก่อนออกเอกสาร
งานขายและ CRM
อัปเดต Stage อัตโนมัติ — เมื่อ Sale Order ถูก Confirm ให้เปลี่ยน CRM Opportunity ที่เชื่อมกันไปเป็น Stage "Won" โดยไม่ต้องให้ฝ่ายขายกลับมาอัปเดต CRM เอง
แจ้ง Account Manager ลูกค้าใหม่ — เมื่อ Quotation แรกของลูกค้าใหม่ถูกสร้าง ให้สร้าง Activity และมอบหมายให้ Account Manager โทรแนะนำตัวภายใน 1 วันทำการ
คลังสินค้าและการซื้อ
Reorder อัตโนมัติ — ตั้ง Time Condition รันทุกวันเวลา 08.00 น. บน Stock Quant ที่ qty_on_hand < product.reorder_point ให้สร้าง Purchase Order ไปยังซัพพลายเออร์ประจำโดยอัตโนมัติ
แจ้งทีมจัดส่งเมื่อ Order พร้อมส่ง — เมื่อ Delivery Order สถานะเปลี่ยนเป็น Ready ให้ส่ง internal notification ไปยังทีมจัดส่งและสร้าง Task ระบุวันนัดส่ง
HR และทีมงาน
เตือนวันหมดอายุเอกสาร — ตั้ง Time Condition บน Employee ที่ visa_expire_date เหลือ 60 วัน ให้ส่งแจ้งเตือน HR เพื่อดำเนินการต่ออายุทันเวลา
วิธีตั้ง Automated Actions ใน Odoo ทีละขั้น
1. เปิด Developer Mode และไปที่ Automated Actions
เพิ่ม ?debug=1 ใน URL Odoo หรือไปที่ Settings > General Settings > Developer Tools แล้วกด "Activate the developer mode" จากนั้นเมนู Technical > Automation > Automated Actions จะปรากฏใน Settings
2. สร้าง Action ใหม่และเลือก Model
กด New ตั้งชื่อที่สื่อความหมาย เช่น ส่งอีเมลเมื่อ Invoice ค้างชำระ 3 วัน แล้วเลือก Model ที่ต้องการ เช่น account.move สำหรับใบแจ้งหนี้ หรือ sale.order สำหรับ Sale Order
3. เลือก Trigger ให้ตรงกับ Use Case
| Trigger | ใช้เมื่อ | |---|---| | Record Created | ต้องการทำอะไรทันทีที่ record ใหม่ถูกสร้าง | | Record Updated | ต้องการตรวจจับว่า field ไหน field หนึ่งเปลี่ยนค่า | | Record Deleted | ต้องการ log หรือแจ้งเตือนเมื่อ record ถูกลบ | | Time Condition | ต้องการรันตามเวลา เช่น ทุกวันหรือหลังจากวันที่ใน field ผ่านไป N วัน |
สำหรับ Time Condition ให้กำหนดว่าจะ trigger กี่วันก่อนหรือหลังจาก date field ใด เช่น "3 วันหลังจาก invoice_date_due"
4. ตั้ง Domain Filter
Domain Filter คือ filter ที่จำกัด record ที่ action จะทำงาน ตัวอย่างเช่น:
[('payment_state', '=', 'not_paid'), ('move_type', '=', 'out_invoice')]
กำหนด filter ให้เฉพาะเจาะจงเสมอ — action ที่ไม่มี filter จะทำงานกับ record ทุกตัวใน model ซึ่งอาจส่ง email ไปหลายพันคนในครั้งเดียว
5. เลือก Action ที่ต้องการ
Send Email — เลือก Email Template ที่สร้างไว้ใน Technical > Email > Templates ก่อน จากนั้นเลือก template นั้น Odoo จะ render template ด้วยข้อมูลจาก record และส่งอัตโนมัติ
Update a Record — เลือก field ที่ต้องการเปลี่ยนและค่าใหม่ เช่น เปลี่ยน priority เป็น 2 (High) หรือ kanban_state เป็น blocked
Create Activity — กำหนดประเภท activity, หัวข้อ, กำหนดส่ง, และผู้รับผิดชอบ ทีมงานจะเห็น activity นี้ใน inbox และ kanban view
Execute Code (Python) — สำหรับ logic ขั้นสูงที่ UI ปกติไม่รองรับ เช่น คำนวณค่าจาก field หลายตัวหรือเรียก external API เขียน Python ใน field Code โดย records คือ recordset ที่ตรงเงื่อนไข
6. ทดสอบก่อน Activate
กดปุ่ม Run Manually แล้วเลือก record ตัวอย่างเพื่อทดสอบ ตรวจสอบว่า:
- Email ส่งไปยัง address ที่ถูกต้อง
- Field เปลี่ยนค่าตามที่ตั้งไว้
- Activity สร้างให้คนที่ถูกต้อง
เมื่อมั่นใจแล้วจึงกด Active เพื่อเปิดใช้งาน
สิ่งที่ควรระวังก่อนเริ่ม
Domain Filter ต้องไม่กว้างเกินไป — action ที่ไม่มี filter หรือ filter กว้างมากอาจส่งอีเมลซ้ำหรือเปลี่ยนข้อมูลผิดจำนวนมากในครั้งเดียว ทดสอบ domain ใน List View ก่อนโดยใช้ Filters > Custom Filter ด้วย condition เดียวกัน
Time Condition รันตาม Scheduled Job ของ Odoo — ค่าเริ่มต้น Odoo จะรัน scheduled job ทุก 1 ชั่วโมง ถ้าต้องการความถี่สูงกว่านี้ต้องปรับ ir.config_parameter หรือคุย partner ที่ดูแลระบบ
Email Template ต้องพร้อมก่อน — สร้าง template ใน Technical > Email > Templates ให้เสร็จก่อนสร้าง Automated Action เพราะ field "Send Email" ต้องเลือก template ที่มีอยู่แล้ว
Log การทำงาน — ตรวจสอบ Technical > Logging > Automation Logs เพื่อดูว่า action ทำงานเมื่อไหร่และเกิด error ไหม โดยเฉพาะในช่วงแรกที่เพิ่ง activate
สรุปและก้าวถัดไป
Automated Actions คือหนึ่งในฟีเจอร์ที่คุ้มค่าที่สุดใน Odoo สำหรับ SME ไทย เพราะใช้ resource ที่มีอยู่แล้วในระบบโดยไม่ต้องจ่ายเพิ่ม จุดเริ่มต้นที่ดีคือเลือก process ที่ทีมทำซ้ำบ่อยที่สุด เช่น การส่งอีเมลติดตามหรือการอัปเดตสถานะ มาตั้งเป็น action ตัวแรก ทดสอบให้ผ่านก่อน แล้วค่อยขยายไปยัง Use Case ถัดไป
ถ้า process ที่ต้องการซับซ้อนกว่าที่ UI Odoo จะรองรับได้ เช่น ต้องดึงข้อมูลจากระบบภายนอกหรือเชื่อมต่อ LINE/Slack การผสม Automated Actions กับ n8n หรือ Webhook ก็เป็นแนวทางที่ทีมในไทยใช้งานกันมากขึ้นในปี 2026
คำถามที่พบบ่อย
Automated Actions ใน Odoo ต่างจาก n8n หรือ Zapier อย่างไร
Automated Actions ทำงานภายใน Odoo โดยตรงโดยไม่ผ่าน API ภายนอก เหมาะกับการ trigger จาก event ในฐานข้อมูล Odoo เช่น เปลี่ยนสถานะ record หรือส่งอีเมลจาก template ส่วน n8n/Zapier เหมาะกับการเชื่อมต่อหลายแอปข้ามระบบ ทั้งสองแนวทางใช้ร่วมกันได้และไม่ขัดแย้งกัน
ต้องมีสิทธิ์อะไรใน Odoo ถึงตั้ง Automated Actions ได้
ต้องเป็น Technical Administrator หรือมีสิทธิ์ Technical > Automation ใน Settings และต้องเปิด Developer Mode (debug=1) ก่อนเมนูถึงจะแสดง ผู้ใช้ทั่วไปมองไม่เห็นเมนูนี้ ควรมอบหมายให้ผู้ดูแลระบบเป็นผู้ตั้งค่าและทดสอบก่อน activate จริง
Automated Actions รองรับ Odoo version ใดบ้าง
รองรับตั้งแต่ Odoo 14 ขึ้นไป โดย Odoo 16–17 ปรับ UI ให้ใช้งานง่ายขึ้นมากและเพิ่ม Time Condition trigger ที่ยืดหยุ่นกว่าเดิม รวมถึง Execute Code (Python) สำหรับ logic ที่ซับซ้อนเกิน UI ปกติจะรองรับได้
Automated Actions จะกระทบประสิทธิภาพระบบไหม
Trigger ประเภท Time Condition รันเป็น scheduled job ไม่กระทบ response time ของ UI ส่วน Record Updated/Created trigger รันทันทีเมื่อมีการเปลี่ยนแปลง ควรตั้ง Domain filter ให้เฉพาะเจาะจงเพื่อลดจำนวน record ที่ trigger ทำงานโดยไม่จำเป็น