ตัวเลข 64,000,000 ในตัวอย่างทางการ เป็นเงินที่ไม่มีใครเคยจ่าย
September 14, 2026 · Taro — ผู้ก่อตั้ง KAZENA
อยู่ราว 3 สัปดาห์ที่ผมเชื่อว่าตัวเลข 64,000,000 เป็นจำนวนเงินจริง มันอยู่ในไฟล์ XML ที่แจกจ่ายกันในฐานะตัวอย่างทางการของแบบฟอร์มรายปี เปิดดูแล้วจะเห็นองค์ประกอบของแบบฟอร์มเรียงครบตามลำดับ และข้างในมีตัวเลขที่ดูเหมือนจำนวนเงินจริงบรรจุอยู่ นี่คือหน้าตาของการยื่นจริง เราอ่านมันอย่างนั้น
ผมจะเขียนว่ามันฝังลึกแค่ไหน เรามีตารางข้อกำหนดอยู่ในมือ เขียนไว้ 1 บรรทัดต่อ 1 ช่อง ว่าช่องไหนของแบบฟอร์มต้องใส่อะไร 17 บรรทัดในตารางนั้นอ้างชื่อไฟล์นี้เป็นแหล่งที่มา ไฟล์ตัวอย่างที่เราใช้ทดสอบเองก็เป็นสำเนาของตัวอย่างนี้ เปลี่ยนแค่จำนวนเงิน พูดอีกอย่างคือ สิ่งที่ตัดสินว่าผลลัพธ์ของเราถูกหรือผิด ก็คือไฟล์นี้
ผมพบมันโดยบังเอิญ ผมอยากตรวจเรื่องการเข้ารหัสอักขระ จึงเปิดไฟล์ดิบ ๆ ด้วยโปรแกรมแก้ไขข้อความ บนสุดมีคอมเมนต์อยู่ 1 บรรทัด เขียนว่า Created with Liquid Technologies ถัดลงมาอีกหน่อย ช่องเลขประจำตัวผู้เสียภาษีเป็นตัว x เรียงกัน 16 ตัว อ่านต่อไปอีกก็พบว่าช่องที่เป็นทางเลือกก็ถูกเติมจนครบ และช่องข้อความทุกช่องยาวเท่ากับความยาวสูงสุดที่สคีมาอนุญาตพอดี
แปลว่าไฟล์นี้คือตัวอย่างที่เครื่องสร้างขึ้นโดยอัตโนมัติจากสคีมา (XSD) ชื่อองค์ประกอบ ลำดับการเรียง รูปแบบการซ้อนกัน อันไหนบังคับอันไหนไม่บังคับ — ในแง่ของรูปทรง มันแม่นยำจนหาที่ติไม่ได้ แต่ค่าที่อยู่ข้างในนั้น เป็นค่าที่เครื่องวางลงไปเพื่อเติมช่องชนิดนั้นให้เต็ม ไม่มีใครจ่ายเงิน 64,000,000 และไม่มีหน่วยงานไหนเคยรับมันไว้
ผมจะเขียนว่าเกิดอะไรขึ้น เพราะในตัวอย่างนั้นส่วนที่เป็นทางเลือกก็ถูกเติมไว้ด้วย เราจึงส่งส่วนนั้นออกไปทุกครั้งโดยไม่สนใจเงื่อนไขของมัน Coretax ตัวจริงไม่รับไฟล์ที่มีส่วนนั้นติดไปด้วย ตอนถูกปฏิเสธครั้งแรก เราใช้เวลาราว 4 วันไล่หาในโค้ดของเราเอง เพราะรูปแบบผลลัพธ์ของเราไม่ต่างจากตัวอย่างแม้แต่ 1 ตัวอักษร สาเหตุจึงน่าจะอยู่ที่อื่นในฝั่งเรา เราไม่เคยคิดเลยว่าสิ่งที่ผิดคือข้อตั้งต้นเสียเอง
ผมถาม V เธอเป็นนักบัญชีในจาการ์ตา ที่ทดลองใช้ KAZENA Books ด้วยข้อมูลจริงของสำนักงานตัวเอง เมื่อผมถามว่าแบบฟอร์มรายปีที่ยื่นจริงมีหน้าตาแบบนี้หรือไม่ เธอเปิดไฟล์ที่สำนักงานของเธอเคยยื่นขึ้นมาดู แล้วบอกผมว่ามีองค์ประกอบใดอยู่และไม่มีองค์ประกอบใด ส่วนที่เป็นปัญหานั้นไม่เคยมีอยู่เลยตั้งแต่แรก สิ่งที่ผมอ่านตัวอย่างมา 3 สัปดาห์แล้วยังไม่เข้าใจ เอกสารของจริงตอบให้ได้ในครั้งเดียว
ผมจะเขียนกฎที่เราตั้งขึ้น ทุกบรรทัดในตารางข้อกำหนดต้องระบุแหล่งที่มา พร้อมกับระดับชั้นของแหล่งที่มานั้น ระดับชั้นมี 4 ระดับ ระดับที่ 1 คือของจริง — ไฟล์ที่ระบบจริงสร้างออกมาหรือรับไว้จริง ระดับที่ 2 คือการยืนยันของคน — คนที่ทำงานจริงตรวจสอบให้บนหน้าจอจริง โดยเขียนวันที่ตรวจกำกับไว้ด้วย ระดับที่ 3 คือตัวบทของกฎเกณฑ์ หรือตัวสคีมาเอง ระดับที่ 4 คือตัวอย่างที่เครื่องสร้าง และการคาดเดาของเราเอง แล้วเราตกลงกันว่า พฤติกรรมที่อาศัยเพียงระดับที่ 4 เป็นฐาน จะไม่ถูกใส่เข้าไปในผลิตภัณฑ์อย่างเงียบ ๆ
ด้วยกฎนี้ เราไล่หาที่มาของ 17 บรรทัดนั้นใหม่ 6 บรรทัดถูกแทนที่ด้วยของจริง 5 บรรทัดยืนยันได้จากตัวบท 4 บรรทัดเติมเต็มด้วยการยืนยันของ V ที่เหลืออีก 2 บรรทัด ไม่มีแหล่งที่มาอยู่ที่ไหนเลย นั่นคือไม่มีเหตุผลอื่นนอกจากตัวอย่างเขียนไว้อย่างนั้น พฤติกรรมที่ 2 บรรทัดนั้นค้ำอยู่ เราถอดออกจากผลิตภัณฑ์
คำว่าทางการทำงานหนักมากในเรื่องนี้ เพราะเป็นไฟล์ที่แจกอย่างเป็นทางการ ข้างในจึงต้องเป็นทางการทุกไบต์ — เราอ่านมันอย่างนั้น สิ่งที่เป็นทางการจริง ๆ คือสคีมาที่ไฟล์นั้นทำตามต่างหาก ตัวเลขข้างในเป็นเพียงเครื่องประดับที่วางไว้เพื่ออธิบายสคีมา สิ่งที่ผิดไม่ใช่ตัวอย่าง แต่คือเราที่ไม่ได้อ่านตัวอย่างในฐานะตัวอย่าง
ฝั่งผลิตภัณฑ์เราก็แก้ด้วย เมื่อก่อน เวลาข้อมูลขาด เราเขียนแค่ว่า ช่องนี้จำเป็นต้องกรอก ตอนนี้เราแยกเหตุผลออกมาเขียน ช่องที่สคีมากำหนดว่าบังคับ กับช่องที่เคยทำให้การยื่นถูกปฏิเสธเพราะปล่อยว่างไว้ เป็นคนละประโยคกัน ไฟล์ตัวอย่างสำหรับทดสอบก็เลิกใช้สำเนาของตัวอย่างทางการ เปลี่ยนมาตั้งต้นจากไฟล์ที่ระบบรับไว้จริง ส่วนหมายเลขต่าง ๆ เปลี่ยนเป็นรูปแบบที่ดูออกทันทีว่าแต่งขึ้น เช่น เลข 9 เรียงกัน 16 หลัก เราไม่อยากเก็บหมายเลขจริงไว้ในการทดสอบของเรา
ถ้าคุณกำลังสร้างอะไรบางอย่างให้เข้ากับระบบของราชการ มี 1 เรื่องที่ผมอยากฝากไว้ ขอให้ตรวจสอบว่าตัวเลขที่คุณกำลังพึ่งพาอยู่นั้น ใครเป็นคนสร้างมันขึ้นมา ค่าที่เครื่องเติมลงไปในสคีมา ค่าที่พิมพ์อยู่ในเอกสารคู่มือ ค่าที่ผู้ปฏิบัติงานตอบให้จากความทรงจำ และไฟล์ที่ระบบสร้างออกมาเอง — บนหน้าจอ ทั้ง 4 อย่างนี้มีหน้าตาเหมือนกัน ตัวอักษรสีดำแบบเดียวกัน จำนวนหลักเท่ากัน ต่างกันเพียงว่า ถ้ามันพลาดขึ้นมา คุณต้องย้อนกลับไปแก้ไกลแค่ไหน
ขอเขียนไว้กันเข้าใจผิด ผมไม่ใช่นักบัญชีภาษี สิ่งที่ต้องกรอกในแบบฟอร์มรายปี และช่องไหนบังคับกรอก ถูกกำหนดไว้ในฝั่งของกฎเกณฑ์ และมันเปลี่ยนแปลงไปเรื่อย ๆ สิ่งที่เขียนไว้ตรงนี้เป็นบันทึกว่าเราจัดการกับหลักฐานอ้างอิงผิดพลาดอย่างไร สำหรับการตัดสินใจยื่นจริง กรุณาตรวจสอบกับผู้เชี่ยวชาญทุกครั้ง
สุดท้ายผมมีเรื่องรบกวนขอไว้ ถ้าในหน้าจอของ KAZENA มีช่องที่เขียนว่าจำเป็นต้องกรอก แต่คุณมองไม่ออกว่าเพราะอะไร กรุณาบอกเรา เป็นไปได้ว่าหลักฐานอ้างอิงของเราสำหรับช่องนั้นยังค้างอยู่ที่ระดับที่ 4 ระดับชั้นของหลักฐานเป็นสิ่งที่ผู้ใช้มองไม่เห็น การรักษาสิ่งที่มองไม่เห็นให้ถูกต้องอยู่เสมอ เป็นหน้าที่ของเรา
บอกเราว่าคุณคิดอย่างไร
ความรู้สึกเมื่อได้ใช้แอป KAZENA สิ่งที่เราควรแก้ไข ฟีเจอร์ที่คุณอยากให้มี — หากคุณทำธุรกิจขนาดเล็กหรือขนาดกลาง หรือทำงานอิสระในอินโดนีเซียหรือฟิลิปปินส์ เสียงของคุณคือสิ่งที่เราอยากได้ยินมากที่สุด ข้อความที่เขียนเป็นภาษาอินโดนีเซียหรือภาษาอังกฤษจะได้รับการตอบจากเพื่อนร่วมทีมที่เข้าใจตลาดของคุณจากภายใน KAZENA Books มีกำหนดเปิดตัวในฟิลิปปินส์และอินโดนีเซียแล้ว — และหากบริษัทของคุณต้องการนำไปเปิดตัวในประเทศอื่นในฐานะพันธมิตร หรือสนใจซื้อระบบนี้ เราก็ยินดีอย่างยิ่งที่จะได้รับข่าวจากคุณเช่นกัน นอกจากนี้เรายังรับพัฒนาระบบใหม่ด้วย เราเป็นทีมเล็ก จึงไม่อาจเริ่มงานได้ทันทีเสมอไป — แต่สิ่งที่เราสร้างนั้นมีคุณภาพแบบเมดอินเจแปน และยังคงใกล้ชิดกับวิธีการทำธุรกิจที่เป็นจริงที่นี่ ทีละโครงการ
ติดต่อเรา