Hướng dẫn

Quản Lý Đội Xe Cho Thuê Trên Google Sheets: Hướng Dẫn 2026

Tuân HoangTuân Hoang
6 tháng 10, 2026
11 phút đọc
Ảnh minh họa bài viết: Quản Lý Đội Xe Cho Thuê Trên Google Sheets: Hướng Dẫn 2026

Trả lời nhanh: Nên quản lý đội xe cho thuê bằng Google Sheets có khóa giao dịch chống trùng lịch, lịch đặt xe dạng lưới, công thức tự tính tiền theo ngày/giờ và cảnh báo đăng kiểm/bảo hiểm; tự xây mất vài tuần viết Apps Script, hoặc dùng sẵn Phần Mềm Quản Lý Cho Thuê Xe giá 490.000đ trả một lần, dùng thử 7 ngày.

Giao diện thực tế của Phần Mềm Quản Lý Cho Thuê Xe google sheet
Giao diện thực tế của Phần Mềm Quản Lý Cho Thuê Xe google sheet

Khi file Excel đặt xe báo "còn trống" nhưng xe đã có người lấy

Thử hình dung: bạn có 12 xe máy và 3 ô tô cho thuê, hai nhân viên cùng nhận điện thoại khách đặt xe vào buổi chiều thứ Sáu. Cả hai mở cùng một file Excel trên Google Drive, cùng thấy ô "trống" ở dòng xe Honda Winner, cùng gõ tên khách vào. Người lưu sau ghi đè lên người lưu trước — và chiều hôm đó bạn có hai khách tới nhận một xe. Đây không phải lỗi hiếm; nó xảy ra bất cứ khi nào từ hai người trở lên sửa cùng một bảng tính mà không có cơ chế khóa.

Vấn đề không nằm ở việc dùng Excel hay Sheets. Vấn đề là cách ghi dữ liệu: nếu hai người đọc trạng thái "trống", rồi cả hai cùng ghi "đã đặt" mà không kiểm tra lại ngay trước khi ghi, bảng tính không tự biết đâu là bản ghi đúng. Để chống trùng lịch thật sự, hệ thống phải kiểm tra lại trạng thái ô ngay tại thời điểm ghi — gọi là giao dịch khóa (locking) — chứ không chỉ dựa vào màu ô hay ghi chú bằng tay.

Dựng lịch đặt xe chống trùng bằng Apps Script

Nếu muốn tự làm trong Sheets, cách khả thi nhất là dùng LockService của Apps Script bọc quanh hàm đặt xe. Giả sử sheet "LichXe" có cột A là mã xe, cột B là ngày bắt đầu, cột C là ngày kết thúc, cột D là trạng thái. Hàm đặt xe sẽ gọi LockService.getScriptLock().tryLock(10000) trước khi quét cột A:D tìm xem xe đó đã có khoảng ngày trùng chưa, rồi mới ghi dòng mới và giải phóng khóa. Trong lúc một người đang giữ khóa, người thứ hai bấm cùng lúc sẽ phải đợi vài giây rồi được xử lý theo đúng thứ tự — không còn tình trạng ghi đè nhau.

Giao diện cũng quan trọng không kém phần kỹ thuật. Một bảng lịch dạng lưới — hàng là xe, cột là ngày — giúp nhân viên nhìn một lần biết xe nào trống, bấm vào ô trống là mở form tạo hợp đồng nhanh, xong có thể xuất file PDF gửi khách ngay. Cách này nhanh hơn nhiều so với việc dò từng dòng trong một bảng danh sách dài 500 dòng để tìm ngày trống của một xe cụ thể.

Tự viết phần khóa giao dịch và giao diện lưới này thường tốn một người biết Apps Script khoảng 2-3 tuần làm việc, chưa kể thời gian test với nhiều người dùng cùng lúc để chắc chắn không còn kẽ hở. Đây đúng là nỗi đau mà Phần Mềm Quản Lý Cho Thuê Xe giải quyết sẵn — khóa giao dịch chống trùng lịch tuyệt đối và lịch đặt xe dạng lưới đã được dựng xong, không cần viết lại từ đầu.

Sơ đồ cột dữ liệu LichXe và cơ chế khóa LockService chống trùng lịch xe
Cấu trúc cột LichXe và cách LockService xử lý hai người đặt cùng lúc.

Đăng kiểm và bảo hiểm hết hạn mà không ai để ý

Với đội xe 15-20 chiếc, mỗi xe có hai mốc hạn khác nhau: ngày đăng kiểm và ngày hết hạn bảo hiểm. Nếu ghi vào một cột trong Sheets rồi "nhớ trong đầu" để kiểm tra, khả năng bỏ sót là chắc chắn — đặc biệt khi đội xe tăng dần theo thời gian. Một chủ xe cho khách thuê tự lái mà xe hết đăng kiểm lúc đang trên đường thì rủi ro không nhỏ, kể cả không tính tới chuyện pháp lý.

Cách làm thủ công bằng công thức Sheets đơn giản là dùng điều kiện so ngày hiện tại với ngày hết hạn. Giả sử cột E là ngày hết hạn đăng kiểm, công thức ở cột F có thể viết:

=IF(E2<TODAY(),"Đã hết hạn",IF(E2-TODAY()<=30,"Sắp hết hạn","Còn hiệu lực"))

Công thức này tự phân loại xe thành ba nhóm theo khoảng cách tới ngày hết hạn ở cột E. Nhưng công thức chỉ đổi màu chữ trong bảng — nó không tự nhắn bạn khi bạn không mở file. Đây là khoảng trống mà tính năng cảnh báo tự động qua email mỗi sáng của phần mềm nêu trên bù vào: hệ thống tự quét toàn bộ đội xe mỗi ngày và gửi danh sách xe sắp/đã hết hạn giấy tờ, xe cần giao hôm nay, hợp đồng quá hạn trả — vào đúng hộp mail của bạn, không cần mở Sheets để kiểm tra.

Tính tiền thuê sao cho không sai lệch giữa ngày thường và ngày lễ

Giả sử một đơn vị cho thuê ô tô tự lái có giá ngày thường 800.000đ/ngày, giá cuối tuần 950.000đ/ngày, và giá dịp lễ Tết 1.400.000đ/ngày. Nếu khách thuê xe từ thứ Năm đến Chủ Nhật, nhân viên tính tiền thủ công dễ quên cộng thêm phần chênh lệch của hai ngày cuối tuần, hoặc tính sai số ngày vì quên trừ 1 khi lấy ngày trả trừ ngày nhận.

Một công thức tính số ngày thuê đúng cách, với cột B là ngày nhận xe và cột C là ngày trả xe, là:

=C2-B2

Lưu ý: công thức này tính theo đêm (số ngày giữa hai mốc), phù hợp khi đơn vị tính giá theo ngày lịch. Nếu thuê theo giờ, cần đổi sang hiệu số thời gian rồi chia 24 để ra số giờ, và áp dụng đơn giá giờ riêng cho các đơn thuê ngắn — xe tự lái đi công việc trong ngày khác hẳn với thuê dài ngày đi tỉnh.

Phần khó hơn là bảng giá theo mùa. Cách làm trong Sheets thường là có một bảng tra riêng liệt kê các khoảng ngày lễ và đơn giá tương ứng, sau đó dùng hàm tra cứu lồng điều kiện ngày thuê rơi vào khoảng nào. Việc này làm được bằng công thức, nhưng càng thêm nhiều mốc lễ trong năm thì công thức càng dài và càng dễ gõ sai một dấu phẩy khiến toàn bộ bảng tính tiền lệch hết. Tính năng tự động tính tiền theo ngày/giờ kèm bảng giá theo mùa trong phần mềm xử lý đúng phần này — nhập ngày nhận/trả, hệ thống tự áp giá lễ Tết hoặc cuối tuần nếu khoảng thuê rơi vào đó.

Bảng so sánh ba mức giá thuê xe theo ngày thường, cuối tuần, lễ Tết
Ba mức giá thuê theo loại ngày và công thức tính số ngày thuê.

Gia hạn hợp đồng và phí phát sinh khi trả xe trễ

Tình huống thường gặp: khách thuê xe 3 ngày, đã trả trước 2.400.000đ, rồi gọi điện xin gia hạn thêm 2 ngày. Nếu tính tay, nhân viên phải nhớ số tiền đã thu, tính lại tổng tiền cho 5 ngày, rồi trừ ra số còn phải thu thêm — và rất dễ tính nhầm nếu đơn hàng đó đã có thêm phụ phí trước đó (ví dụ phí giao xe tại nhà).

Một cách giữ bảng tính rõ ràng là tách hai cột: cột tổng tiền phải thu (tính lại dựa trên số ngày mới) và cột đã thu (giữ nguyên số đã ghi nhận lần đầu), rồi lấy chênh lệch:

=TongTienPhaiThu-DaThu

(trong đó TongTienPhaiThu và DaThu ở đây là ví dụ đặt tên cho dễ đọc; khi dán vào Sheets thật bạn sẽ dùng địa chỉ ô cụ thể, ví dụ cột G cho tổng phải thu và cột H cho đã thu, công thức ở cột I là =G2-H2.) Cách tách này tránh việc cộng dồn nhầm — một lỗi rất phổ biến khi công nợ được ghi bằng cách "+ thêm" liên tục vào một ô duy nhất qua nhiều lần sửa.

Phí trả trễ và phí vượt km cũng nên tách thành các cột phụ phí riêng, cộng vào tổng cuối cùng, thay vì gộp chung vào giá thuê gốc — làm vậy thì khi khách hỏi "sao tiền cao hơn báo giá ban đầu", bạn chỉ ra ngay trong bảng xem là do mục nào, chứ không cần giải trình bằng miệng. Đây đúng là cách tính năng gia hạn hợp đồng tại chỗ và giao/trả xe tự tính phí trả trễ, phí vượt km của phần mềm trên vận hành — giữ nguyên số đã thu, tự tính lại phần chênh, và công nợ tự tính lại từ chứng từ thật chứ không cộng dồn thủ công.

Biên nhận, hợp đồng và ảnh tình trạng xe khi tranh chấp xảy ra

Giả sử một khách trả xe về báo có vết xước ở cửa bên phải, nhưng khách khẳng định vết xước đó đã có từ lúc nhận xe. Không có ảnh chụp lúc giao xe, bạn gần như không có gì để đối chiếu ngoài lời nói hai bên. Đây là lý do việc chụp ảnh tình trạng xe ở cả hai mốc — lúc giao và lúc nhận — cần được làm thành thói quen bắt buộc, không phải "khi nào nhớ thì chụp".

Về mặt vận hành trong Sheets, cách đơn giản là mỗi hợp đồng có một dòng lưu đường dẫn ảnh (upload lên Google Drive, dán link vào cột tương ứng) cho cả hai thời điểm. Khi in hợp đồng hoặc biên bản giao nhận, mẫu in nên tự động kéo các thông tin này ra thành một bản in chuẩn, có đủ chữ ký hai bên — việc đánh máy lại từng hợp đồng bằng Word mỗi lần cho khách mới rất tốn thời gian và dễ gõ sai thông tin xe hoặc số tiền.

Nhân sự xử lý việc này thường thay đổi theo ca, nên phân quyền cũng là một điểm cần tính tới sớm: nhân viên trực ca không cần thấy lợi nhuận hay giá vốn, chỉ cần thấy lịch đặt xe và quy trình giao/nhận. Việc phân quyền 3 cấp (Admin, Quản lý, Nhân viên) trong phần mềm trên là để giải quyết đúng việc này — ẩn phần lợi nhuận với nhân viên tuyến đầu mà vẫn cho họ đủ quyền xử lý hợp đồng hằng ngày.

Khi nào tự làm Sheets là đủ, khi nào nên dùng phần mềm có sẵn

Với đội 2-3 xe tự quản lý một mình, một bảng Sheets đơn giản ghi lịch và công nợ tay là đủ — chưa cần tới khóa giao dịch hay cảnh báo email, vì chính bạn là người duy nhất ghi dữ liệu nên không có rủi ro trùng lịch do nhiều người cùng sửa. Giới hạn thực tế thường xuất hiện khi đội xe vượt quá khoảng 8-10 chiếc hoặc có từ hai nhân viên trở lên cùng nhận đặt xe — lúc đó rủi ro trùng lịch, quên hạn đăng kiểm, và sai công nợ tăng lên nhanh theo số xe và số người thao tác.

Nếu quyết định tự xây, điểm cần làm chắc nhất là phần khóa giao dịch (LockService) và cơ chế gửi email tự động (dùng MailApp hoặc GmailApp kết hợp trigger theo thời gian) — hai phần này nếu làm sai sẽ khiến toàn bộ hệ thống mất tác dụng đúng vào lúc cần nhất. Nếu muốn có ngay một hệ thống đã làm sẵn và kiểm thử phần chống trùng lịch, Phần Mềm Quản Lý Cho Thuê Xe trên Google Sheets gồm đủ các phần vừa nói — quản lý xe tự lái/có tài xế, lịch dạng lưới, tính tiền theo mùa, công nợ, in hợp đồng, nhắc hạn email, phân quyền 3 cấp, sao lưu tự động — giá 490.000đ trả một lần dùng trọn đời, không phí hằng tháng, có 7 ngày dùng thử để kiểm tra trước khi quyết định. Dữ liệu vẫn nằm trong Google Drive của chính bạn như khi dùng Sheets tự làm, chỉ khác là phần xử lý nghiệp vụ đã được viết sẵn.

Câu hỏi thường gặp

Lỗi hai nhân viên cùng đặt trùng một xe trên Excel xảy ra như thế nào?

Khi hai người cùng mở file, cùng thấy ô 'trống' và cùng gõ tên khách vào, người lưu sau sẽ ghi đè lên người lưu trước mà bảng tính không báo gì. Đây xảy ra bất cứ khi nào từ hai người trở lên sửa cùng bảng tính mà không có cơ chế kiểm tra lại trạng thái ô ngay tại thời điểm ghi (khóa giao dịch).

Tự viết cơ chế chống trùng lịch bằng Apps Script mất bao lâu?

Dùng LockService.getScriptLock().tryLock() bọc quanh hàm đặt xe để kiểm tra lại cột trạng thái trước khi ghi dòng mới. Tự viết phần khóa giao dịch này cùng giao diện lịch dạng lưới thường tốn một người biết Apps Script khoảng 2-3 tuần làm việc, chưa kể thời gian test với nhiều người dùng cùng lúc.

Công thức tính số ngày thuê xe trong Sheets viết thế nào?

Với cột B là ngày nhận xe và cột C là ngày trả xe, dùng =C2-B2 để ra số ngày thuê (tính theo đêm, phù hợp giá theo ngày lịch). Nếu thuê theo giờ thì đổi sang hiệu số thời gian rồi chia 24 để ra số giờ và áp đơn giá giờ riêng.

Khi nào đội xe cho thuê cần chuyển từ Sheets tự làm sang phần mềm có sẵn?

Với đội 2-3 xe tự quản lý một mình, Sheets đơn giản ghi lịch và công nợ tay là đủ. Giới hạn thực tế xuất hiện khi đội xe vượt khoảng 8-10 chiếc hoặc có từ hai nhân viên trở lên cùng nhận đặt xe, lúc đó rủi ro trùng lịch, quên hạn đăng kiểm và sai công nợ tăng nhanh theo số xe và số người thao tác.

Bài viết liên quan:

    Bạn muốn áp dụng ngay mà không phải tự xây từ đầu?

    Khám phá các mẫu Google Sheets và phần mềm quản lý dựng sẵn cho doanh nghiệp Việt tại SheetStore Marketplace.

    Xem thêm: Kiểm Tra Tình Trạng Xe Khi Giao Nhận Xe Cho Thuê: Checklist 2026

    Chia sẻ bài viết:

    Tuân Hoang

    Tuân Hoang

    Đội ngũ SheetStore

    Google SheetsGoogle Apps ScriptCRMAutomationPhần mềm quản lý doanh nghiệp

    Google Workspace Certified, 5+ years experience

    Bạn thấy bài viết hữu ích?

    Đăng ký nhận thông báo khi có bài viết mới.

    Nhận thông báo khi có bài viết mới. Không spam, hứa luôn! 😊

    Bình luận (0)

    Vui lòng đăng nhập để tham gia thảo luận