top of page
ค้นหา

วันที่เราเลิก Post GL

  • รูปภาพนักเขียน: Sathit Jittanupat
    Sathit Jittanupat
  • 4 วันที่ผ่านมา
  • ยาว 1 นาที
ปัญหาไม่ได้อยู่ที่การลงบัญชี แต่อยู่ที่การเก็บความจริงไว้สองแห่ง

นักบัญชีที่เคยวางระบบ ERP น่าจะคุ้นเคยกับคำว่า Post GL เป็นอย่างดี


ฝ่ายขายออกใบกำกับสินค้า

ฝ่ายจัดซื้อบันทึกบิล

ฝ่ายการเงินรับชำระหนี้


จากนั้นระบบจึงนำข้อมูลเหล่านั้นไปสร้างรายการบัญชีแยกประเภทอีกครั้ง


ทุกอย่างดูเป็นเรื่องปกติ

จนกระทั่งวันหนึ่ง ผมเริ่มสงสัยว่า

เรากำลังแก้ปัญหาที่ถูกต้องอยู่หรือเปล่า


ลองคิดดู


เมื่อมีการขายสินค้าเกิดขึ้น

ในโลกของธุรกิจ เราเรียกมันว่า "ใบส่งสินค้า"


แต่ในโลกของบัญชี เราเรียกมันว่า

เดบิตลูกหนี้

เครดิตรายได้

เครดิตภาษีขาย


คำถามคือ

มันเป็นคนละเหตุการณ์กันจริงหรือ

หรือเรากำลังอธิบายเหตุการณ์เดียวกันด้วยคนละภาษา


ถ้าเป็นอย่างหลัง

ทำไมเราต้องเก็บข้อมูลไว้สองชุด

แล้วคอยสร้างกระบวนการ Post เพื่อเชื่อมมันเข้าหากัน



คำถามนี้เกิดขึ้นระหว่างการพัฒนา ERP รุ่นใหม่


ก่อนหน้านั้น เราใช้ระบบที่มีการ Post GL ตามแนวทางที่ ERP ส่วนใหญ่ทำกัน

และพบปัญหาเดิมซ้ำแล้วซ้ำเล่า


เอกสารต้นทางถูกแก้ไขย้อนหลัง

มีการยกเลิกบิล

มีการเปลี่ยนภาษี

มีการเปลี่ยนรายละเอียดการรับชำระ


แล้วทุกคนก็กลับมาตามหาคำตอบเดิม

"GL ยังตรงกับเอกสารอยู่หรือไม่"


ยิ่งเอกสารมีจำนวนมากเท่าไร

ต้นทุนในการพิสูจน์ว่าข้อมูลสองชุดยังตรงกันอยู่ ก็ยิ่งสูงขึ้นเท่านั้น


บางองค์กรถึงกับมีรายงานสำหรับตรวจสอบว่า

ข้อมูลฝั่งเอกสาร

และข้อมูลฝั่งบัญชี

ยังตรงกันอยู่หรือไม่


ซึ่งถ้ามองอีกมุมหนึ่ง

นี่เป็นเรื่องแปลกไม่น้อย


เพราะรายงานดังกล่าวมีอยู่เพียงเพื่อพิสูจน์ว่า

"ความจริงสองชุด ยังบังเอิญตรงกันอยู่"



เมื่อเปลี่ยนมาใช้ฐานข้อมูลแบบ Document Database

จึงเกิดความคิดใหม่ขึ้น


ถ้าบิลขายหนึ่งใบ คือเหตุการณ์หนึ่งเหตุการณ์

ทำไมเราไม่เก็บทุกมุมมองของเหตุการณ์นั้นไว้ในเอกสารเดียวกันเลย


ทั้งข้อมูลธุรกิจ

ข้อมูลบัญชี

และหลักฐานประกอบ




แนวคิดนี้กลายมาเป็นกลไกที่เราเรียกว่า DocCompile


เอกสารหนึ่งใบไม่ได้เก็บเพียงรายการสินค้า

แต่เก็บข้อมูลหลายมิติพร้อมกัน เช่น


  • ritems สำหรับรายการขายหรือรับ

  • pitems สำหรับรายการซื้อหรือจ่าย

  • gitems สำหรับรายการบัญชีเดบิตเครดิต

  • images สำหรับเอกสารแนบและหลักฐาน


ทั้งหมดอยู่ภายในเอกสารเดียวกัน


ไม่ใช่เอกสารหนึ่งชุด

และ GL อีกหนึ่งชุด


แต่เป็นข้อมูลชุดเดียวที่มองได้หลายมุม




ผลที่ตามมาคือ


เมื่อแก้ไขเอกสาร

รายการบัญชีก็เปลี่ยนตาม


เมื่อยกเลิกเอกสาร

ผลกระทบทางบัญชีก็หายไปพร้อมกัน


ไม่มีคำถามว่า Post ใหม่หรือยัง

ไม่มีคำถามว่า GL ตรงกับเอกสารหรือไม่

เพราะทั้งสองอย่างไม่เคยแยกจากกันตั้งแต่ต้น



แน่นอนว่าระบบยังต้องตอบคำถามสำคัญ


รายการนี้ควรลงบัญชีอะไร

คำตอบของ DocCompile คือการสร้างภาษากลางขึ้นมาก่อน

แทนที่จะรีบผูกกับผังบัญชีจริง


ระบบจะเริ่มต้นด้วย Pseudo Account

เช่น


*DEFERRED

ยอดเงินที่รอการอธิบาย


*VAT

ยอดภาษีมูลค่าเพิ่ม


*DEFERRED-VAT

ภาษีที่ยังไม่เป็นใบกำกับภาษี


*UNPAID

ยอดที่ทำให้รายการสมดุล


Pseudo Account เหล่านี้ยังไม่ใช่บัญชีจริง

แต่เป็นความหมายของธุรกรรม



หลังจากนั้นจึงใช้ Alias แปลความหมายต่อ

เช่น


สำหรับบิลเงินสด

*UNPAID

อาจหมายถึงเงินสด


แต่สำหรับใบส่งสินค้าขายเครดิต

Pseudo Account ตัวเดียวกัน

อาจหมายถึงลูกหนี้การค้า


ความหมายไม่ได้ถูกกำหนดจากรหัสบัญชี

แต่ถูกกำหนดจากบริบทของเอกสาร



Alias สามารถกำหนดได้สามระดับ


  • หมวดบิล

  • ประเภทเอกสาร

  • ทั่วไป


และสามารถเรียกซ้อนกันแบบ Recursive ได้

ทำให้การวางระบบมีความยืดหยุ่นสูง


ผู้วางระบบสามารถสร้างภาษากลางของธุรกิจขึ้นมาก่อน

แล้วค่อยแปลเป็นผังบัญชีจริงภายหลัง


ข้อดีที่ผมชอบเป็นพิเศษคือ


เมื่อ Alias ยังไม่สมบูรณ์

Pseudo Account จะยังปรากฏอยู่ใน GL


มันไม่หายไปเงียบ ๆ

ไม่ถูกบังคับให้เดาผิด

แต่แสดงตัวออกมาอย่างตรงไปตรงมา


ราวกับกำลังบอกนักบัญชีว่า

"ผมรู้ว่ามีเหตุการณ์นี้เกิดขึ้น แต่คุณยังไม่ได้บอกว่าควรตีความมันอย่างไร"


ซึ่งในความเห็นของผม

นี่เป็นพฤติกรรมที่ซื่อสัตย์กว่าการพยายามลงบัญชีผิดบัญชีเพียงเพื่อให้ระบบเดินต่อได้



สิ่งที่น่าสนใจที่สุดของ DocCompile ไม่ใช่เรื่องเทคนิค


ไม่ใช่เรื่อง Alias

ไม่ใช่เรื่อง Recursive Mapping


แต่เป็นคำถามที่มันโยนกลับมาหาเรา


ตลอดหลายสิบปีที่ผ่านมา

ERP จำนวนมากถูกออกแบบโดยมีสมมติฐานว่า


ธุรกิจสร้างข้อมูลชุดหนึ่ง

บัญชีสร้างข้อมูลอีกชุดหนึ่ง

และต้องมีขั้นตอน Post เพื่อเชื่อมทั้งสองโลกเข้าหากัน


แต่ DocCompile เริ่มต้นจากสมมติฐานตรงกันข้าม

มันมองว่าการขายหนึ่งครั้ง

การซื้อหนึ่งครั้ง

หรือการจ่ายเงินหนึ่งครั้ง

คือ Business Event เพียงเหตุการณ์เดียว


บัญชีแยกประเภทเป็นเพียงหนึ่งในหลายมุมมองของเหตุการณ์นั้น

ไม่ต่างจากรายงานขาย

รายงานสต็อก

หรือรายงานลูกหนี้



ดังนั้นวันที่เราเลิก Post GL

จึงไม่ใช่วันที่เราเปลี่ยนวิธีลงบัญชี


แต่เป็นวันที่เราเลิกเชื่อว่า

เอกสารธุรกิจ

และบัญชีแยกประเภท

คือความจริงคนละชุดกัน

 
 
 

ความคิดเห็น


  • Facebook

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

bottom of page