(Not A Number) NaN Account Code
- Sathit Jittanupat
- 16 มิ.ย. 2566
- ยาว 1 นาที
อัปเดตเมื่อ 19 มิ.ย. 2566

เด็กน้อยวาดรูปต้นไม้ในชั่วโมงศิลปะ ระบายสีแดงตามกิ่งก้านของมัน เมื่อคุณครูเห็นภาพต้นไม้สีแดงจึงบอกว่า ต้นไม้ต้องมีใบสีเขียว แล้วเอารูปต้นไม้ของเพื่อนให้ดู ตั้งแต่นั้นมาภาพต้นไม้ของเด็กทุกคนในห้องจึงเป็นสีเขียว
ผมเริ่มต้นจากเขียนโปรแกรม แล้วจึงค่อยทำความเข้าใจบัญชีเพื่อเขียนโปรแกรม ด้วยมุมมองของคนที่ไม่ได้มาจากพื้นฐานบัญชี หลายครั้งจึงสร้างความลำบากใจให้กับนักบัญชี ด้วยคำถามแปลก ๆ หรือเสนอไอเดียที่ยากจะทำใจยอมรับ
คนสายคอมพิวเตอร์มักผ่านวัฏจักรความตายและเกิดใหม่ของไอเดียที่ผ่านมาหลายครั้งหลายหน จากแผ่นดิสก์ เป็นแผ่นซีดี เป็นแฟลชไดรว์ จากจอ Monochrome ที่มีแต่ข้อความ (text) เป็นจอสีที่เป็นภาพเคลื่อนไหว (graphics) จากคีย์บอร์ด ขยายมาเป็นเมาส์ และนิ้วจิ้ม (touch) การตั้งคำถามเพื่อค้นหาความเป็นไปได้ใหม่ คิดค้นวิธีการใหม่ จึงเป็นความปกติ ที่ไม่ปกติในความรู้สึกของคนอื่น
"ทำไมรหัสบัญชีต้องเป็นตัวเลข ?" เป็นข้อสังเกตหนึ่งที่ผมรู้สึกไม่เมกเซนส์กับการใช้ประโยชน์คอมพิวเตอร์สมัยนี้ เหมือนกับการตั้งรหัสให้สินค้าและลูกค้าโดยใช้เพียงตัวเลขแล้วไม่สามารถใช้สื่อสารได้จริง คุณไม่อาจมั่นใจว่าเมื่อบอกแค่รหัสแล้วพนักงานสโตร์หยิบของได้ถูกต้อง พนักงานขายไม่สามารถส่งออเดอร์กลับเข้าออฟฟิศด้วยรหัสลูกค้าและรหัสสินค้าที่มีแต่ตัวเลข ทุกวันนี้ผมเห็นมีเพียงออเดอร์แบบเดียวที่สามารถสื่อสารกันได้จริงระหว่างคนซื้อกับคนขายโดยใช้ตัวเลขคือ โพยหวยใต้ดิน เป็นภูมิปัญญาที่น่าใช้ OCR อ่านลายมือชาวบ้านแปลงเป็นออเดอร์ แล้วเขียนสมาร์ทคอนแทคให้ทำงานอัตโนมัติ กลายเป็น Global Platform
กลับมาเข้าเรื่องบัญชี สมมติว่าผมถามนักบัญชีหลายคนว่ารหัส "1101" คือบัญชีอะไร ก็อาจจะได้คำตอบไม่เหมือนกัน ดังนั้นในแง่ของการสื่อสาร เมื่อคนทำ ส่งงบให้ผู้สอบ ก็เป็นเช่นเดียวกับพนักงานขายส่งออเดอร์ ไม่สามารถใช้แค่รหัสอย่างเดียว แต่ต้องไปพร้อมกับข้อความอธิบายหรือชื่อบัญชี แล้วรหัสบัญชีที่ตั้งกันมาเพื่ออะไรและเพื่อใครกันแน่
หากวัตถุประสงค์ของการใช้รหัสเพื่อย่นย่อคำอธิบายยาว ๆ เพิ่มประสิทธิภาพการสื่อสาร เหมือนกับเราไม่เรียกชื่อเต็ม แต่จะเรียก "USA", "กทม" ฯลฯ ซึ่งเรื่องของการย่นย่อเพื่อสื่อสารนั้นจะขึ้นอยู่กับแวดวงที่มีความเข้าใจรหัสนั้นร่วมกันด้วย หัวหน้าบัญชีกับลูกน้องที่ทำงานด้วยกัน อาจเข้าใจรหัส "1101" ตรงกัน แต่กับคนภายนอกไม่ใช่ อุปมาเหมือนหมู่บ้านแห่งหนึ่ง เมื่อมีเซเว่นมาเปิดแห่งแรก เมื่อบอกว่าไปเซเว่นทุกคนก็เข้าใจตรงกันว่าเซเว่นไหน เพราะมีแห่งเดียว การสื่อสารเช่นนี้จึงไม่คลาดเคลื่อน ต่อมาเมื่อมีเซเว่นเปิดสาขาที่สอง คราวนี้เพียงบอกว่าไปเซเว่น เริ่มไม่ชัดเจนแล้วว่าเซเว่นไหนกันแน่ ต้องมีคำสร้อยต่อท้าย ถ้าเพื่อนในกลุ่มเรามีคนชื่อ แดงสองคน เราก็จะใช้รหัสเรียกให้แตกต่างกันว่า แดงเล็ก กับ แดงใหญ่ ประมาณนี้
แต่ตัวเลข "1101" นอกจากช่วยย่อให้สั้นแล้ว มันไม่มีประโยชน์เพื่อสื่อสารความหมายใด ๆ เลย ไม่มีใครบอกได้ว่า "1101" แตกต่างจาก "1102" อย่างไร แล้วถ้าเป็นใช้รหัสบัญชีว่า "CASH" กับ "BANK" สามารถทำได้หรือไม่ ในแง่เทคนิคของโปรแกรมคอมพิวเตอร์สมัยนี้ ไม่มีความแตกต่างในเรื่องนี้ ไม่ว่าจะเป็นความยากง่ายในการพัฒนา การจัดเก็บข้อมูล และความเร็วในการประมวลผล
ความแตกต่างของรหัสที่ไม่สื่อความหมาย กับรหัสที่สื่อความหมายในตัว จึงเกี่ยวกับคน อาจไม่มีผลมากกับหมู่บ้านที่มีเซเว่นแห่งเดียว เทียบได้กับแผนกบัญชีที่ดูแลกิจการแห่งเดียว มีผังบัญชีผังเดียว ผมมองเห็นปัญหากับงานระดับ Public Accounting ภาพของสำนักงานบัญชีแห่งหนึ่งที่รับทำบัญชีให้กิจการหลากหลาย ซึ่งอาจมีผังบัญชีแตกต่างกันไป เมื่อนั้นรหัสบัญชีที่ไม่สื่อความหมาย ก็ไม่ได้ช่วยให้การบันทึกบัญชีมีประสิทธิภาพ ในแง่ของความถูกต้องแม่นยำ อย่างที่คาดหวังไว้ วิธีแก้ปัญหาทุกวันนี้ ก็เลยต้องทำโดยกำหนดคนรับผิดชอบแยกตามกิจการ คนในสำนักงานเดียวกันก็ไม่ได้หมายความว่าจะบันทึกบัญชีแทนกันได้
ที่จริงแล้วเรื่องรหัสบัญชียังไม่เป็นประเด็นใหญ่โต หากโมเดลของ Public Accounting ยังเป็นอย่างทุกวันนี้ คือการมีสำนักงานที่เป็นสถานที่ทางกายภาพ ให้คนทำงานเข้ามาทำงานและรับผิดชอบงานในส่วนของตนเอง หลายแห่งขึ้นอยู่ว่าทางกิจการรวบรวมเอกสารมาให้เมื่อไหร่ สิ่งที่ผมเห็นว่ากำลังคืบคลานมาอย่างช้า ๆ คือ transaction online ของผู้ที่ทำธุรกิจกับ platform
เมื่อใดก็ตามที่หลักฐานการลงบัญชีของกิจการใด ๆ อยู่ในรูปแบบของดิจิตัล เช่น ภาพถ่ายที่สแกนมาหรือไฟล์ pdf ไม่ต้องใช้แฟ้มเก็บเอกสารที่เป็นกระดาษอย่างเดิมจะเกิดอะไรขึ้นบ้าง ผมลองคิดเล่น ๆ ถึงความเปลี่ยนแปลงดังต่อไปนี้
สามารถช่วยกันบันทึกบัญชีได้ (collaboration) เดิมความเป็นกระดาษทำให้ต้องระมัดระวังเรื่องสูญหาย ชำรุด และความเสี่ยงหากนำออกไปนอกสถานที่ ไม่ต้องพูดถึงว่าหากแบ่งให้คนหลาย ๆ คนช่วยกัน เพราะจะต้องยุ่งยากในการรวบรวมกลับมาเก็บคืน ในทางกลับกันการจ่ายงานให้บันทึกบัญชีตามรูปภาพบิล สามารถกระจายหลายคนผ่านทางออนไลน์ ไม่ต้องให้เข้าสำนักงานอีกต่อไป ภาพที่ผมเห็นไกล ๆ คือ นักบัญชีอิสระ ที่กระจายอยู่ทั่วประเทศพร้อมที่จะรับบันทึกบัญชีให้สำนักงานบัญชี ช่วยให้สำนักงานบัญชีได้เน้นพัฒนาส่วนให้คำปรึกษาและกฏระเบียบต่าง ๆ กับภาคธุรกิจแทน
อุปสรรคการทำความเข้าใจรหัสบัญชี จึงกลายเป็นโจทย์ที่ท้าทาย สำหรับการเปลี่ยนโมเดลของ Public Accounting ปลดล็อกงานในส่วนของกระบวนการทำบัญชี ให้นักบัญชีอิสระสามารถทำงานได้ง่ายและไม่ผิดพลาด กลายเป็นที่มาสำคัญของคำถามข้างต้น
สุดท้ายนี้ ผมอยากจะเทียบเคียงการแก้ปัญหาในแวดวงคอมพิวเตอร์ การประมวลผลของคอมพิวเตอร์จะต้องอาศัยชิ้นส่วนที่สำคัญคือ CPU ปกติแล้วการสื่อสารหรือออกคำสั่งให้ CPU ทำงานตามต้องการจะต้องใช้ machine code เลข binary 010101.. เป็นรหัสคำสั่งที่มนุษย์ไม่เข้าใจ และผู้ผลิต CPU แต่ละเจ้าก็ออกแบบมี machine code ต่างกัน (Intel, Motorola, AMD) ยุคแรกเรามีภาษา Assemblyให้มนุษย์เขียนชุดคำสั่ง แล้วใช้วิธี compile แปลงเป็น machine code ให้ CPU
แต่ assembly ของ CPU ก็แตกต่างกัน ไม่สามารถข้ามใช้กันได้ และวิวัฒนาการต่อมาดั่งที่เราเห็น โดยไม่ต้องสนใจว่า CPU อะไร ทุกวันนี้มีภาษาโปรแกรมที่ช่วยให้มนุษย์เขียนชุดคำสั่งได้ง่ายขึ้นสะดวกขึ้น ใกล้เคียงกับภาษาที่เราใช้สื่อสารกันมากขึ้น ลดอุปสรรคในการเรียนรู้ เช่น Python, JavaScript ฯลฯ
ในมุมมองของคนสายคอมพิวเตอร์ ผมเชื่อว่า account code ก็สามารถมีวิวัฒนาการได้เช่นเดียวกับภาษาคอมพิวเตอร์



ความคิดเห็น