Lab 1 · ทฤษฎีที่เกี่ยวข้อง: บทที่ 1

ติดตั้ง Odoo ด้วยตัวเอง

วิชานี้สอนภาคทฤษฎีโดยอ้างอิง SAP แต่ Lab ทั้งหมดใช้ Odoo เพราะเป็น ERP แบบ open-source ที่ติดตั้งเองได้ฟรี — บทนี้พาไปติดตั้ง Odoo Community ด้วย Docker บนเครื่องของตัวเอง แล้วสำรวจโครงสร้างแอปเบื้องต้น

🎯
เป้าหมาย: ติดตั้ง Odoo ให้รันได้บนเครื่องตัวเอง เข้าใจโครงสร้าง Community vs Enterprise และเปิดแอปที่จำเป็นสำหรับ Lab ถัดไปทั้งหมด

1ทำความรู้จัก Odoo ก่อนติดตั้ง

Odoo คือซอฟต์แวร์บริหารธุรกิจครบวงจร (CRM, ขาย, จัดซื้อ, การผลิต, คลังสินค้า, บัญชี, HR ฯลฯ) รุ่น Community เป็น libre software ภายใต้ GNU LGPLv3 ใช้ฟรีไม่จำกัด ส่วนรุ่น Enterprise เพิ่มฟีเจอร์ขั้นสูง (เช่น Studio, Advanced Reporting, Barcode app เต็มรูปแบบ) และต้องเสียค่าบริการรายผู้ใช้ — สำหรับ Lab ทั้งหมดในวิชานี้ รุ่น Community เพียงพอ

ข้อควรระวังเรื่องเวอร์ชัน
Odoo ออกเวอร์ชันใหม่ทุกปี (เช่น 17.0, 18.0, ...) โครงสร้างเมนูและตำแหน่งปุ่มอาจต่างกันเล็กน้อยระหว่างเวอร์ชัน คำแนะนำในเอกสารนี้อ้างอิงโครงสร้างทั่วไปที่คงที่มาหลายเวอร์ชัน (Sales/Purchase/Inventory/Manufacturing/Accounting apps) หากใช้เวอร์ชันใหม่กว่านี้ ให้ใช้ช่องค้นหา (🔍) ในแต่ละแอปเพื่อหาฟีเจอร์ที่ตำแหน่งอาจย้ายไป

2ติดตั้งด้วย Docker (แนะนำ)

วิธีที่ง่ายและสะอาดที่สุดคือใช้ Docker Compose รัน Odoo คู่กับ PostgreSQL (ฐานข้อมูลที่ Odoo ต้องใช้) พร้อมกัน — ต้องติดตั้ง Docker Desktop ก่อน

ขั้นที่ 1: สร้างไฟล์ docker-compose.yml
version: "3"
services:
  db:
    image: postgres:15
    environment:
      POSTGRES_DB: postgres
      POSTGRES_USER: odoo
      POSTGRES_PASSWORD: odoo
    volumes:
      - odoo-db-data:/var/lib/postgresql/data

  odoo:
    image: odoo:17.0
    depends_on:
      - db
    ports:
      - "8069:8069"
    environment:
      HOST: db
      USER: odoo
      PASSWORD: odoo
    volumes:
      - odoo-web-data:/var/lib/odoo

volumes:
  odoo-web-data:
  odoo-db-data:
ขั้นที่ 2: รันคำสั่ง
docker compose up -d

รอสัก 1-2 นาทีให้ Odoo initialize ฐานข้อมูลครั้งแรก แล้วเปิดเบราว์เซอร์ไปที่ http://localhost:8069

ขั้นที่ 3: สร้างฐานข้อมูลแรก

หน้าจอจะให้ตั้งชื่อฐานข้อมูล (เช่น erp_lab), อีเมล/รหัสผ่านผู้ดูแลระบบ, ภาษา, ประเทศ (เลือก "Thailand" เพื่อได้ Chart of Accounts ภาษาไทยมาให้ในบทที่ 6) และเลือกติ๊ก "Load demonstration data" — แนะนำให้ติ๊กไว้ เพราะจะได้สินค้า ลูกค้า และข้อมูลตัวอย่างมาช่วยในการฝึกตั้งแต่ต้น

ทางเลือกอื่นถ้าไม่สะดวกใช้ Docker

Odoo Online (ฟรี 15 วัน)
สมัครที่ odoo.com เลือก "Start now" — ได้ instance บนคลาวด์ทันที ไม่ต้องติดตั้งอะไร เหมาะกับการทดลองเร็ว ๆ แต่ข้อมูลจะหายเมื่อหมดช่วงทดลอง
ติดตั้งบน Ubuntu โดยตรง
ใช้ apt ติดตั้ง PostgreSQL แล้ว clone Odoo จาก GitHub รันด้วย Python virtualenv — ซับซ้อนกว่า Docker แต่ปรับแต่ง/debug ได้ละเอียดกว่า เหมาะกับผู้ที่ต้องการพัฒนาโมดูลเสริมในอนาคต

3ติดตั้งแอปที่จำเป็นสำหรับ Lab ทั้งหมด

หลัง login เข้าสู่ Odoo ครั้งแรก จะเห็นหน้า Apps — ค้นหาและกด "Install" สำหรับแอปต่อไปนี้ (เรียงตามลำดับที่ Lab ถัดไปจะใช้):

แอป Odooผูกกับบทเรียนเทียบเท่าโมดูล SAP
Salesบทที่ 3a/3b — FulfillmentSD (Sales & Distribution)
Purchaseบทที่ 4a/4b — ProcurementMM (Materials Management) — ฝั่งจัดซื้อ
Inventoryบทที่ 7 — Inventory & Warehouse (และรองรับทุกบท)MM/WM (Warehouse Management)
Manufacturingบทที่ 5a/5b — ProductionPP (Production Planning)
Accountingบทที่ 6a/6b — FI/COFI/CO (Financial/Controlling)
ลำดับการติดตั้งมีผล
เมื่อติดตั้ง "Manufacturing" ระบบจะติดตั้ง "Inventory" ให้อัตโนมัติ (เพราะพึ่งพากัน) เช่นเดียวกับ "Sales" และ "Purchase" ที่ดึง "Inventory" มาด้วย — ถ้าติดตั้ง Manufacturing ก่อน แอปอื่นที่พึ่งพา Inventory จะติดตั้งเร็วขึ้นเพราะไม่ต้องโหลดซ้ำ ไม่ต้องกังวลเรื่องลำดับมากนัก แค่ติดตั้งให้ครบทั้งห้าแอปก็พอ

4สำรวจโครงสร้างหน้าจอ Odoo

Kanban View
มุมมองเริ่มต้นของหลายแอป แสดงเป็นการ์ดจัดกลุ่มตามสถานะ (เช่น Quotation → Sales Order → Done) ลากการ์ดข้ามคอลัมน์เพื่อเปลี่ยนสถานะได้
List View
ตารางแบบ spreadsheet เหมาะกับดูข้อมูลจำนวนมากพร้อมกันหรือแก้ไขหลายแถวรวดเดียว
Form View
หน้าจอรายละเอียดของ record หนึ่งรายการ (เช่น Sales Order หนึ่งใบ) — มีปุ่มสถานะ (status bar) ด้านบนแสดง workflow เช่น Quotation → Sales Order → Done เทียบได้กับสถานะ production order ในบทที่ 5b

สังเกตว่าโครงสร้างเมนูของ Odoo แบนราบกว่า SAP มาก — ไม่มีแนวคิด transaction code (T-code) แบบ SAP GUI ทุกอย่างเข้าถึงผ่านเมนูและปุ่มในหน้าเว็บโดยตรง นี่คือความต่างเชิงปรัชญาการออกแบบที่สำคัญ: SAP ออกแบบมาสำหรับผู้ใช้ที่ผ่านการฝึกอบรมเฉพาะทาง (power user) ส่วน Odoo ออกแบบให้ผู้ใช้ทั่วไปเรียนรู้ได้เองโดยไม่ต้องมีคู่มือ T-code

เช็คลิสต์ก่อนไป Lab 2
  • Odoo รันได้ที่ localhost:8069 (หรือ Odoo Online) และ login เข้าได้
  • สร้างฐานข้อมูลพร้อม demo data แล้ว
  • ติดตั้งครบทั้ง 5 แอป: Sales, Purchase, Inventory, Manufacturing, Accounting
  • ลองสลับดู Kanban/List/Form view ในแอป Sales อย่างน้อยหนึ่งรอบ