Buyer's Guide

สัญญาจ้างเขียนโปรแกรม ต้องมีข้อไหนบ้าง ตัวอย่างข้อความ และจุดที่มักพัง

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

คำตอบสั้นๆ

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

ประเด็นสำคัญ

  • ขอบเขตงานที่เขียนเป็นรายการสิ่งที่ผู้ใช้ต้องทำได้ ใช้เป็นรายการทดสอบตอนตรวจรับได้ทันที
  • ผูกแต่ละงวดเงินกับงานที่ตรวจรับได้ ไม่ใช่กับวันที่ และกำหนดกรอบเวลาตรวจรับกับแก้ไขทั้งสองฝั่ง
  • พ.ร.บ.ลิขสิทธิ์ มาตรา 10 ให้ลิขสิทธิ์งานจ้างเป็นของผู้ว่าจ้าง เว้นแต่ตกลงกันเป็นอื่น แต่การส่งมอบซอร์สโค้ดต้องเขียนแยก
  • ผู้ว่าจ้างนิติบุคคลปกติหัก ณ ที่จ่าย 3% และสัญญาจ้างทำของติดอากรแสตมป์ 1 บาททุก 1,000 บาท
  • ระบบที่เก็บข้อมูลส่วนบุคคล ต้องมีข้อตกลงกับผู้ประมวลผลข้อมูลตาม PDPA มาตรา 40

สัญญาจ้างเขียนโปรแกรม ต้องมีข้อไหนบ้าง

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

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

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

ขอบเขตงาน เขียนยังไงไม่ให้เถียงกันทีหลัง

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

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

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

งวดเงินและการตรวจรับ ควรเขียนยังไง

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

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

  • ตัวอย่างข้อความ "ผู้ว่าจ้างจะทดสอบงานแต่ละงวดตามรายการในภาคผนวก ก ภายใน 10 วันทำการนับจากวันที่ได้รับแจ้งการส่งมอบ และแจ้งรายการที่ไม่ผ่านเป็นลายลักษณ์อักษร"
  • ตัวอย่างข้อความ "ข้อบกพร่องเล็กน้อยที่ไม่ทำให้ใช้งานตามรายการไม่ได้ ไม่เป็นเหตุให้ปฏิเสธการตรวจรับ ผู้รับจ้างจะแก้ไขภายในระยะรับประกัน"
การตรวจรับแต่ละงวด เดินตามลำดับนี้
  1. แจ้งส่งมอบผู้รับจ้างแจ้งส่งมอบงานของงวดนั้นเป็นลายลักษณ์อักษร
  2. ทดสอบผู้ว่าจ้างทดสอบตามรายการในภาคผนวก ก ภายในกรอบวันที่ตกลง
  3. แจ้งผลแจ้งรายการที่ไม่ผ่านเป็นลายลักษณ์อักษร ข้อบกพร่องเล็กน้อยไม่เป็นเหตุปฏิเสธ
  4. แก้ไขผู้รับจ้างแก้ข้อที่ไม่ผ่านภายในกรอบวันที่ตกลง
  5. ตรวจรับและจ่ายตรวจรับงวดนั้น แล้วจ่ายเงินงวดตามสัญญา

ลิขสิทธิ์และซอร์สโค้ด เป็นของใคร

พระราชบัญญัติลิขสิทธิ์ พ.ศ. 2537 มาตรา 10 วางหลักว่างานที่สร้างสรรค์ขึ้นจากการรับจ้าง ลิขสิทธิ์เป็นของผู้ว่าจ้าง เว้นแต่จะตกลงกันไว้เป็นอย่างอื่น แต่การเป็นเจ้าของลิขสิทธิ์ไม่ได้แปลว่าซอร์สโค้ดมาอยู่ในมือ ต้องเขียนให้ชัดว่าส่งมอบอะไร เมื่อไหร่ และที่ไหน

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

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

งานเพิ่ม การรับประกัน และการดูแลหลังส่งมอบ เขียนยังไง

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

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

ขอเพิ่มหรือเปลี่ยนงานระหว่างทาง
  1. ขอเป็นลายลักษณ์อักษรผู้ว่าจ้างเขียนว่าต้องการเพิ่มหรือเปลี่ยนอะไร
  2. ประเมินผู้รับจ้างประเมินราคาและเวลาของงานเพิ่มนั้น
  3. อนุมัติผู้ว่าจ้างอนุมัติราคาและเวลาก่อนเริ่มทำงานเพิ่ม
  4. แยกตรวจรับงานเพิ่มตรวจรับแยก ไม่ทำให้การตรวจรับงานตามขอบเขตเดิมสะดุด

PDPA การยกเลิกสัญญา และภาษี ต้องเขียนอะไร

ถ้าระบบเก็บข้อมูลส่วนบุคคล ผู้พัฒนาที่เข้าถึงข้อมูลจริงถือเป็นผู้ประมวลผลข้อมูล และพระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล พ.ศ. 2562 มาตรา 40 กำหนดให้ผู้ควบคุมข้อมูลจัดให้มีข้อตกลงกับผู้ประมวลผลข้อมูล จะเขียนเป็นข้อในสัญญาหรือแยกเป็นข้อตกลงการประมวลผลข้อมูล (DPA) ก็ได้

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

  • ระบุว่าราคารวมภาษีมูลค่าเพิ่มแล้วหรือยัง ถ้าผู้รับจ้างจดทะเบียนภาษีมูลค่าเพิ่ม
  • ระบุว่าหักภาษี ณ ที่จ่ายจากยอดก่อนภาษีมูลค่าเพิ่ม
  • ผู้ประมวลผลข้อมูลต้องลบหรือคืนข้อมูลส่วนบุคคลเมื่อสัญญาสิ้นสุด
ตัวเลขทางภาษีและกฎหมายที่ต้องมีในสัญญา
หัก ณ ที่จ่ายค่าจ้างทำของ เมื่อผู้ว่าจ้างเป็นนิติบุคคล
3%
อากรแสตมป์ทุก 1,000 บาทของค่าจ้าง (ลักษณะแห่งตราสาร 4)
1 บาท
PDPA ต้องมีข้อตกลงกับผู้ประมวลผลข้อมูล
มาตรา 40

สัญญาจ้างเขียนโปรแกรมมักพังตรงไหน

สัญญาส่วนใหญ่ไม่ได้พังเพราะผิดกฎหมาย แต่พังเพราะเขียนกว้างจนแต่ละฝ่ายอ่านไม่เหมือนกัน ห้าจุดข้างล่างคือที่เจอบ่อย และข้อความที่ปิดช่องนั้นได้

ข้อที่ทำให้พัง เทียบกับข้อที่ป้องกันได้

เขียนแบบนี้มักพัง

  • ขอบเขตเขียนว่า "ระบบบริหารงานขายครบวงจร" ไม่มีรายการ
  • จ่ายงวดใหญ่ก่อนเห็นงาน งวดสุดท้ายเหลือน้อย
  • ซอร์สโค้ดอยู่ในบัญชีของผู้รับจ้าง
  • ไม่มีกรอบเวลาตรวจรับ งานค้างเป็นเดือน
  • รวมค่าดูแลรายปีไว้ในราคาพัฒนา ไม่บอกวันหมด

เขียนแบบนี้ป้องกันได้

  • ขอบเขตคือรายการทดสอบในภาคผนวก
  • แต่ละงวดผูกกับงานที่ตรวจรับได้
  • repository อยู่ในบัญชีผู้ว่าจ้างตั้งแต่วันแรก
  • กรอบเวลาทดสอบและแก้ไขทั้งสองฝั่ง
  • ค่าดูแลแยกจากค่าพัฒนา มีราคาและระยะเวลาชัด

เช็กลิสต์ก่อนเซ็นสัญญาจ้างเขียนโปรแกรม

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

คำถามที่พบบ่อย

ลิขสิทธิ์ source code ของโปรแกรมที่จ้างทำ เป็นของใคร?

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

ค่าจ้างเขียนโปรแกรม ต้องหักภาษี ณ ที่จ่ายเท่าไหร่?

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

สัญญาจ้างเขียนโปรแกรมต้องติดอากรแสตมป์ไหม?

ต้อง สัญญาจ้างทำของติดอากรแสตมป์ 1 บาททุก 1,000 บาทหรือเศษของ 1,000 บาทของค่าจ้าง ตามบัญชีอัตราอากรแสตมป์ ลักษณะแห่งตราสาร 4 ผู้รับจ้างเป็นผู้เสียอากรตามกฎหมาย แต่ในทางปฏิบัติมักตกลงกันในสัญญาว่าใครเป็นคนจ่าย

ใบเสนอราคาที่เซ็นแล้ว ใช้แทนสัญญาได้ไหม?

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

จ้างทำระบบที่มีข้อมูลลูกค้า ต้องทำ DPA ไหม?

ต้องมีข้อตกลงกับผู้ประมวลผลข้อมูล ถ้าผู้พัฒนาเข้าถึงข้อมูลส่วนบุคคลจริง เพราะ PDPA มาตรา 40 กำหนดให้ผู้ควบคุมข้อมูลจัดให้มีข้อตกลงนี้ จะเขียนเป็นข้อในสัญญาจ้างหรือแยกเป็น DPA ก็ได้ อย่างน้อยควรระบุว่าผู้รับจ้างต้องลบหรือคืนข้อมูลเมื่อสัญญาสิ้นสุด

เลิกจ้างทำโปรแกรมกลางทาง ต้องจ่ายเท่าไหร่?

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

เริ่มจากเล่าปัญหา

อยากเห็นสัญญาที่ขอบเขตงานคือรายการทดสอบจริงไหม?

เราสรุปขอบเขตงานเป็นรายการสิ่งที่ผู้ใช้ต้องทำได้ และแบ่งงวดตามงานส่งมอบ ทั้งสองฝ่ายจึงเปิดรายการเดียวกันตอนตรวจรับ

ดูแลธุรกิจคุณด้วยมืออาชีพ

Your business,
in professional hands.