กิจกรรมล่าสุดของไซต์

ผู้เขียนหน้าเว็บ

  • Sathit Jittanupat
    มีนาคม 18, 2012

สรรพากรเปลี่ยนเลขผู้เสียภาษีเป็น 13 หลัก

โพสต์19 ก.พ. 2555 03:43โดยSathit Jittanupat   [ อัปเดต 18 มี.ค. 2555 23:06 ]
อ้างอิงจาก กรมสรรพากร


สรุปสาระสำคัญ 

ให้นิติบุคคล เปลี่ยนเลขผู้เสียภาษี 10 หลัก ที่ออกโดยกรมสรรพากร
ไปใช้เลขนิติบุคคล 13 หลัก ที่ออกโดยกรมพัฒนาธุรกิจการค้า แทน
โดยเริ่มใช้ตั้งแต่ 1 ก.พ. 2555 แต่อนุโลมให้ใช้เลขผู้เสียภาษี 10 หลักเดิมได้ จนถึง 31 ม.ค. 2556

ผลกระทบที่เ่กิดขึ้น

 ใบกำกับภาษี เปลี่ยน เ่ลขผู้เสียภาษี ของผู้ออกเอกสาร 
 ใบเสร็จรับเงิน เปลี่ยน เลขผู้เสียภาษี ของผู้ออกเอกสาร
 แบบยื่น ภ.พ.30 เปลี่ยน เลขผู้เสียภาษี ของผู้ออกเอกสาร
 รายงานภาษีซื้อ, ภาษีขาย เปลี่ยน เลขผู้เสียภาษี ของผู้ออกเอกสาร
 ใบหักภาษี ณ ที่จ่าย เปลี่ยน เลขผู้เสียภาษี ของผู้หัก และ เลขผู้เสียภาษีของ ผู้ถูกหัก
 แบบยื่น ทั้งใบแรก และใบต่อ เปลี่ยน เลขผู้เสียภาษี ของผู้หัก และ เลขผู้เสียภาษีของ ผู้ถูกหัก 

ผลกระทบกับโปรแกรม scraft

 ระบบภาษีมูลค่าเพิ่ม ฐานข้อมูลผู้ประกอบการ เก็บเลขผู้เสียภาษีของกิจการ fix ไว้ที่ 10 หลัก
 แบบพิมพ์สำหรับยื่น ภพ.30 จะต้องปรับเปลี่ยน, รวมทั้งรายงานภาษีซื้อ/ ภาษีขาย 
 ระบบบิลขาย ฐานข้อมูลหมวดบิล เก็บเลขผู้เสียภาษีที่แสดงในฟอร์มบิล fix ไว้ที่ 10 หลัก
 แบบพิมพ์ฟอร์ม (INV-*.FRM) บางแบบ อาจต้องปรับเลื่อนตำแหน่งพิมพ์ เลขผู้เสียภาษี เพื่อไม่ให้ตัวเลขที่ยาวเกิน 10 หลัก เลยขอบเขตการพิมพ์
 ระบบบิลซื้อ เช่นเดียวกับบิลขาย แต่อาจมีผลกระทบน้อยกว่า เนื่องจากไม่ได้ใช้เป็นเอกสารภายนอก
 ระบบเจ้าหนี้ ฐานข้อมูลเจ้าหนี้ เก็บเลขผู้เสียภาษีของเจ้าหนี้ fix ไว้ที่ 10 หลัก
 ระบบภาษี ณ ที่จ่าย ฐานข้อมูลผู้ประกอบการ เก็บเลขผู้เสียภาษีของกิจการ fix ไว้ที่ 10 หลัก
 ฐานข้อมูลผู้เกี่ยวข้อง ซึ่งใช้เก็บข้อมูลผู้ถูกหักภาษี เก็บเลขผู้เสียภาษี fix ไว้ที่ 10 หลัก
 แบบพิมพ์ฟอร์ม ใบหักภาษี จะต้องปรับเปลี่ยนตำแหน่งพิมพ์ เลขผู้เสียภาษี ทั้งของผู้หัก และผู้ถูกหัก
 แบบพิมพ์สำหรับยื่น ภาษี ภงด. ต่างๆ ทั้งใบแรก และใบต่อ 

สรุปความเห็นของโปรแกรมเมอร์

ปัญหาการเปลี่ยนเลขผู้เสียภาษีคราวนี้ มีผลกระทบกับโปรแกรมของเราค่อนข้างมาก จนถึงขั้นต้องปรับโครงสร้างฐานข้อมูล (restructure database) แต่เนื่องจากโปรแกรมเรามีการใช้งานมายาวนาน หลายที่เป็นข้อมูลเก่าแก่เกิน 10 ปีขึ้นไป การปรับโครงสร้างฐานข้อมูลจึงเป็นทางเลือกสุดท้าย กรณีที่จำเป็นจริงๆ เท่านั้น

1. ปรับเล็ก

ใช้เทคนิค สร้างไฟล์ mapping id ขึ้นมา โดยผู้ใช้สามารถใส่ เลขผู้เสียภาษี ที่จับคู่กัน ระหว่าง เลขเก่า (ที่เก็บอยู่ใน database) กับเลขใหม่ 13 หลัก ด้วยตนเอง ซึ่งวิธีนี้ เหมาะสำหรับการเปลี่ยนเลขเสียภาษีของกิจการ ช่วยให้ไม่จำเป็นต้องเปลี่ยนโครงสร้างของ database แต่ก็มีข้อจำกัด คือไม่สามารถใส่รายการเลขผู้เสียภาษีจำนวนมากๆ ดังนั้น ถ้าใช้เปลี่ยนเลขผู้เสียภาษีของเจ้าหนี้ อาจทำให้เกินขีดจำกัดของโปรแกรม

2. ปรับใหญ่

แก้ปัญหาระยะยาว ปรับฐานข้อมูลเดิม (resturcture database) ให้สามารถรองรับเลขผู้เสียภาษี 13 หลักได้ จำเป็นต้องอาศัยผู้เชี่ยวชาญคอยดูแล เพื่อแก้ไขปัญหาที่อาจเกิดขึ้น ในระว่างทำการปรับโครงสร้าง database และติดตามผลหลังการปรับโครงสร้างแล้ว นอกจากนี้ อาจจะต้องมีผู้ช่วยจัดการแปลงเลขผู้เสียภาษีในฐานข้อมูลจาก 10 หลัก ให้เป็น 13 หลัก โดยไม่เป็นภาระกับผู้ใช้งาน

หมายเหตุ (1) จากการตรวจสอบคร่าวๆ โดยการค้นหาคำว่า "taxid" ใน project files ทั้งหมด พบว่ามี source code ที่เกี่ยวข้องกับ "taxid" ที่เราต้องตรวจสอบเพื่อปรับปรุงโปรแกรมอยู่ทั้งหมดประมาณ 1,000 แห่งครับ

หมายเหตุ (2) เกี่ยวกับ logic ของโปรแกรม ในการแยกประเภทของ ภงด. จากเลขผู้เสียภาษี 10 หลัก ของผู้ถูกหักภาษี เดิมเป็นดังนี้
1. เลขประจำตัวผู้เสียภาษีบุคคลธรรมดาขึ้นต้นด้วยเลข 1 เช่น 1 530536588 ปัจจุบันใช้เลขประจำตัวประชาชน 13 หลัก
2. หากขึ้นต้นด้วยเลข 2 หมายถึงคณะบุคคล
3. หากขึ้นต้นด้วยเลข 3 หมายถึง หจก.หรือบริษัท
4. หากขึ้นต้นด้วยเลข 4 หมายถึง ส่วนราชการต่าง ๆ เช่น โรงพยาบาล
กรณีที่เปลี่ยนไปใช้เลข 13 หลัก ตามเอกสารอ้างอิงของกรมพัฒนาธุรกิจ และความหมายของเลขบัตรประชาชน ซึ่งทำให้โปรแกรมต้องแก้ไข logic ใหม่ดังนี้
1. ตัวเลขหลักที่ 1
เลข 0 คือ เลขทะเบียนที่ออกโดยกรมพัฒนาธุรกิจ
เลข 1-8 คือ เลขบัตรประชาชน ซึ่งแบ่งเป็น 8 ประเภท
2. ตัวเลขหลักที่ 4 กรณี เลขตัวแรกเป็น 0
เลข 2 ห้างหุ้นส่วนสามัญนิติบุคคล
เลข 3 ห้างหุ้นส่วนจำกัด
เลข 4 หนังสือบริคณห์สนธิบริษัทจำกัด
เลข 5 บริษัทจำกัด
เลข 6 หนังสือบริคณห์สนธิบริษัทมหาชนจำกัด
เลข 7 บริษัทมหาชนจำกัด
เลข 8 หอการค้า
เลข 9 สมาคมการค้า
เลข 0 นิติบุคคลที่ตั้งขึ้นตามกฎหมายต่างประเทศที่ต้องปฏิบัติตามพระราชบัญญัติการประกอบธุรกิจของคนต่างด้าว พ.ศ. ๒๕๔๒

ความพร้อมของสรรพากร

ผมสำรวจความพร้อมของกรมสรรพากรเอง (20 ก.พ. 2555) ที่ website www.rd.go.th 
พบว่าส่วนให้บริการ download แบบพิมพ์ต่างๆ เองก็ยังไม่ได้ update ครบถ้วน เช่น
  • แบบพิมพ์ภาษีมูลค่าเพิ่ม มี update ให้รองรับเลข 13 หลัก เฉพาะ ภพ.30 และ เอกสารแนบ ภพ.30 ส่วนที่เหลือ ภพ.30.2, ภพ.30.3 และ ภพ.36 ยังไม่ได้ update
  • แบบพิมพ์ภาษีหัก ณ ที่จ่าย ใบแนบ ภงด.3, ใบแนบ ภงด.53 ยังไม่มีให้ download นอกจากนี้การออกแบบยังสุดโต่งคือ ให้กรอกแต่เลข 13 หลักอย่างเดียว ไม่สนใจว่า ช่วงเปลี่ยนแปลง ซึ่งการหักภาษี อาจจะยังไม่สามารถ update ใช้เลขของผู้ถูกหักเป็น 13 หลักได้ครบทุกราย

ความคืบหน้าการแก้ไขแบบพิมพ์

 WTFrm_D.FRM ฟอร์มใบหักภาษี ป.131 เต็มแผ่น 20-02-2555
 WTFrm1D.FRM ฟอร์มใบหักภาษี ป.100,131 เต็มแผ่น 20-02-2555 
 WTFrm2D.FRM ฟอร์มใบหักภาษี ป.100,131 ครึ่งแผ่น 20-02-2555 
 WTFrm4D.FRM ฟอร์มใบหักภาษี มีอ้างถึง เต็มแผ่น 20-02-2555 
 WTFrm5D.FRM ฟอร์มใบหักภาษี มีอ้างถึง ครึ่งแผ่น 20-02-2555 
 WTFrm6D.FRM ฟอร์มใบหักภาษี /ตัวแทน เต็มแผ่น 20-02-2555 
 WTFrm7D.FRM ฟอร์มใบหักภาษี /ตัวแทน ครึ่งแผ่น 20-02-2555 
 R_WT6_13.FRM ภงด.1 ร่าง ใบแรก 20-02-2555 
 R_WT6_23.FRM ภงด.2 ร่าง ใบแรก  20-02-2555 
 R_WT6_33.FRM ภงด.3 ร่าง ใบแรก  20-02-2555 
 R_WT6533.FRM ภงด.53 ร่าง ใบแรก  20-02-2555 
 R_WT6543.FRM ภงด.54 ร่าง ใบแรก  20-02-2555 
 R_WT6Y13.FRM ภงด.1ก ร่าง ใบแรก  20-02-2555 
 R_WT6Y23.FRM ภงด.2ก ร่าง ใบแรก 20-02-2555 
 R_WT6Y33.FRM ภงด.3ก ร่าง ใบแรก 20-02-2555 
 R_WT6_1$.FRM ภงด.1 ใบแรก (pnd1.pdf)* 19-03-2555
 R_WT6_2$.FRM ภงด.2 ใบแรก (pnd2.pdf)* 19-03-2555 
 R_WT6_3$.FRM ภงด.3 ใบแรก (pnd3.pdf)* 19-03-2555   
 R_WT653$.FRM ภงด.53 ใบแรก (pnd53.pdf)* 19-03-2555   
 R_WT6Y1$.FRM ภงด.1ก ใบแรก (pnd1a.pdf)* 19-03-2555 
 RepTax3.FRM ภพ.30 ร่าง ไม่ต้องแก้ไข
 RepTax3$.FRM ภพ.30 (pp30.pdf)* 18-03-2555
 RepTax3G.FRM เอกสารแนบ ภพ.30 ร้านทอง ไม่ต้องแก้ไข

หมายเหตุ การพิมพ์ลงแบบฟอร์มสรรพากร *

การพิมพ์ลงฟอร์ม สรรพากร โปรแกรมได้ปรับเปลี่ยนไปใช้วิธี auto fill form ลงไปในแบบพิมพ์ไฟล์ .pdf ของสรรพากรแทน

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


Comments