Odoo accounting Thailand: ปฏิทินยื่นภาษีรายเดือนสำหรับ SME
เจ้าของ SME ไทยส่วนใหญ่ไม่ได้กังวลว่า Odoo จะคำนวณ VAT ถูกหรือไม่ เพราะ Odoo ทำได้ถูกต้องอยู่แล้ว สิ่งที่ทำให้ฝ่ายบัญชีปวดหัวจริง ๆ คือปฏิทิน รายงานไหนต้องยื่นวันไหน และตัวเลขที่กรมสรรพากรคาดหวังตรงกับที่ Odoo แสดงบนหน้าจอหรือไม่ ระบบ Odoo accounting Thailand ทำเรื่องนี้ได้ดี แต่ต้องวางการตั้งค่าภาษีและขั้นตอนปิดบัญชีให้เป็นงานเดียวกัน เราผ่านการปิดบัญชีสิ้นเดือนร่วมกับลูกค้าไทยมามากพอจะรู้ว่า ช่องว่างระหว่าง "ตั้งค่าระบบถูกต้องแล้ว" กับ "ยื่นแบบทันเวลา" เกือบทุกครั้งเป็นปัญหากระบวนการทำงาน ไม่ใช่ปัญหาของตัวซอฟต์แวร์เอง
บทความนี้วางปฏิทินการปฏิบัติตามกฎหมายภาษีสำหรับ Odoo accounting Thailand เป็นระยะ ๆ พร้อมระบุหน้าจอและรายงานจริงเบื้องหลังตัวเลขแต่ละตัว เราสมมติว่าท่านตั้งค่า VAT และภาษีหัก ณ ที่จ่ายไว้เรียบร้อยแล้ว หากยังอยู่ในขั้นตอนตั้งค่า เริ่มจากบริการวางระบบ Odoo ที่ออกแบบมาเฉพาะข้อกำหนดการยื่นแบบของไทย ไม่ใช่การติดตั้งแบบทั่วไป
Odoo accounting Thailand อยู่หรือตายที่จังหวะรายเดือน
มีการยื่นแบบสองอย่างที่เกิดซ้ำทุกเดือนสำหรับบริษัทไทยเกือบทุกแห่ง ไม่ว่าขนาดเล็กหรือใหญ่ คือ VAT (ภ.พ.30) และภาษีหัก ณ ที่จ่าย (ภ.ง.ด.3 และ ภ.ง.ด.53) กำหนดเวลาของสองแบบนี้ไม่เหมือนกัน VAT ต้องยื่นภายในวันที่ 15 ของเดือนถัดไปหากยื่นแบบกระดาษ หรือวันที่ 23 หากยื่นผ่านระบบ e-filing ส่วนภาษีหัก ณ ที่จ่ายต้องยื่นเร็วกว่านั้น คือภายในวันที่ 7 ของเดือนถัดไปแบบกระดาษ หรือวันที่ 15 ผ่าน e-filing การสับสนกำหนดเวลาสองแบบนี้เป็นความผิดพลาดด้านตารางเวลาที่เราเจอบ่อยที่สุด
ตัวเลข VAT กับภาษีหัก ณ ที่จ่ายมาจากรายงานคนละตัว
ใน Odoo ตัวเลข VAT มาจาก Tax Report ภายใต้เมนู Accounting > Reporting รายงานนี้ดึงข้อมูลตรงจาก tax grid ที่ผูกกับแต่ละบรรทัดของใบแจ้งหนี้ เราจึงยืนยันมาตลอดว่าต้องแมปภาษีให้ถูกต้องตั้งแต่ขั้นตอนตั้งค่า ไม่ใช่มาแก้ทีหลัง หากบิลผู้ขายถูกบันทึกด้วยแท็กภาษีผิด Tax Report จะผิดตามไปด้วยทันที การกระทบยอดด้วย Excel ด้วยมืออีกกี่รอบก็แก้ปัญหาที่ต้นตอไม่ได้
ตัวเลขภาษีหัก ณ ที่จ่ายมาจากอีกรายงานหนึ่ง คือ Withholding Tax Report ซึ่งดึงจากรายการภาษีหัก ณ ที่จ่ายที่เกิดขึ้นเมื่อบันทึกบิลผู้ขายหรือใบแจ้งหนี้ลูกค้าที่ตั้งค่าภาษีหัก ณ ที่จ่ายไว้ เราเคยเห็นหลายบริษัทคำนวณภาษีหัก ณ ที่จ่ายด้วยสเปรดชีตที่ดึงจาก statement ธนาคาร ตัวเลขเกือบทุกครั้งไม่ตรงกับสิ่งที่ Odoo บันทึกจริง เพราะสเปรดชีตจำการจ่ายเงิน แต่ Odoo จำใบแจ้งหนี้และรายการภาษีที่ผูกอยู่กับมัน ควรกระทบยอดกับระบบ ไม่ใช่กับความจำ
ตัวเลขแต่ละเดือนอยู่ตรงไหนจริง ๆ
| การยื่นแบบ | กำหนดส่ง (กระดาษ / e-filing) | รายงานใน Odoo | ที่มาของข้อมูล |
|---|---|---|---|
| VAT (ภ.พ.30) | วันที่ 15 / 23 ของเดือนถัดไป | Accounting > Reporting > Tax Report | Tax grid บนบรรทัดใบแจ้งหนี้/บิล |
| ภ.ง.ด.3 (บุคคลธรรมดา) | วันที่ 7 / 15 ของเดือนถัดไป | Accounting > Reporting > Withholding Tax Report | ภาษีหัก ณ ที่จ่ายบนบิลผู้ขายที่เป็นบุคคลธรรมดา |
| ภ.ง.ด.53 (นิติบุคคล) | วันที่ 7 / 15 ของเดือนถัดไป | รายงานเดียวกัน กรองตามประเภทภาษีหัก ณ ที่จ่าย | ภาษีหัก ณ ที่จ่ายบนบิลผู้ขายที่เป็นนิติบุคคล |
| กระทบยอด PromptPay | รายวัน ปิดยอดรายเดือน | Accounting > Bank > Reconciliation | นำเข้า statement ธนาคารจับคู่กับใบแจ้งหนี้ |
| การส่งใบกำกับภาษีอิเล็กทรอนิกส์ | ต่อใบแจ้งหนี้ ตรวจสอบรายเดือน | Accounting > Customer Invoices, ฟิลด์สถานะ e-Tax | ใบแจ้งหนี้ที่ถูกตั้งค่าเป็น e-Tax/e-Receipt |
ข้อสังเกตเชิงปฏิบัติเรื่องใบกำกับภาษีอิเล็กทรอนิกส์และใบรับอิเล็กทรอนิกส์ Odoo ไม่ได้ส่งข้อมูลให้ระบบของกรมสรรพากรโดยตรงด้วยตัวเอง ขึ้นอยู่กับว่ากระบวนการใบกำกับภาษีอิเล็กทรอนิกส์ของท่านตั้งค่าไว้อย่างไร ใบแจ้งหนี้อาจถูกส่งออกเป็นรูปแบบที่ผู้ให้บริการที่ได้รับการรับรองต้องการ หรือส่งผ่าน API connector การตรวจสอบรายเดือนเหมือนกันทั้งสองแบบ คือยืนยันว่าทุกใบแจ้งหนี้ที่ต้องมีเอกสาร e-Tax มีจริงก่อนถึงกำหนดยื่นแบบ ไม่ใช่หลังจากนั้น
ครึ่งปี: ภ.ง.ด.51 และความคลาดเคลื่อนที่จับได้
ภาษีเงินได้นิติบุคคลของไทยมีการประมาณการครึ่งปี คือ ภ.ง.ด.51 ต้องยื่นภายในสองเดือนหลังสิ้นสุดหกเดือนแรกของรอบบัญชี นี่คือจุดที่ Odoo accounting Thailand จะแสดงผลคุ้มค่าของการตั้งค่า หรือไม่ก็เผยปัญหาที่สะสมมาเงียบ ๆ
ภ.ง.ด.51 ต้องใช้ตัวเลขประมาณการกำไรสุทธิประจำปี บัญชีบริหารของหกเดือนแรกจึงต้องปิดจริงอย่างแท้จริง ไม่ใช่แค่กรอกคร่าว ๆ เราพาลูกค้าตรวจสอบสามเรื่องนี้ก่อนยื่นแบบครึ่งปีเสมอ
- กระทบยอดทุกบัญชีธนาคารจนถึงวันสิ้นงวด ไม่ใช่แค่บัญชีที่เห็นชัดเจน
- การตีมูลค่าสต็อกเป็นปัจจุบัน โดยเฉพาะบริษัทที่ใช้ landed cost หรือคิดต้นทุนตาม lot เพราะการเคลื่อนไหวสต็อกที่ยังไม่บันทึกทำให้ต้นทุนขายต่ำกว่าความเป็นจริง
- ค่าเสื่อมราคาสินทรัพย์ถาวรถูกรันครบงวดแล้ว เพื่อไม่ให้กำไรสูงเกินจริงจากรายการค่าเสื่อมที่ขาดหายไป
รายงานกำไรขาดทุน (Accounting > Reporting > Profit and Loss) คือแหล่งที่มาของตัวเลขประมาณการนี้ หากรายงานนี้ไม่เคยถูกตรวจสอบทุกเดือน การประมาณการครึ่งปีจะกลายเป็นการเดาที่แต่งตัวเป็นแบบยื่นภาษี ตัวเลขที่เดามักนำไปสู่ค่าปรับจากการจ่ายขาด หรือจ่ายเกินจนเงินสดจมถึงสิ้นปี
การยื่นแบบประจำปี: ภ.ง.ด.50 และงบการเงินที่ผ่านการตรวจสอบ
แบบแสดงรายการภาษีเงินได้นิติบุคคลประจำปี ภ.ง.ด.50 ต้องยื่นภายใน 150 วันหลังสิ้นรอบบัญชี พร้อมงบการเงินที่ผ่านการตรวจสอบสำหรับนิติบุคคลส่วนใหญ่ นี่คือการยื่นแบบที่หนักที่สุดของปี และเป็นแบบที่เสี่ยงที่สุดต่อข้อผิดพลาดเล็ก ๆ ที่สะสมมาก่อนหน้านี้
เมื่อถึงสิ้นปี ตัวเลขเบื้องหลัง ภ.ง.ด.50 ควรมีอยู่แล้วใน Odoo คืองบกำไรขาดทุนเต็มปี งบดุล และรายละเอียดบัญชีแยกประเภททั่วไปที่ผู้สอบบัญชีจะร้องขอ หากปิดบัญชีรายเดือนถูกต้องมาตลอด การปิดบัญชีประจำปีก็แทบจะเป็นแค่พิธีการ แต่ถ้าไม่เคยปิดให้ถูกต้อง สิ้นปีจะกลายเป็นงานขุดค้นโบราณคดี ต้องคุ้ยหารายการที่ยังไม่กระทบยอดทั้งสิบสองเดือนภายใต้แรงกดดันของกำหนดเวลา
ข้อควรระวังที่ต้องพูดตรง ๆ คือ Odoo ไม่ได้ยื่นแบบให้กรมสรรพากรหรือกรมพัฒนาธุรกิจการค้าด้วยตัวเอง ระบบผลิตตัวเลขและรายละเอียดประกอบเท่านั้น การยื่นแบบจริงยังต้องผ่านนักบัญชี ผู้สอบบัญชี หรือระบบ e-filing ที่เกี่ยวข้อง ให้มอง Odoo เป็นแหล่งข้อมูลที่ถูกต้องของตัวเลข ไม่ใช่ตัวแทนในการยื่นแบบ
การสร้างปฏิทินภายใน Odoo
ปฏิทินการปฏิบัติตามกฎหมายภาษีจะใช้งานได้จริงก็ต่อเมื่อมีคนดูมันจริง ๆ โดยทั่วไปเราตั้งตารางกิจกรรมแบบวนซ้ำใน Odoo ผูกกับนักบัญชีผู้รับผิดชอบ พร้อมเตือนล่วงหน้าห้าวันทำการก่อนถึงกำหนดแต่ละครั้ง ช่วงเวลากันชนนี้สำคัญมาก เพราะห้าวันมักเพียงพอที่จะจับบิลผู้ขายที่ขาดหายหรือรายการธนาคารที่ยังไม่กระทบยอดได้ ก่อนที่มันจะกลายเป็นการยื่นแบบล่าช้า
สำหรับบริษัทที่ขายผ่าน Shopee, Lazada หรือ TikTok Shop ควรเพิ่มการตรวจสอบแบบวนซ้ำอีกหนึ่งรายการ คือการกระทบยอดการชำระเงินจากมาร์เก็ตเพลส คำสั่งซื้อและค่าธรรมเนียมไหลเข้ามาผ่านการเชื่อมต่อระบบอีคอมเมิร์ซ แต่จังหวะการชำระเงินมักไม่ตรงกับรอบเดือนปฏิทินเป๊ะ ๆ การกระทบยอดส่วนนี้ควรมีบรรทัดของตัวเองในตารางงาน ไม่ควรรวมเข้ากับการกระทบยอดธนาคารทั่วไป
เช็กลิสต์ปิดบัญชีสิ้นเดือนแบบใช้งานได้จริง
นี่คือลำดับขั้นที่เราใช้จริงกับลูกค้า ก่อนปิดงวดและเชื่อมั่นในตัวเลขสำหรับ VAT ภาษีหัก ณ ที่จ่าย หรือรายงานบริหาร
- ยืนยันว่าใบแจ้งหนี้ลูกค้าทั้งหมดของงวดถูกบันทึกแล้ว ไม่ค้างอยู่ในสถานะร่าง
- ยืนยันว่าบิลผู้ขายที่ได้รับทั้งหมดถูกบันทึกเข้าระบบแล้ว รวมถึงบิลที่ยังรออนุมัติ
- รันการกระทบยอดธนาคารให้เหลือรายการค้างที่ยังไม่จับคู่ซึ่งเก่ากว่างวดนี้เป็นศูนย์
- ตรวจสอบ Tax Report และ Withholding Tax Report เทียบกับเดือนก่อนเพื่อหาความผิดปกติ
- ยืนยันสถานะใบกำกับภาษีอิเล็กทรอนิกส์ของทุกใบแจ้งหนี้ที่เข้าเกณฑ์
- ล็อกงวดบัญชี (Accounting > Lock Dates) เพื่อไม่ให้มีรายการย้อนหลังเข้ามาโดยไม่ได้ตั้งใจ
ขั้นตอนสุดท้ายนี้ การล็อกงวดบัญชี คือสิ่งที่บริษัทส่วนใหญ่มักข้ามไปบ่อยที่สุด มันยังเป็นสาเหตุหลักของการถกเถียงกันอีกสามเดือนให้หลัง เมื่อมีคนถามว่าทำไมตัวเลข VAT ของเดือนที่ปิดไปแล้วถึงเปลี่ยน
เมื่อปฏิทินไม่เวิร์ก
ปฏิทินการยื่นแบบมักล้มเหลวด้วยสาเหตุหนึ่งในสองอย่าง คือผังบัญชีและการตั้งค่าภาษีไม่เคยถูกต้องตั้งแต่แรก หรือไม่มีใครรับผิดชอบปิดบัญชีตามกำหนดเวลาอย่างชัดเจน ซอฟต์แวร์แก้ปัญหาทั้งสองอย่างนี้ด้วยตัวเองไม่ได้ สิ่งที่มันทำได้คือทำให้ตัวเลขที่ถูกต้องหาเจอง่าย และตัวเลขที่ผิดมองข้ามได้ยาก โดยมีเงื่อนไขว่าการตั้งค่าต้องคำนึงถึงข้อกำหนดการยื่นแบบของไทยมาตั้งแต่วันแรก
หากระบบ Odoo ปัจจุบันของท่านถูกตั้งค่าแบบทั่วไป โดยไม่มีการแมป ภ.ง.ด.3 ภ.ง.ด.53 ใบกำกับภาษีอิเล็กทรอนิกส์ และ tax grid ที่เจาะจงสำหรับการรายงานแบบไทย ปฏิทินรายเดือนข้างต้นจะยากต่อการปฏิบัติตามกว่าที่ควร นี่มักเป็นจุดเริ่มต้นที่เราเข้าไปช่วยเมื่อลูกค้านำระบบเดิมมาให้เราดูแล แทนที่จะเป็นการวางระบบใหม่ตั้งแต่ต้น เราจะตรวจสอบการตั้งค่าภาษีก่อนเสมอ ก่อนไปแตะปฏิทินหรือกระบวนการปิดบัญชี งานดูแลระบบ Odoo ต่อเนื่อง ของเรามักเริ่มต้นที่จุดนี้เป็นประจำ



