top of page
ค้นหา
รูปภาพนักเขียนSathit Jittanupat

Prompt as a Ledger



ผมเคยเล่าถึงไอเดีย Low Code Accounting มีข้อสมมติฐานว่าการลงบัญชีแบบ double entry นั้นต้องใช้รหัสบัญชี ไม่สะดวกสำหรับนักบัญชีที่ทำงานให้กิจการหลายแห่งในเวลาเดียวกัน เพราะผังบัญชีจะมีรหัสบัญชีบางส่วนที่ไม่เหมือนกัน จึงตั้งคำถามว่า เป็นไปได้ไหมที่การบันทึกบัญชีทำโดยไม่ต้องผูกกับรหัสบัญชี


จากที่สังเกตเห็นการทำงานในสำนักงานบัญชี เมื่อขึ้นงานบริษัทใหม่จะเลือกผังบัญชีตั้งต้นจากกิจการที่คล้ายคลึงกันมาใช้ หรือผังต้นแบบที่มีโครงรหัสบัญชีคร่าว ๆ แล้วเติมรหัสเพิ่มตามต้องการ แสดงว่าในการบันทึกบัญชีมีโอกาสที่ผังบัญชีของแต่ละที่ตั้งรหัสบัญชีที่งอกเพิ่มมาเป็นรหัสเหมือนกัน แต่ความหมายต่างกัน เช่น การแจกแจงค่าใช้จ่าย และ ค่าใช้จ่ายค้างจ่าย ที่การแยกย่อยและลำดับของเลขแล้วแต่ผังนั้น ๆ รวมทั้งกรณีบัญชีเงินฝากธนาคาร ที่แต่ละกิจการมีไม่เหมือนกันด้วย



ย้อนกลับไปสมัยก่อน แบบฟอร์มใบสำคัญต่าง ๆ ที่เป็นเอกสารทางบัญชีจะมีสองท่อน ด้านบนสำหรับเขียนรายละเอียดรับหรือจ่าย สำหรับคนที่ไม่ใช่นักบัญชี ส่วนด้านล่างจะเป็นส่วนที่เอาไว้เขียนวิธีการลงบัญชีคู่ ว่าต้องเดบิต หรือเครดิต รหัสบัญชีอะไรบ้าง คนที่เป็นเสมียน (Book Keeper) ทำหน้าที่เขียนรายการท่อนบน แล้วนักบัญชี (Accountant) เขียนวิธีลงบัญชีไว้ในตารางด้านล่าง เพื่อให้เสมียนเอาไปบันทึกลงสมุดแยกประเภทอีกทีหนึ่ง


ปัจจุบันเมื่อมีโปรแกรมบัญชีใช้งานกันแพร่หลาย เชื่อว่าไม่มีนักบัญชีคนไหนที่ไม่ใช้คอมพิวเตอร์ กระบวนการบันทึกบัญชีจึงเปลี่ยนจากเขียนลงใบสำคัญก่อน เป็นอินพุทเข้าคอมพิวเตอร์ให้นักบัญชีตรวจได้เลย แล้วค่อยพิมพ์ออกมาเป็นใบสำคัญ แบบฟอร์มใบสำคัญจึงไม่จำเป็นต้องมีท่อนการลงบัญชีให้สั่งงาน การแยกคนทำงานบัญชีเป็น Book Keeper กับ Accountant เริ่มไม่จำเป็น เพราะมีคอมพิวเตอร์เข้ามาช่วย Post รายการลงบัญชีอัตโนมัติ แล้วสรุปออกมาเป็นแยกประเภทได้เลย งานที่ไม่ใหญ่มาก นักบัญชีคนเดียวสามารถทำจนออกมาเป็นงบได้เลย


แนวทางของ Low Code Accounting แยกงานเป็น 2 ขั้นตอน ส่วนอินพุทข้อมูลของเอกสารชั้นต้น เทียบได้กับรายการท่อนบนของใบสำคัญที่สามารถทำโดยเสมียนที่ไม่ต้องรู้ว่าลงบัญชีอย่างไร หลังจากนั้นนักบัญชีจึงเข้ามาตรวจแล้วใส่วิธีลงบัญชีให้ แต่คราวนี้เป็นการทำงานในคอมพิวเตอร์ จึงไม่ต้องให้ใครมาบันทึกเข้าแยกประเภทอีก เพราะคอมพิวเตอร์สามารถสร้างรายการลงบัญชีอัตโนมัติ


ข้อแตกต่างอยู่ตรงที่ นักบัญชีไม่จำเป็นต้องบอกละเอียดระดับรหัสบัญชี และเดบิต/เครดิตทุกรายการ สามารถใช้คำอธิบายย่อ ๆ เหมือนกับแนะนำนักบัญชีรุ่นน้อง ให้หลักการด้วยชื่อบัญชี โดยไม่ต้องรู้ว่าเป็นรหัสบัญชีอะไร



ผมเรียกคำอธิบายย่อ ๆ ที่บอกให้คอมพิวเตอร์ตีความเพื่อลงบัญชีว่า "Prompt" เหมือนกับคำอธิบายเพื่อบอกให้ AI Midjourney วาดรูป เราสามารถพัฒนาให้คอมพิวเตอร์เข้าใจ Prompt และสร้างรายการลงบัญชีที่ถูกต้องได้แค่ไหน เป็นเรื่องที่ต้องพิสูจน์


ต่อไปนี้เป็นสเปคคร่าว ๆ สำหรับต้นแบบตีความเพื่อลงบัญชีแบบ Low Code ทำออกมาแบบง่าย ๆ เพื่อพิสูจน์หลักการ (Proof of Concept) ยังไม่ถึงระดับ AI และเป็นตัวอย่างให้นักบัญชีได้ทดสอบ


รูปแบบ (format)

คำอธิบายใช้สัญญลักษณ์ "/" เป็นตัวแบ่ง ส่วนแรกบอกว่า เรื่องเกี่ยวกับอะไร ส่วนที่สองบอกว่า มีผลทำให้ได้หรือเสียอะไร เช่น "รายได้จากการขาย/เงินสด"


รูปแบบย่อ (short format)

ไม่ต้องมีสัญญลักษณ์ "/" บอกแค่ว่าเป็นเรื่องเกี่ยวกับอะไร โดยละส่วนที่สองไว้ โปรแกรมจะตีความว่าเป็น "/เงินสด"


คำอัตโนมัติ (default prompt)

กรณีไม่มีคำอธิบาย โปรแกรมจะกำหนดค่าอัตโนมัติ ตามประเภทของเอกสารดังนี้

  • "รายได้/เงินสด" (ใบกำกับภาษีขาย, ขายอื่น)

  • "รับชำระจากลูกหนี้/เงินสด" (รับ)

  • "ซื้อ/เงินสด" (ใบกำกับภาษีซื้อ, ซื้ออื่น)

  • "ค่าใช้จ่าย/เงินสด" (จ่าย)


"บัญชีย่อย" และเคาะวรรค

บัญชีย่อย คือ คำอธิบายที่อยู่หลังเคาะวรรคแรก หรือ คำอธิบายที่โปรแกรมไม่สามารถตีความ เช่น "รายได้ ค่าบริการ/ลูกหนี้", "ค่าทำความสะอาด/เงินสด"


ข้อความ "เรื่อง" กับการลงบัญชี

  • ขึ้นต้นด้วย "ทรัพย์สิน.." หรือ "ซื้อทรัพย์สิน.." หรือ "ขายทรัพย์สิน.." ลงบัญชี ทรัพย์สินถาวร

  • "..ต้นทุน.." อยู่ภายในข้อความ ลงบัญชี ซื้อ

  • "..มัดจำ.." หรือ "..ล่วงหน้า.." อยู่ภายในข้อความ ลงบัญชี เงินรับล่วงหน้า (ใบกำกับภาษีขาย, ขาย, รับ) หรือ ลงบัญชี เงินจ่ายล่วงหน้า (ใบกำกับภาษีซื้อ, ซื้ออื่น, จ่าย)

  • "..ค้างรับ.." อยู่ภายในข้อความ ลงบัญชี รายได้ค้างรับ

  • "..เจ้าหนี้.." อยู่ภายในข้อความ ลงบัญชี เจ้าหนี้

  • "..ลูกหนี้.." อยู่ภายในข้อความ ลงบัญชี ลูกหนี้

  • ขึ้นต้นด้วย "ซื้อ.." ลงบัญชี ซื้อ

  • ขึ้นต้นด้วย "จ่าย.." ลงบัญชี ค่าใช้จ่ายค้างจ่าย

  • ขึ้นต้นด้วย "รับ.." ลงบัญชีลูกหนี้ หรือรายได้ค้างรับ ถ้าระบุบัญชีย่อย


ข้อความที่ไม่สามารถตีความได้ ขึ่นอยู่กับประเภทเอกสาร

  • ข้อความใด ๆ ลงบัญชี รายได้ (ภาษีขาย, ขายอื่น, รับ)

  • ข้อความใด ๆ ลงบัญชี ค่าใช้จ่าย (ภาษีซื้อ, ซื้ออื่น, จ่าย)



ข้อความ "สิ่งที่ได้หรือเสีย" กับการลงบัญชี

  • "/เงินสด" ลงบัญชี เงินสด

  • "/บัตรเครดิต" ลงบัญชี บัตรเครดิต

  • "/เข้าบัญชี" หรือ "/หักบัญชี" หรือ "/เงินโอน" ลงบัญชี เงินฝากธนาคาร สามารถเคาะวรรค ระบุชื่อย่อและเลขบัญชีธนาคาร เป็นบัญชีย่อย

  • "/เช็ค" ลงบัญชี เช็ครับ หรือ เช็คจ่าย ขึ้นอยู่กับประเภทเอกสาร

  • "/..ลูกหนี้.." ลงบัญชี ลูกหนี้

  • "/..เจ้าหนี้.." ลงบัญชี เจ้าหนี้

  • "/..มัดจำ.." หรือ "/..ล่วงหน้า.." ลงบัญชี เงินรับล่วงหน้า หรือ จ่ายล่วงหน้า ขึ้นอยู่กับประเภทเอกสาร


ผังบัญชีกลาง

ผลลัพธ์ของการตีความ จะกลายมาเป็นรายการลงบัญชีที่มีเดบิต และเครดิต โดยใช้ผังบัญชีกลาง ซึ่งมีแต่โครงแยกประเภทเป็นกลุ่มของหัวบัญชีคร่าว ๆ ใช้เหมือนกันทุกกิจการ (Generic Account) แต่การแยกคุมยอดบัญชีเพื่อแยกประเภทในระดับละเอียด ไม่ใช้วิธีเพิ่มรหัสใหม่เข้าไปในผังบัญชี เหมือนกับวิธีสร้างผังบัญชีที่นิยมทำกัน เพราะโปรแกรมสามารถสรุปงบ และแยกยอดตามบัญชีย่อยที่เป็นข้อความได้


ยกตัวอย่าง หัวบัญชีค่าใช้จ่าย ผังบัญชีกลางใช้รหัสหัวบัญชี "EXPENSE" สำหรับค่าใช้จ่ายทุกประเภท และ "BANK" สำหรับเงินฝากธนาคาร (เจตนาใช้รหัสหัวบัญชีเป็นตัวอักษร เพื่อแยกให้เห็นว่าแตกต่างจากตัวเลขรหัสบัญชีที่นักบัญชีคุ้นเคย)


เมื่อใช้คำอธิบาย "ค่าไฟฟ้า/หักบัญชี SCB SA-123"

จะได้รายการลงบัญชีเป็น "EXPENSE : ค่าไฟฟ้า" กับ "BANK : SCB SA-123"


ผังบัญชีสำหรับผู้สอบ

จากผังบัญชีกลาง ที่มีบัญชีย่อยเป็นข้อความ เราสามารถสร้างแผนผังเพื่อให้โปรแกรมแปลเป็นรหัสบัญชีเป็นตัวเลขตามต้องการ เพื่อให้ออกงบตามผังบัญชีนักบัญชีทั่วไปและผู้สอบบัญชีคุ้นเคย


สักวันหนึ่ง..

เมื่อนักบัญชียอมรับการปิดงบด้วยผังบัญชีกลางและบัญชีย่อย การออกแบบผังบัญชีด้วยรหัสบัญชีอาจไม่จำเป็นอีกต่อไป เหมือนฟอร์มใบสำคัญที่ไม่ต้องมีท่อนลงบัญชีให้นักบัญชีเขียนต่อท้าย


ดู 0 ครั้ง0 ความคิดเห็น

โพสต์ล่าสุด

ดูทั้งหมด

Low Code Accounting

Comments


Post: Blog2_Post
bottom of page