ข้ามไปยังเนื้อหา

ภาษีหัก ณ ที่จ่ายใน Odoo: ตั้งค่าและการใช้งาน

วิธีตั้งค่าประเภทภาษีหัก ณ ที่จ่าย อัตราภาษี และการลงบันทึกเอกสารใน Odoo ให้ถูกกฎหมายไทย

ภาษีหัก ณ ที่จ่ายใน Odoo: ตั้งค่าและการใช้งาน
Package tracking barcode scanner by IAEA (CC BY-SA 2.0)
Ravi Shanker Singhอ่าน 2 นาที

ความเข้าใจเบื้องต้นเกี่ยวกับภาษีหัก ณ ที่จ่าย

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

รูปแบบที่พบบ่อยในธุรกิจคือ ภ.ง.ด.3 สำหรับหักภาษีบุคคลธรรมดา เช่น ค่าจ้างช่างอิสระหรือค่าที่ปรึกษารายบุคคล และ ภ.ง.ด.53 สำหรับหักภาษีนิติบุคคล เช่น ค่าเช่าโกดัง ค่าบริการขนส่ง หรือค่าโฆษณาที่จ่ายให้บริษัทอื่น ส่วน ภ.ง.ด.54 ใช้กับการจ่ายเงินให้นิติบุคคลต่างประเทศที่ไม่ได้ประกอบกิจการในไทย อัตราหักก็ต่างกันไปตามประเภทเงินได้ เช่น ค่าบริการทั่วไป 3% ค่าเช่า 5% ค่าขนส่ง 1% ค่าโฆษณา 2%

ลองนึกภาพบริษัทรับเหมาไฟฟ้าในสมุทรปราการที่ว่าจ้างช่างเทคนิคอิสระเดือนละ 18-20 คน แต่ละคนรับค่าจ้างอยู่ระหว่าง 8,000-15,000 บาท ต้องหัก 3% แล้วออกหนังสือรับรองให้ทุกคนทุกเดือน ถ้าทำมือด้วย Excel ความเสี่ยงคือกรอกเลขผิด ลืมออกให้บางคน หรือยอดสะสมในรายงาน ภ.ง.ด.3 ไม่ตรงกับยอดที่จ่ายจริงในบัญชีแยกประเภท ปัญหานี้แก้ได้ตรงจุดถ้าตั้งค่าภาษีหัก ณ ที่จ่ายให้ผูกกับใบสั่งซื้อและใบเสร็จตั้งแต่ต้น

ตั้งค่าประเภทภาษีหัก ณ ที่จ่ายในระบบ Odoo

Odoo จัดการเรื่องนี้ผ่านชุดฟีเจอร์ Thai Localization (l10n_th) ซึ่งจะติดตั้งอัตโนมัติเมื่อบริษัทตั้งประเทศเป็นไทยตอนสร้างฐานข้อมูล ขั้นตอนตั้งค่าเบื้องต้นมีดังนี้

  • เข้าไปที่ Accounting ▸ Configuration ▸ Settings แล้วเลื่อนหาหมวด Thai Localization
  • เปิดสวิตช์ Withholding Tax ให้ทำงาน ระบบจะเพิ่มเมนูย่อยสำหรับจัดการประเภทภาษีหัก ณ ที่จ่ายให้อัตโนมัติ
  • สร้างประเภทภาษีหัก ณ ที่จ่ายแยกตามฟอร์มที่ต้องยื่น เช่น สร้างรายการสำหรับ ภ.ง.ด.3 และอีกชุดสำหรับ ภ.ง.ด.53 เพื่อไม่ให้ปะปนกันตอนสรุปยอด
  • ผูกแต่ละประเภทเข้ากับบัญชีภาษีหัก ณ ที่จ่ายค้างนำส่ง (โดยทั่วไปตั้งเป็นบัญชีในหมวดสินทรัพย์หมุนเวียน เพราะเป็นเงินที่บริษัทเป็นตัวแทนเก็บไว้ก่อนนำส่งกรมสรรพากร)

รายละเอียดหน้าจอและชื่อเมนูอาจต่างกันเล็กน้อยระหว่าง Odoo 17 และ 18 แต่โครงสร้างหลักคือต้องเปิดใช้งานฟีเจอร์นี้ก่อน แล้วจึงไปสร้างประเภทภาษี ดูรายละเอียดเพิ่มเติมได้ที่เอกสารทางการ Odoo หัวข้อ Thailand fiscal localization (https://www.odoo.com/documentation/18.0/applications/finance/fiscal_localizations/thailand.html) ซึ่งอธิบายทั้งเรื่อง Tax Invoice, Withholding Tax และ Statement Reports ไว้ในหน้าเดียวกัน

บริษัทรับเหมาก่อสร้างที่ถูกเจ้าของโครงการหักภาษี 3% ทุกงวดงานเป็นตัวอย่างที่ทำให้เห็นจุดพลาดนี้ชัดที่สุด เพราะบางธุรกิจไม่ได้เป็นแค่ฝ่ายหักภาษีคนอื่นอย่างเดียว แต่ถูกลูกค้าหักภาษีกลับมาด้วยเช่นกัน ถ้าตอนสร้างประเภทภาษีลืมกำหนดให้ชัดว่าใช้กับฝั่ง "ผู้ขาย" (vendor bill) หรือฝั่ง "ลูกค้า" (customer invoice) แล้วเผลอตั้งสลับกัน ตัวเลขในรายงานภาษีปลายเดือนจะเพี้ยนทันทีโดยไม่มีสัญญาณเตือนใดๆ ก่อน

กำหนดอัตราภาษีและเงื่อนไขการหักภาษี

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

  • ค่าบริการวิชาชีพและค่าจ้างทำของทั่วไป มักหัก 3%
  • ค่าเช่าอสังหาริมทรัพย์ หัก 5%
  • ค่าขนส่งที่ผู้ให้บริการมีใบอนุญาตขนส่ง หัก 1%
  • ค่าโฆษณา หัก 2%
  • ค่านายหน้าหรือค่าธรรมเนียมบางประเภท หัก 3-5% แล้วแต่ลักษณะสัญญา

ทุกรายการควรตั้งเป็นภาษีย่อยที่ผูกกับรหัสประเภทเงินได้ตามมาตรา 40 เพื่อให้ตอนออกรายงานสรุปส่งกรมสรรพากรระบบแยกยอดให้เองโดยไม่ต้องนั่งไล่ทีละบิล

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

เมื่อบันทึกบิลผู้ขาย เช่น ค่าที่ปรึกษาบัญชี 20,000 บาทต่อเดือน พนักงานเลือกทั้งภาษีมูลค่าเพิ่ม 7% และภาษีหัก ณ ที่จ่าย 3% ในบรรทัดเดียวกันได้เลย ระบบจะคำนวณยอดสุทธิที่ต้องจ่ายให้อัตโนมัติ

การลงบันทึกเอกสารและค่าธรรมเนียมที่เกี่ยวข้อง

ตอนยืนยันบิลผู้ขายที่มีภาษีหัก ณ ที่จ่ายติดอยู่ Odoo จะสร้างสมุดรายวันที่แยกรายการชัดเจนกว่าการหักแบบมือ

ตัวอย่างตัวเลขจากกรณีค่าที่ปรึกษา 20,000 บาท บวกภาษีมูลค่าเพิ่ม 7% เป็น 1,400 บาท และหักภาษี ณ ที่จ่าย 3% ของ 20,000 บาทเท่ากับ 600 บาท ยอดที่ต้องโอนจ่ายจริงให้ผู้รับเงินจึงเหลือ 20,800 บาท ไม่ใช่ 21,400 บาทเต็ม สมุดรายวันจะเดบิตค่าใช้จ่ายที่ปรึกษา 20,000 บาท เดบิตภาษีซื้อ 1,400 บาท เครดิตเจ้าหนี้การค้า 20,800 บาท และเครดิตบัญชีภาษีหัก ณ ที่จ่ายค้างนำส่ง 600 บาท

บัญชีภาษีหัก ณ ที่จ่ายค้างนำส่งตัวนี้คือหัวใจของการกระทบยอดปลายเดือน เพราะยอดคงเหลือในบัญชีนี้ต้องเท่ากับยอดที่จะนำส่งกรมสรรพากรผ่านแบบ ภ.ง.ด.3 หรือ ภ.ง.ด.53 ภายในวันที่ 7 ของเดือนถัดไป เมื่อจ่ายเงินจริงให้กรมสรรพากรแล้ว ต้องบันทึกรายการล้างบัญชีนี้ออก โดยเดบิตบัญชีภาษีหัก ณ ที่จ่ายค้างนำส่งและเครดิตเงินสดหรือธนาคาร ถ้าลืมล้างรายการนี้ ยอดคงเหลือในงบทดลองจะพอกพูนขึ้นเรื่อยๆ จนตรวจสอบย้อนหลังยากมาก

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

ขั้นตอนออกหนังสือรับรองภาษีหัก ณ ที่จ่าย

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

  • เลขประจำตัวผู้เสียภาษีอากรของบริษัท (ผู้จ่ายเงิน) ต้องกรอกไว้ในข้อมูลบริษัทให้ครบ
  • เลขประจำตัวผู้เสียภาษีอากรและที่อยู่ของผู้ขาย (ผู้รับเงิน) ต้องกรอกไว้ในการ์ดผู้ติดต่อให้ถูกต้องตั้งแต่ตอนสร้างระเบียนผู้ขายครั้งแรก
  • ประเภทเงินได้ตามมาตรา 40 ที่ผูกกับภาษีหัก ณ ที่จ่ายแต่ละประเภทที่ตั้งไว้ก่อนหน้านี้

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

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

ตรวจสอบและส่งออกข้อมูลสำหรับงบการคำนวณภาษี

ก่อนยื่นแบบทุกเดือน ควรเรียกรายงานสรุปภาษีหัก ณ ที่จ่ายจากเมนู Accounting ▸ Reporting โดยกรองตามช่วงเวลาและประเภทฟอร์ม (ภ.ง.ด.3 หรือ ภ.ง.ด.53) รายงานนี้จะรวมยอดตามผู้ขายแต่ละรายให้ ทำให้เห็นภาพรวมว่าต้องนำส่งกรมสรรพากรทั้งหมดเท่าไหร่ในเดือนนั้น

ขั้นตอนที่ควรทำเป็นประจำทุกเดือนก่อนยื่นแบบ

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

Odoo สร้างรายงานสรุปยอดให้ครบถ้วน แต่ไม่ได้ผูกการส่งไฟล์ตรงเข้าระบบ e-filing ของกรมสรรพากรหรือระบบ e-withholding tax ของธนาคาร ทีมบัญชีจึงยังต้องนำตัวเลขจากรายงานไปกรอกในระบบยื่นแบบของกรมสรรพากรเองอีกขั้นหนึ่ง ระบบช่วยลดงานตรงการคำนวณ การออกหนังสือรับรอง และการกระทบยอดบัญชีให้แม่นยำ แต่ขั้นตอนยื่นแบบจริงยังเป็นงานที่ต้องทำแยกต่างหาก

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

แหล่งอ้างอิง

  • accounting
  • withholding-tax
  • odoo-thailand
  • tax-compliance
  • finance

ผลงานจากทีมวิศวกรของเราเอง

Shopify Odoo Connector

ซิงก์สองทาง Shopify ⇄ Odoo แบบเรียลไทม์ ทั้งสินค้า สต็อก คำสั่งซื้อ ลูกค้า และการคืนเงิน

$230.98 จ่ายครั้งเดียว

ดูรายละเอียด
พร้อมหรือยัง?

มาดูกันว่า Odoo เหมาะกับธุรกิจของคุณจริงหรือไม่

คุยกันสั้น ๆ พร้อมคำตอบตรงไปตรงมา ถ้ามันไม่ใช่ระบบที่เหมาะกับคุณ เราจะบอกตามตรง

LINE myprofitbook · WhatsApp · Bangkok · New York · Delhi NCR