แม่แบบนั้นผมเป็นคนแจกเอง เวลามีใครย้ายมาใช้ KAZENA Books เราจะให้แม่แบบสเปรดชีตไป เพื่อให้ยกบันทึกที่เก็บไว้ใน Excel เข้ามาได้ทีเดียว มีคอลัมน์วันที่ รายละเอียด ผังบัญชี จำนวนเงิน และประเภทภาษี ผมเขียนมันเสร็จภายใน 1 วันเมื่อฤดูใบไม้ผลิ และพูดตามตรงว่าผมค่อนข้างพอใจกับมัน เดือนนี้ผมเพิ่งรู้ว่าแม่แบบนั้นคือกับดักแรกที่คนซึ่งเพิ่งมาสัมผัสผลิตภัณฑ์ของเราต้องเหยียบ
ผู้ใช้ KAZENA Books คนหนึ่งในฟิลิปปินส์ ส่งข้อความแปลก ๆ มาว่า หลังนำเข้าข้อมูลแล้ว ค่าใช้จ่ายของเดือนพฤษภาคมเพิ่มขึ้นมาเฉย ๆ สิ่งที่ผู้ใช้คนนั้นทำมีเพียงวางบันทึก 1 ปี — 284 แถว — ลงในแม่แบบของเรา แล้วกดปุ่มนำเข้า หน้าจอบอกว่านำเข้าเสร็จสมบูรณ์ ไม่มีข้อความแจ้งข้อผิดพลาดสักข้อความเดียว
เธออนุญาตให้ผมดูไฟล์จริง แล้วผมก็นั่งนับ จาก 284 แถวนั้น มี 187 แถวที่ไม่อยู่ในสมุดบัญชีเลย เข้ามาจริงเพียง 97 แถว ในจำนวนนั้น 93 แถวไปนั่งอยู่ผิดเดือน มีเพียง 4 แถวเท่านั้นที่ลงวันที่ถูกต้อง และถูกเพราะตัวเลขวันกับตัวเลขเดือนบังเอิญตรงกันเท่านั้น ในทางปฏิบัติแล้ว ไม่มีแถวไหนนำเข้าได้ถูกต้องเลย
ต้นเหตุอยู่ในตัวไฟล์ แม่แบบของเราเป็น .xlsx และคอลัมน์วันที่ติดรูปแบบวันที่ของ Excel มาด้วย Excel จะเขียนวันที่กลับลงไปตามการตั้งค่าภูมิภาคของเครื่องที่เปิดไฟล์นั้น บนเครื่องของเธอ วันที่ 13 สิงหาคม 2026 กลายเป็น `08/13/26` คู่มือของเราเขียนไว้ว่าให้กรอกวันที่เป็น yyyy-mm-dd เขียนไว้จริง ๆ แต่เธอไม่ได้พิมพ์วันที่เหล่านั้นลงในคอลัมน์ เธอวางทับลงไป สิ่งที่เราได้รับคือสิ่งที่ Excel เขียนใหม่ให้แล้ว
ทีนี้มาที่ฝั่งเราเอง ตัวนำเข้าของเราอ่าน yyyy-mm-dd ก่อน ถ้าไม่ได้จึงถอยไปอ่านแบบ dd/mm/yyyy ดังนั้น `08/13/26` จึงถูกอ่านเป็นวันที่ 08 เดือน 13 ซึ่งไม่มีเดือนที่ 13 แถวนั้นจึงถูกทิ้ง ขณะที่ `08/05/26` ที่ตั้งใจให้เป็นวันที่ 5 สิงหาคม กลับผ่านฉลุยในฐานะวันที่ 8 พฤษภาคม ไฟล์เดียวกันแท้ ๆ แต่พังได้ 2 แบบ และสิ่งที่ตัดสินว่าแถวไหนจะพังแบบใด มีเพียงว่ารายการนั้นเกิดขึ้นวันที่เท่าไรของเดือน
แถวที่ถูกทิ้งกลับเป็นแถวที่ใจดีที่สุด อย่างน้อยตรงนั้นก็ไม่มีอะไรอยู่ ที่น่ากลัวคือแถวที่ผ่านเข้ามาได้ พฤษภาคมพองขึ้น สิงหาคมยุบลง และยอดรวมทั้งปีไม่เปลี่ยน ใครที่ดูตัวเลขรายปีจึงไม่มีทางสังเกตเห็น ผู้ใช้คนนั้นสังเกตได้เพราะบังเอิญจำได้ว่าตัวเลขของเดือนพฤษภาคมควรเป็นเท่าไร ถ้าจำไม่ได้ ตัวเลขนั้นก็คงไหลตรงเข้าไปอยู่ในแบบยื่นรายไตรมาส
ผมขอให้เปิดและบันทึกแม่แบบเดียวกันบนเครื่อง 3 เครื่อง บนเครื่องของ V นักบัญชีในจาการ์ตาที่ทดสอบด้วยข้อมูลจริงของเธอเอง ไฟล์กลับมาเป็น `13/08/2026` และเพราะ 13 อ่านได้อย่างเดียวว่าเป็นวัน แถวของเธอจึงนำเข้าได้ถูกต้อง ซึ่งเป็นเพียงความบังเอิญล้วน ๆ บนเครื่องที่สองเป็น `08/13/26` ส่วนบนเครื่องของ E เพื่อนร่วมงานของเราที่อยู่ในเมืองเล็ก ๆ ห่างจากจาการ์ตาออกไปพอสมควร รูปแบบก็ออกมาอีกอย่างหนึ่ง ไฟล์เดียวกัน คอลัมน์เดียวกัน ขั้นตอนเดียวกัน แต่ผลลัพธ์ต่างกันไปในแต่ละเครื่อง
ตรงนั้นเองที่ทุกอย่างชัดขึ้น ค่าตั้งต้นที่เราส่งออกไปนั้นแรงกว่าคำสั่งที่เราเขียนไว้ ผู้คนไม่ได้อ่านคู่มือแล้วทำตาม แต่ใช้สิ่งที่ได้รับมา ในรูปแบบที่มันถูกส่งมาให้ ทันทีที่เราแจก .xlsx ซึ่งคอลัมน์วันที่ติดรูปแบบของ Excel มาด้วย เท่ากับเราพูดว่ารูปแบบของวันที่นั้นแล้วแต่เครื่องของคุณจะกำหนด คำสั่งของเราเป็นเพียงเสียงค้านที่ตามมาทีหลัง และเบากว่ามาก
ดังนั้น อย่างแรก เราเลิกเดา `03/04/26` อาจหมายถึงวันที่ 4 มีนาคม หรือวันที่ 3 เมษายนก็ได้ ไฟล์ที่มีรูปแบบเช่นนั้นปนอยู่ เราจะไม่นำเข้าอีกต่อไป เราจะหยุด แล้วบอกชื่อคอลัมน์กับหมายเลขแถวแรกที่เราพบมัน เฉพาะเมื่อเลขวันมากกว่า 12 จนอ่านได้เหลือเพียง 1 ความหมายเท่านั้น เราจึงไปต่อ และตอนนั้นเราจะบอกด้วยว่าเราอ่านแบบไหน เราอ่านคอลัมน์นี้เป็นวันที่ 13 สิงหาคม 2026 ถ้าไม่ใช่ กรุณาสลับ
อย่างที่สอง เราเลิกทำแถวหายไปอย่างเงียบ ๆ ก่อนจะเขียนอะไรลงไป เราจะแสดงจำนวนแถวในไฟล์ จำนวนแถวที่นำเข้าได้ และจำนวนแถวที่อ่านไม่ออก แถวที่อ่านไม่ออกจะถูกไล่เรียงด้วยหมายเลขแถว พร้อมข้อความที่อยู่ในแถวนั้นจริง ๆ ไม่ใช่ว่าเสียไปกี่แถว แต่คือแถวไหนที่เสีย และจะไม่มีการเขียนข้อมูลใด ๆ จนกว่าจะมีคนได้เห็นหน้าจอนั้นแล้ว
อย่างที่สาม เราแก้ตัวแม่แบบเอง ตอนนี้มันเป็น CSV และคอลัมน์วันที่เป็นข้อความ แถวแรกมีตัวอย่างที่กรอกไว้ 1 แถว เขียนว่า `2026-08-13` ต่อให้เปิดด้วย Excel คอลัมน์ที่ไม่มีรูปแบบวันที่ติดอยู่ก็จะไม่ถูกเขียนใหม่ แต่ลำดับของเราผิด ก่อนจะแจกแม่แบบออกไป เราควรสร้างสิ่งที่รู้ตัวได้ก่อนว่าแม่แบบกลับมาในสภาพที่เปลี่ยนไปแล้ว ของที่เราแจกออกไป ย่อมกลับมาในรูปที่ต่างออกไปเสมอ
สิ่งที่ผมเสียใจที่สุดคือเรื่องที่ตามมา ผู้ใช้คนนั้นไล่แก้บันทึกของตัวเองด้วยมือ เปิดสมุดบัญชี 1 ปี ตามหาแถวที่ย้ายเดือนไป ย้ายมันกลับ แล้วตรวจยอดรวมอีกรอบ เขาเพียงลองใช้ด้วยความหวังดี ไม่มีใครจ่ายเงินให้ เวลา 1 คืนในชีวิตของเขาหมดไปกับการตามเก็บกวาดข้อผิดพลาดของเรา ต้นทุนของบั๊กถูกจ่ายแบบนี้เอง — โดยใครสักคน
ขอบอกไว้ให้ชัดว่า ผมไม่ใช่นักบัญชีภาษี ตัวเลขที่นำเข้ามาจะไหลตรงต่อไปสู่การยื่นแบบ ค่าใช้จ่ายที่ไปนั่งผิดเดือนจึงทำให้ภาษีเปลี่ยน สำหรับการตัดสินใจขั้นสุดท้าย กรุณายืนยันกับผู้เชี่ยวชาญเสมอ สิ่งที่เราทำได้คือทำให้ที่มาของตัวเลขแต่ละตัวยังมองเห็นได้ เพื่อให้การตรวจสอบนั้นจบได้ในเวลาอันสั้น
ถ้าซอฟต์แวร์สักตัวบอกคุณว่านำเข้าข้อมูลเสร็จสมบูรณ์ ลองตรวจสักครั้งว่าหน้าจอนั้นบอกหรือไม่ว่ามีกี่แถวที่เข้าไป ถ้าไม่บอก มันอาจกำลังทิ้งแถวอย่างเงียบ ๆ อยู่ก็ได้ และถ้าแม่แบบของเราเคยทำแบบเดียวกันนี้กับคุณ กรุณาบอกผมด้วย ข้อความทุกฉบับผมอ่านเองทั้งหมด
บอกเราว่าคุณคิดอย่างไร
ความรู้สึกเมื่อได้ใช้แอป KAZENA สิ่งที่เราควรแก้ไข ฟีเจอร์ที่คุณอยากให้มี — หากคุณทำธุรกิจขนาดเล็กหรือขนาดกลาง หรือทำงานอิสระในอินโดนีเซียหรือฟิลิปปินส์ เสียงของคุณคือสิ่งที่เราอยากได้ยินมากที่สุด ข้อความที่เขียนเป็นภาษาอินโดนีเซียหรือภาษาอังกฤษจะได้รับการตอบจากเพื่อนร่วมทีมที่เข้าใจตลาดของคุณจากภายใน KAZENA Books มีกำหนดเปิดตัวในฟิลิปปินส์และอินโดนีเซียแล้ว — และหากบริษัทของคุณต้องการนำไปเปิดตัวในประเทศอื่นในฐานะพันธมิตร หรือสนใจซื้อระบบนี้ เราก็ยินดีอย่างยิ่งที่จะได้รับข่าวจากคุณเช่นกัน นอกจากนี้เรายังรับพัฒนาระบบใหม่ด้วย เราเป็นทีมเล็ก จึงไม่อาจเริ่มงานได้ทันทีเสมอไป — แต่สิ่งที่เราสร้างนั้นมีคุณภาพแบบเมดอินเจแปน และยังคงใกล้ชิดกับวิธีการทำธุรกิจที่เป็นจริงที่นี่ ทีละโครงการ
ติดต่อเรา