top of page
ค้นหา

Hybrid ERP ตอน 3: ปัญหาของคำว่า "ยอดคงเหลือ"

  • รูปภาพนักเขียน: Sathit Jittanupat
    Sathit Jittanupat
  • 3 ม.ค.
  • ยาว 1 นาที

วันที่ผมเลิกถามว่า "ของเหลือเท่าไหร่" แล้วเริ่มถามว่า "ของอยู่ในสถานะอะไร"


หลังจากผมแยก IC ออกเป็น


  • Realtime stock

  • Daily stock


ระบบเริ่มนิ่งขึ้น

ผู้ใช้เริ่มเชื่อข้อมูลมากขึ้น

แต่ปัญหาหนึ่งยังคาใจผมอยู่




คำถามเดิมที่กลับมาในรูปแบบใหม่


ฝ่ายขายถามผมว่า

"ของตัวนี้ พร้อมขายไหม"


ผมเปิด realtime stock ดู

ตัวเลขบอกว่า "มี"

แต่คลังเดินไปดูของจริง

แล้วบอกว่า

"มันถูกจองไปแล้ว"

บัญชีเข้ามาเสริมว่า

"อันนี้ออก invoice แล้วนะ"

สามฝ่าย

สามคำตอบ

จากตัวเลขเดียวกัน


ตอนนั้นผมเริ่มรู้สึกว่า

ปัญหาไม่ใช่ realtime

และไม่ใช่เรื่องงวดบัญชีด้วย


ปัญหาคือ

เรากำลังถามคำถามผิด



ปัญหาของคำว่า "ยอดคงเหลือ"


คำว่า ยอดคงเหลือ ฟังดูเหมือนเป็นความจริง

แต่ในโลกจริง มันคือ การสรุปสถานะหลายอย่างให้เหลือคำเดียว


ของหนึ่งชิ้น

ในเวลาเดียวกัน

อาจเป็นได้ทั้ง


  • อยู่ในคลัง

  • ถูกจอง

  • รอส่ง

  • ขายแล้วทางบัญชี

  • หรือขายไม่ได้เพราะชำรุด


แต่ระบบ ERP ส่วนใหญ่

พยายามบังคับให้มันเลือกสถานะเดียว

และผมก็เคยทำแบบนั้น



จุดเปลี่ยน: ผมเลิก "คุมตัวเลข" แล้วหันมาคุม "การไหล"


สิ่งที่ผมเปลี่ยนมุมมองคือ


แทนที่จะคุม stock ด้วยยอด ผมเริ่มคุมมันด้วย flow

ผมออกแบบให้ transaction สินค้าเข้า–ออก

ไม่ได้แค่เพิ่มหรือลดจำนวน

แต่ต้องระบุ flow label ทุกครั้ง


flow ไม่ได้แปลว่า location

แต่แปลว่า


สินค้ากำลังอยู่ใน บทบาท อะไรของธุรกิจ

---


Realtime Stock Flow ที่มี "ภาษา"


แทนที่จะมี stock ก้อนเดียว

ผมแบ่งมันออกเป็นหลาย flow เช่น


  • บัญชี

  • รอส่ง

  • ชำรุด

  • จอง

  • WIP


แต่ละ flow

มียอดคงเหลือของตัวเอง

และถูกควบคุมด้วย transaction ที่ชัดเจน


ทันทีที่เกิดเหตุการณ์ทางธุรกิจ

ระบบจะไม่ถามว่า


"เพิ่มหรือลดกี่ชิ้น"

แต่ถามว่า


"ของกำลังไหลจาก flow ไหน ไป flow ไหน"


ตัวอย่างที่เปลี่ยนทุกอย่าง


วันที่ยืนยันยอดขาย


เมื่อมีการยืนยันคำสั่งขาย

ผมไม่ได้ลด stock ทันที


แต่สร้าง transaction

ตัดสต็อคด้วย flow "รอส่ง"

ของยังอยู่ในคลัง

แต่ สถานะทางธุรกิจ เปลี่ยนไปแล้ว


ฝ่ายขายเริ่มเห็นของที่ "ขายได้จริง"

ไม่ใช่แค่ "มีอยู่"



วันที่พบสินค้าชำรุด


พนักงานคลังสินค้า

สามารถบันทึกในระบบ


ตัดสต็อคด้วย flow "ชำรุด"

ช่วยให้ทุกคนรู้ว่ามีสินค้าชำรุดอยู่เท่าไร



วันที่จัดส่งสินค้า


วันที่มีการจัดส่ง

จะเกิด สอง transaction พร้อมกัน


1. บวกกลับ flow "รอส่ง" 2. ตัดสต็อค flow "บัญชี"

ไม่มี magic

ไม่มีการเดา

ไม่มีการ reconcile ย้อนหลัง


ทุกการเปลี่ยนแปลง

ถูกบันทึกเป็นการไหล



วันที่คำว่า "พร้อมขาย" มีความหมาย


เมื่อทุกอย่างเป็น flow

คำถามว่า ของพร้อมขายไหม

ไม่ต้องถกกันอีกต่อไป


ผมสามารถนิยามได้ชัดเจนว่า


ของที่พร้อมขาย เท่ากับ flow [ "บัญชี" หัก "รอส่ง" หัก "ชำรุด" หัก "จอง"]

ไม่มีตัวเลขลอย ๆ

ไม่มี logic ซ่อนใน report


ทุกคนเห็นสูตรเดียวกัน

แต่ใช้ในมุมของตัวเอง



สิ่งที่ผมได้เรียนรู้จาก flow label


ผมค้นพบว่า

flow label ไม่ได้ช่วยแค่เรื่อง stock


แต่มันช่วย


  • อธิบายเหตุผลของตัวเลข

  • ลดการเถียงข้ามฝ่าย

  • และทำให้ระบบ "พูดภาษาเดียวกับธุรกิจ"


สำคัญที่สุดคือ

มันทำให้ผม debug ความจริง ได้


เพราะผมไม่ต้องย้อนดูยอด

ผมย้อนดู การไหล



บทเรียนจากตอนนี้


ผมเลิกถามว่า

"ของควรเหลือเท่าไหร่"

แต่ถามว่า

"ของควรไหลไปทางไหน ตามเหตุการณ์นี้"

Realtime stock flow

ไม่ใช่แค่เร็ว

แต่มันต้อง มี semantics


ถ้าระบบไม่รู้ว่าของกำลัง ทำหน้าที่อะไร

ตัวเลขที่ได้

ก็จะเป็นแค่ตัวเลข



ตอนถัดไป

ตอนที่ 4: เมื่อผมเริ่มออกแบบ ERP จาก Event ไม่ใช่จาก Ledger


จากตรงนี้

ผมจะพาเข้าสู่แกน

Event-Driven ERP vs Traditional Ledger-Driven ERP


และเล่าว่าทำไม

การเริ่มจาก ledger

ทำให้ผมติดกับดักการออกแบบมานานแค่ไหน


 
 
 

ความคิดเห็น


Post: Blog2_Post
  • Facebook

©2020 by Scraft On Cloud. Proudly created with Wix.com

bottom of page