วิธีสร้างแอปติดตามเวลา: ตัวจับเวลา ใบบันทึกเวลา และรายงาน
แอปติดตามเวลาบันทึกว่าใครทำอะไร นานเท่าไร และเวลานั้นเรียกเก็บเงินได้หรือไม่ การสร้างแอปนี้ต้องมีลูกค้าและโปรเจกต์ให้ติดตามเทียบกับ ตัวจับเวลาที่ยังทำงานได้แม้ปิดแท็บเบราว์เซอร์ วิธีเพิ่มและแก้ไขรายการด้วยมือ ใบบันทึกเวลารายสัปดาห์ และรายงานที่เปลี่ยนรายการดิบให้เป็นยอดรวม เครื่องมือสร้างแอปด้วย AI สร้างเวอร์ชันแรกที่ใช้งานได้จากพรอมต์ที่ชัดเจนหนึ่งข้อ การตัดสินใจที่สำคัญคือเรื่องกฎ ได้แก่ การปัดเศษ ใครแก้ไขอะไรได้ สัปดาห์ถูกล็อกเมื่อไร และอะไรนับเป็นชั่วโมงที่คิดเงินได้
กำหนดก่อนว่าจะติดตามเวลาเพื่ออะไร
แอปเดียวกันดูต่างกันไปตามเหตุผลเบื้องหลัง:
- เรียกเก็บเงินลูกค้า ชั่วโมงต่อลูกค้า อัตราต่อคนหรือต่อโปรเจกต์ และการส่งออกที่สะอาดสำหรับใบแจ้งหนี้ ความแม่นยำและร่องรอยการตรวจสอบสำคัญที่สุด
- เงินเดือนพนักงานรายชั่วโมง เวลาเข้างาน-เลิกงาน พักเบรก กฎค่าล่วงเวลา และการยืนยันจากผู้จัดการ มีกฎแรงงานท้องถิ่นที่ต้องใช้ ตรวจสอบว่าคุณต้องเก็บบันทึกอะไรบ้าง
- เข้าใจว่าเวลาหายไปที่ไหน ข้อมูลเชิงลึกส่วนตัวหรือของทีม การประมาณเทียบกับจริง ความเร็วในการกรอกสำคัญกว่าขั้นตอนการอนุมัติ
เลือกหนึ่งอย่างเป็นงานหลักของเวอร์ชันแรก ตัวติดตามเวลาสำหรับการเรียกเก็บเงินของฟรีแลนซ์กับนาฬิกาเข้างานของคลังสินค้าใช้ตัวจับเวลาร่วมกันแต่แทบไม่มีอย่างอื่นเหมือนกัน
แอปต้องมีอะไรบ้าง
ข้อมูล
| ตาราง | ฟิลด์หลัก |
|---|---|
| ลูกค้า | ชื่อ อัตราค่าบริการต่อชั่วโมงเริ่มต้น สถานะใช้งานอยู่หรือไม่ |
| โปรเจกต์ | ลูกค้า ชื่อ งบชั่วโมง (ไม่บังคับ) คิดเงินได้เป็นค่าเริ่มต้นหรือไม่ |
| งานหรือหมวดหมู่ | โปรเจกต์ ชื่อ (ออกแบบ ประชุม ซัพพอร์ต) ไม่บังคับในตอนแรก |
| รายการเวลา | คน โปรเจกต์ งาน เวลาเริ่ม เวลาสิ้นสุด ระยะเวลา หมายเหตุ คิดเงินได้หรือไม่ สถานะ (ร่าง ส่งแล้ว อนุมัติแล้ว) ออกใบแจ้งหนี้แล้วหรือไม่ |
| คน | ชื่อ อีเมล บทบาท อัตราต้นทุนหรืออัตราที่เรียกเก็บ |
เก็บ เวลาเริ่มและเวลาสิ้นสุด ในทุกรายการ และคำนวณระยะเวลาจากค่าเหล่านั้น รายการที่พิมพ์เป็น “2 ชั่วโมง 15 นาที” โดยไม่มีเวลาอาจเก็บเฉพาะระยะเวลาได้ แต่ควรเก็บวันที่ไว้ด้วย
หน้าต่างๆ
- ตัวจับเวลาและวันนี้: ปุ่มเริ่ม/หยุดขนาดใหญ่ ตัวเลือกโปรเจกต์ และรายการของวันนี้อยู่ด้านล่าง
- มุมมองรายสัปดาห์: ตารางที่มีโปรเจกต์อยู่แนวตั้งและวันจันทร์ถึงอาทิตย์อยู่แนวนอน ให้คนพิมพ์ชั่วโมงลงในช่องได้ทันที หลายคนชอบแบบนี้มากกว่าตัวจับเวลา
- รายงาน: ชั่วโมงต่อลูกค้า โปรเจกต์ และคน ในช่วงวันที่ที่กำหนด แยกส่วนที่คิดเงินได้และไม่ได้ พร้อมการส่งออก CSV
- แอดมิน: จัดการลูกค้า โปรเจกต์ คน และอัตรา
สิทธิ์การเข้าถึง
เขียนให้ชัดว่าใครทำอะไรได้ก่อนสร้าง:
- คนเห็นและแก้ไข รายการของตัวเอง ได้
- ผู้จัดการเห็นรายการของทีมและอนุมัติสัปดาห์
- มีเพียงแอดมินที่เปลี่ยนอัตราได้ และควรให้เฉพาะแอดมินเห็นอัตราเหล่านั้นด้วย
- ไม่มีใครแก้ไขรายการที่อนุมัติหรือออกใบแจ้งหนี้แล้ว เว้นแต่แอดมินจะเปิดใหม่
กฎสุดท้ายนี้คือสิ่งที่ทำให้รายงานเชื่อถือได้ วิธีเพิ่มการล็อกอินให้แอปของคุณครอบคลุมส่วนการลงชื่อเข้าใช้ และการควบคุมการเข้าถึงตามบทบาทครอบคลุมบทบาท
การตัดสินใจและการแลกเปลี่ยน
ตัวจับเวลา การกรอกเอง หรือทั้งสองอย่าง
ตัวจับเวลาแม่นยำเมื่อคนจำได้ที่จะเริ่ม ซึ่งไม่ได้เกิดขึ้นเสมอไป การกรอกเองเร็วสำหรับคนที่กรอกทั้งสัปดาห์ในวันศุกร์ ทีมส่วนใหญ่ต้องการทั้งสองอย่าง และวิธีแก้ไขรายการจากตัวจับเวลาย้อนหลัง ถ้าสร้างได้อย่างเดียว ให้สร้างตารางรายสัปดาห์ เพราะเรียบง่ายกว่าและครอบคลุมกรณีลืมเริ่มตัวจับเวลา
ตัวจับเวลาที่วิ่งอยู่เก็บที่ไหน
ตัวจับเวลาที่นับในเบราว์เซอร์จะหายทั้งหมดเมื่อปิดแท็บ เมื่อมีคนกดเริ่ม ให้ บันทึกเวลาเริ่มลงฐานข้อมูล และแสดงเวลาที่ผ่านไปโดยนำเวลาปัจจุบันลบออกจากเวลาที่บันทึกไว้ ตัวจับเวลาจึงทำงานต่อได้ข้ามการรีเฟรช แล็ปท็อป และโทรศัพท์ ตัดสินใจว่าคนเดียวจะรันตัวจับเวลาสองตัวพร้อมกันได้หรือไม่ ส่วนใหญ่คำตอบคือไม่ได้: การเริ่มตัวใหม่จะหยุดตัวเก่า
การปัดเศษ
กฎที่พบบ่อยคือปัดแต่ละรายการขึ้นไปเป็น 6, 15 หรือ 30 นาทีที่ใกล้ที่สุด เก็บเวลาที่แน่นอนในฐานข้อมูล และใช้การปัดเศษเฉพาะในรายงานและใบแจ้งหนี้ แสดงตัวเลขทั้งสองค่าในรายงาน เพื่อไม่ให้ใครแปลกใจ
การล็อกและการอนุมัติ
ถ้าไม่ล็อก ชั่วโมงที่เรียกเก็บของเดือนที่แล้วอาจเปลี่ยนได้หลังส่งใบแจ้งหนี้ไปแล้ว โมเดลง่ายๆ: คนส่งสัปดาห์หนึ่ง ผู้จัดการอนุมัติ และรายการที่อนุมัติแล้วจะอ่านได้อย่างเดียว ถ้าคุณออกใบแจ้งหนี้จากแอป ให้ทำเครื่องหมายรายการว่าออกใบแจ้งหนี้แล้วเพื่อไม่ให้เรียกเก็บซ้ำ
เขตเวลาและเที่ยงคืน
เก็บเวลาเป็น UTC และแสดงในเขตเวลาของแต่ละคน ตัดสินใจว่ารายการที่วิ่งจาก 23:00 ถึง 01:00 เป็นของวันไหน คำตอบที่ใช้กันทั่วไปคือวันที่เริ่ม
พรอมต์แรกที่ใช้ได้จริง
สร้างแอปติดตามเวลาสำหรับสตูดิโอออกแบบหกคน ข้อมูล: ลูกค้า (ชื่อ อัตราต่อชั่วโมง) โปรเจกต์ (ลูกค้า ชื่อ ชั่วโมงงบประมาณ) และรายการเวลา (คน โปรเจกต์ เริ่ม สิ้นสุด หมายเหตุ คิดเงินได้ใช่/ไม่ สถานะ draft/submitted/approved) หน้า: หน้า Today ที่มีตัวจับเวลาเริ่ม/หยุดและตัวเลือกโปรเจกต์ ซึ่งบันทึกเวลาเริ่มลงฐานข้อมูลเพื่อให้ตัวจับเวลาอยู่รอดหลังรีเฟรช หน้า Week ที่มีโปรเจกต์เป็นแถว และวันจันทร์ถึงอาทิตย์เป็นคอลัมน์ ให้คนพิมพ์ชั่วโมงได้โดยตรง หน้า Reports แสดงชั่วโมงต่อลูกค้า โปรเจกต์ และคน ในช่วงวันที่ที่เลือก แยกส่วนคิดเงินได้และไม่ได้ พร้อมส่งออก CSV และหน้า Admin สำหรับลูกค้า โปรเจกต์ และคน ให้มีตัวจับเวลาที่วิ่งได้เพียงหนึ่งตัวต่อคน รายการที่อนุมัติแล้วแก้ไขไม่ได้ เก็บเวลาเป็น UTC และแสดงในเขตเวลาของผู้ใช้ ดีไซน์สะอาด รวดเร็ว และใช้คีย์บอร์ดได้สะดวก
ขั้นตอนการสร้าง
- โปรเจกต์และการกรอกด้วยมือก่อน ลูกค้า โปรเจกต์ ฟอร์มเพิ่มรายการ และรายการ ตรวจว่ายอดรวมถูกต้อง
- ตัวจับเวลา เริ่ม หยุด ตัวจับเวลาที่วิ่งได้หนึ่งตัวต่อคน และเวลาเริ่มที่บันทึกไว้ ทดสอบโดยเริ่มตัวจับเวลา ปิดแท็บ แล้วเปิดใหม่
- ตารางรายสัปดาห์ การพิมพ์ชั่วโมงลงในช่องจะสร้างหรืออัปเดตรายการ
- การล็อกอินและบทบาท เพิ่มก่อนให้คนจริงใช้ เพื่อไม่ให้ใครเห็นอัตราหรือรายการของคนอื่นโดยไม่ตั้งใจ
- ส่งและอนุมัติ การส่งรายสัปดาห์ การอนุมัติโดยผู้จัดการ และอ่านได้อย่างเดียวหลังอนุมัติ
- รายงานและการส่งออก ช่วงวันที่ การจัดกลุ่ม การแยกส่วนคิดเงินได้ และ CSV
- อัตราและจุดเชื่อมต่อการออกใบแจ้งหนี้ หากคุณเรียกเก็บเงินลูกค้า เก็บการสร้างใบแจ้งหนี้ไว้เป็นขั้นตอนหรือแอปแยก ดูวิธีสร้างแอปออกใบแจ้งหนี้
- ทดสอบกรณีขอบ รายการที่ข้ามเที่ยงคืน สัปดาห์ที่มีการเปลี่ยนเวลาออมแสง การเริ่มตัวจับเวลาสองตัวจากสองอุปกรณ์ และการแก้ไขรายการที่อนุมัติแล้ว
ข้อผิดพลาดที่พบบ่อย
- นับเวลาในเบราว์เซอร์เท่านั้น ใช้ได้ในเดโม แต่จะทำให้ชั่วโมงหายไปในการใช้งานจริง
- ปัดเศษค่าที่เก็บ คุณจะไม่มีทางได้เวลาที่แน่นอนกลับคืนมา
- ไม่มีการล็อกสัปดาห์ที่อนุมัติ รายงานจะไม่ตรงกับใบแจ้งหนี้
- ทุกคนเห็นอัตราของทุกคน ซ่อนอัตราตามบทบาทตั้งแต่วันแรก
- ฟิลด์บังคับมากเกินไป ถ้าการบันทึกเวลาใช้เวลามากกว่าไม่กี่วินาที คนจะหยุดทำ และข้อมูลจะกลายเป็นเรื่องแต่ง ทำให้งานและหมายเหตุเป็นตัวเลือกในตอนแรก
- สร้างตัวจัดการโปรเจกต์เต็มรูปแบบในตัวติดตาม ให้โปรเจกต์เป็นเพียงป้ายชื่อง่ายๆ ถ้าต้องการงาน บอร์ด และกำหนดส่ง นั่นคือเครื่องมือจัดการโปรเจกต์ซึ่งเป็นการสร้างแยกต่างหาก
เมื่อเครื่องมือติดตามสำเร็จรูปเป็นตัวเลือกที่ดีกว่า
ถ้าทีมของคุณต้องการตัวจับเวลา ตารางรายสัปดาห์ และรายงาน ผลิตภัณฑ์ติดตามเวลาเฉพาะทางทำสิ่งนี้ได้ดีอยู่แล้ว และยังมาพร้อมสิ่งที่ต้องใช้ความพยายามมากในการสร้าง ได้แก่ แอปเดสก์ท็อปและโทรศัพท์ การตรวจจับการไม่ได้ใช้งาน การเชื่อมต่อกับปฏิทินและเครื่องมืออื่น และการเตือนให้กรอกใบบันทึกเวลา สำหรับเงินเดือนรายชั่วโมง เครื่องมือที่สร้างเพื่องานนี้จะจัดการเบรก ค่าล่วงเวลา และการเก็บบันทึกได้อย่างปลอดภัยกว่าแอปเวอร์ชันแรกที่สร้างเอง
สร้างเองเมื่อกฎของคุณไม่เข้ากับเครื่องมือ เมื่อคุณต้องการผูกชั่วโมงกับข้อมูลที่มีอยู่แล้ว (งาน ใบสั่งงาน ค่าที่ปรึกษารายเดือน ใบแจ้งหนี้) เมื่อค่าใช้จ่ายต่อที่นั่งสำหรับทีมใหญ่รวมกันสูง หรือเมื่อการติดตามเวลาเป็นส่วนหนึ่งของเครื่องมือภายในที่ใหญ่กว่า คู่มือการซื้อกับการสร้างซอฟต์แวร์เดินผ่านการแลกเปลี่ยนนี้ และถ้าชั่วโมงของคุณอยู่ในสเปรดชีตที่แชร์กันตอนนี้ ดูวิธีเปลี่ยนสเปรดชีตเป็นแอป
การสร้างด้วย Mythex
ใน Mythex คุณอธิบายตัวติดตามในแชท และเอเจนต์สร้างมันขึ้นในพรีวิวสด ระบบเพิ่มฐานข้อมูล Postgres เฉพาะเมื่อรายการต้องบันทึก และคุณขอได้โดยตรงหรือพิมพ์ /database ได้ กรณีการใช้งานเครื่องมือภายใน ในเอกสารแนะนำให้เลือกขั้นตอนที่เจ็บปวดหนึ่งอย่างสำหรับเวอร์ชันแรก ซึ่งเหมาะกับกรณีนี้: เริ่มจากรายการและตารางรายสัปดาห์ แล้วค่อยเพิ่มตัวจับเวลาและการอนุมัติ
การล็อกอินสำหรับทีมเป็นสิ่งที่คุณเพิ่มด้วยวิธีการยืนยันตัวตนของคุณเอง (สูตรเพิ่มการล็อกอิน) บัญชี Mythex มีไว้สำหรับคนที่สร้าง ไม่ใช่คนที่ใช้แอปของคุณ เมื่อขั้นตอนหลักทำงานแล้ว /test ให้เอเจนต์คลิกผ่านพรีวิว (เริ่มตัวจับเวลา เพิ่มรายการ รันรายงาน) และรายงานสิ่งที่พัง สำหรับจุดเริ่มต้นที่เห็นภาพ ดูเทมเพลตแอป
คำถาม
แอปติดตามเวลาต้องมีฟีเจอร์อะไรบ้าง?
รายการลูกค้าและโปรเจกต์ ตัวจับเวลาเริ่ม/หยุด วิธีเพิ่มหรือแก้ไขรายการด้วยมือ มุมมองใบบันทึกเวลารายสัปดาห์ และรายงานชั่วโมงต่อโปรเจกต์และต่อคน การอนุมัติ อัตราค่าบริการ และการส่งออกตามมาทีหลัง
จะป้องกันไม่ให้ตัวจับเวลาหายไปเมื่อเบราว์เซอร์ปิดได้อย่างไร?
บันทึกเวลาเริ่มลงฐานข้อมูลทันทีที่กดเริ่ม และคำนวณระยะเวลาที่วิ่งอยู่จากเวลาที่บันทึกนั้น แล้วการปิดแท็บ รีเฟรช หรือเปลี่ยนอุปกรณ์จะไม่ทำให้อะไรหาย
ควรปัดเศษเวลาหรือไม่?
เก็บเวลาเริ่มและเวลาสิ้นสุดที่แน่นอน และใช้การปัดเศษเฉพาะในรายงานและใบแจ้งหนี้ วิธีนี้ทำให้คุณเปลี่ยนกฎการปัดเศษในภายหลังได้โดยไม่ต้องเขียนประวัติใหม่
คุ้มไหมที่จะสร้างเครื่องมือติดตามเวลาเอง?
มักคุ้มเฉพาะเมื่อกฎของคุณพิเศษ หรือคุณต้องการผูกชั่วโมงกับข้อมูลอื่นที่มีอยู่แล้ว เช่น งาน ลูกค้า หรือใบแจ้งหนี้ สำหรับตัวจับเวลาและรายงานธรรมดา เครื่องมือสำเร็จรูปถูกกว่าและเร็วกว่า