KAZENAKAZENA
บทความทั้งหมด

เลขที่เราแต่งขึ้นเองไม่ใช่ของใครเลย

September 6, 2026 · Taro — ผู้ก่อตั้ง KAZENA

ผมใช้เวลา 3 วันตามหาข้อผิดพลาดในไฟล์ที่เราสร้างส่งออกไป พอถึงวันที่ 4 จึงรู้ว่าสิ่งที่ผิดไม่ใช่ไฟล์ แต่เป็นเลขที่เราแต่งขึ้นเองสำหรับการทดสอบ กรมสรรพากรไม่ได้ปฏิเสธ XML ของเรา สิ่งที่ถูกปฏิเสธคือคู่ค้าที่ไม่มีอยู่จริง

ขอเล่าพื้นฐานก่อน เวลายื่นหนังสือรับรองการหักภาษี ณ ที่จ่ายเข้าระบบ Coretax ของอินโดนีเซีย จะมีช่องสำหรับเลขประจำตัวผู้เสียภาษีของคู่ค้า ช่องนี้ไม่ได้จบลงแค่เลขที่มีรูปแบบถูกต้อง ฝ่ายผู้รับจะตรวจว่าเลขนั้นมีอยู่ในทะเบียนหรือไม่ สิ่งที่หน้าจอของเราตรวจได้มีเพียงจำนวนหลักและตำแหน่งของเครื่องหมายคั่น ส่วนคำถามที่ว่าเลขนั้นมีเจ้าของหรือไม่ เราตอบจากฝั่งนี้ไม่ได้

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

วันที่ 18 สิงหาคม ชุดทดสอบ 12 จาก 41 ชุดหยุดที่จุดเดียวกัน ข้อความที่ตอบกลับมาสั้นมาก และอ่านได้ว่าเนื้อหาที่เราส่งไปไม่ถูกต้อง แต่ไม่ได้บอกว่ารายการไหนผิด ผมจึงสงสัยไฟล์ของเราเอง ทั้งลำดับ ทั้ง namespace ทั้งวิธีเขียนวันที่ ตลอด 3 วันผมมองแต่ฝั่ง XML

พอถึงวันที่ 4 ผมเอา 12 ชุดที่หยุดมาวางเทียบกับ 29 ชุดที่ผ่าน ชุดที่ผ่านใช้เลขที่ยกมาจากเอกสารที่ V เคยทำจริง ส่วนชุดที่หยุดใช้เลขที่เราแต่งขึ้นตรงนั้นเอง ความต่างไม่ได้อยู่ที่วิธีเขียนไฟล์ แต่อยู่ที่ว่าเลขนั้นมีอยู่จริงหรือไม่ กรมสรรพากรตรวจสอบอยู่ ว่าเลขนี้อยู่ในทะเบียนไหม และยังใช้ได้อยู่หรือเปล่า

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

เลขที่ของใบกำกับภาษีก็เป็นแบบเดียวกัน เลขลำดับที่ผู้ประกอบการ PKP ใส่ในใบกำกับไม่ใช่เลขที่ตัวเองกำหนด แต่เป็นเลขที่ได้รับจัดสรรมาจากกรมสรรพากร เลขที่นั่งคิดขึ้นเองที่โต๊ะทำงาน ถ้าไม่เป็นของคนอื่นก็ไม่เป็นของใครเลย และไม่ว่าทางไหนมันก็ไม่ใช่ของเรา ดังนั้นการที่เลขซึ่งดูน่าเชื่อถือผ่านไม่ได้ คือระบบกำลังทำงานถูกต้อง ถ้ามันผ่านได้ต่างหากที่น่ากังวล

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

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

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

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

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

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

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

บอกเราว่าคุณคิดอย่างไร

ความรู้สึกเมื่อได้ใช้แอป KAZENA สิ่งที่เราควรแก้ไข ฟีเจอร์ที่คุณอยากให้มี — หากคุณทำธุรกิจขนาดเล็กหรือขนาดกลาง หรือทำงานอิสระในอินโดนีเซียหรือฟิลิปปินส์ เสียงของคุณคือสิ่งที่เราอยากได้ยินมากที่สุด ข้อความที่เขียนเป็นภาษาอินโดนีเซียหรือภาษาอังกฤษจะได้รับการตอบจากเพื่อนร่วมทีมที่เข้าใจตลาดของคุณจากภายใน KAZENA Books มีกำหนดเปิดตัวในฟิลิปปินส์และอินโดนีเซียแล้ว — และหากบริษัทของคุณต้องการนำไปเปิดตัวในประเทศอื่นในฐานะพันธมิตร หรือสนใจซื้อระบบนี้ เราก็ยินดีอย่างยิ่งที่จะได้รับข่าวจากคุณเช่นกัน นอกจากนี้เรายังรับพัฒนาระบบใหม่ด้วย เราเป็นทีมเล็ก จึงไม่อาจเริ่มงานได้ทันทีเสมอไป — แต่สิ่งที่เราสร้างนั้นมีคุณภาพแบบเมดอินเจแปน และยังคงใกล้ชิดกับวิธีการทำธุรกิจที่เป็นจริงที่นี่ ทีละโครงการ

ติดต่อเรา

อ่านเพิ่มเติมจากบล็อก