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

ภาษีหัก ณ ที่จ่ายไม่ได้คิดจากการจ่ายครั้งนั้น แต่คิดจากทั้งปีปฏิทิน

August 24, 2026 · Taro — ผู้ก่อตั้ง KAZENA

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

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

ขอเขียนตัวเลขให้ดู ค่าตอบแทนที่จ่ายให้บุคคลธรรมดาที่ไม่ใช่พนักงาน จำนวน 150,000,000 รูเปียห์ ให้คนเดียวกัน 2 ครั้ง ในเดือนกุมภาพันธ์และเดือนสิงหาคม สำหรับประเภทนี้ ฐานที่ต้องเสียภาษีคือครึ่งหนึ่งของยอดรวม จึงเท่ากับ 75,000,000 รูเปียห์ต่อครั้ง อัตราภาษีเป็นแบบขั้นบันไดตาม Pasal 17 คือ 5% สำหรับส่วนที่ไม่เกิน 60,000,000 รูเปียห์ และ 15% ต่อจากนั้นจนถึง 250,000,000

การคำนวณที่ถูกต้องต้องคิดจากยอดสะสม การจ่ายครั้งแรกคือภาษีของฐานสะสม 75,000,000 รูเปียห์ ได้เท่ากับ 5,250,000 รูเปียห์ ส่วนครั้งที่ 2 คือภาษีของฐานสะสม 150,000,000 รูเปียห์ ซึ่งเท่ากับ 16,500,000 รูเปียห์ แล้วหักด้วย 5,250,000 รูเปียห์ที่หักไปแล้ว เหลือ 11,250,000 รูเปียห์ แต่ซอฟต์แวร์ของเรากลับให้ตัวเลข 5,250,000 รูเปียห์อีกครั้งในการจ่ายครั้งที่ 2 ส่วนต่างคือ 6,000,000 รูเปียห์

สิ่งที่เกิดขึ้นคือขั้น 5% ถูกใช้ไป 2 รอบ คนหนึ่งคนมีขั้น 60,000,000 รูเปียห์ได้เพียงครั้งเดียวในหนึ่งปีปฏิทิน ถ้าคำนวณการจ่ายแต่ละครั้งแยกจากกัน ขั้นอัตราต่ำสุดก็จะถูกแจกให้ใหม่ทุกครั้งที่จ่าย ยิ่งจ่ายหลายครั้ง ยอดที่ขาดก็ยิ่งมาก

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

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

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

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

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

ยอดสะสมของเราก็มีขีดจำกัด มันเป็นยอดสะสมเฉพาะการจ่ายที่บันทึกไว้ใน KAZENA เท่านั้น ถ้าคนคนเดียวกันได้รับค่าตอบแทนจากบริษัทอื่นด้วย ยอดสะสมทั้งปีจริง ๆ ย่อมมากกว่านั้น เมื่อซอฟต์แวร์เงียบ คนก็จะอ่านตัวเลขบนหน้าจอว่าคือทั้งหมด ตอนนี้เราจึงพิมพ์ข้อความ 1 บรรทัดไว้ข้างตัวเลขนั้น ว่ามีอะไรบ้างที่ไม่ได้รวมอยู่ในนั้น

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

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

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

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

ติดต่อเรา

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