Google Sheets Quản Lý Booking PNR & Hoa Hồng Vé Máy Bay 2026
Mục lục:
- 1. Vì sao một file Excel/Sheets "tất cả trong một" luôn vỡ trận sau vài tháng
- 2. Cấu trúc 2 sheet: PNR và Hoa Hồng nối bằng công thức
- 3. PNR bị hoàn hoặc đổi vé: giữ lịch sử thay vì ghi đè
- 4. Khi có đại lý cấp dưới: hoa hồng và công nợ là hai việc khác nhau
- 5. Cảnh báo PNR sắp hết hạn và vé chưa xuất — tránh mất vé vì quên
- 6. Giới hạn thật của Google Sheets khi lượng vé tăng lên
- 7. Câu hỏi thường gặp
Trả lời nhanh: Quản lý booking PNR và hoa hồng vé máy bay bằng Google Sheets hiệu quả nhất khi tách 2 sheet riêng (PNR và Hoa Hồng) nối bằng cột mã PNR, dùng VLOOKUP/IF để tự tính hoa hồng theo từng hãng bay. Đại lý xử lý trên 15-20 vé/ngày nên chuyển sang phần mềm chuyên biệt như Quản Lý Bán Hàng - Vé Máy Bay để tránh sai sót đối soát.
Vì sao một file Excel/Sheets "tất cả trong một" luôn vỡ trận sau vài tháng
Thử hình dung một đại lý vé máy bay nhỏ, mỗi ngày xử lý 10-20 booking cho khách lẻ và vài đại lý cấp dưới. Ban đầu chỉ cần một sheet: ngày đặt, tên khách, mã PNR, giá vé, trạng thái. Đơn giản. Nhưng chỉ sau một, hai tháng, cùng một mã PNR xuất hiện ở ba chỗ khác nhau — một dòng ghi vé xuất, một dòng ghi hoàn vé, một dòng ghi đổi ngày bay — và không ai nhớ dòng nào là bản cập nhật cuối cùng.

Vấn đề không nằm ở Google Sheets. Vấn đề là nhồi hai việc khác bản chất vào một bảng: theo dõi trạng thái booking (PNR còn hiệu lực, đã xuất vé, đã hoàn, đã đổi) và tính tiền (giá vé, hoa hồng được hưởng, công nợ phải thu từ đại lý cấp dưới). Một bảng gộp cả hai buộc bạn phải sửa cùng một dòng nhiều lần cho nhiều lý do khác nhau, và mỗi lần sửa là một lần có khả năng gõ nhầm số hoặc quên cập nhật cột liên quan.
Cách giải quyết không phức tạp: tách PNR và hoa hồng ra hai sheet riêng, nối với nhau bằng duy nhất một cột khóa — mã PNR. Sheet PNR chỉ lo trạng thái booking. Sheet Hoa Hồng chỉ lo tiền, kéo dữ liệu giá vé và trạng thái từ sheet PNR bằng công thức, không nhập tay lại.
Cấu trúc 2 sheet: PNR và Hoa Hồng nối bằng công thức
Sheet PNR — nguồn dữ liệu gốc
Mỗi dòng là một booking, không phải một khách hàng — vì một khách có thể đổi vé nhiều lần, mỗi lần đổi vẫn giữ mã PNR gốc nhưng cập nhật trạng thái. Cột tối thiểu: A Mã PNR, B Ngày đặt, C Tên khách, D Hãng bay, E Giá vé gốc, F Trạng thái (Đã xuất / Đã hoàn / Đã đổi / Chờ xuất), G Đại lý xử lý (nếu có đại lý cấp dưới).
Để tránh một PNR bị tạo trùng do hai người cùng nhập, dùng công thức kiểm tra trùng ở cột phụ, ví dụ cột H:
=IF(COUNTIF(A:A,A2)>1,"TRÙNG PNR","OK")
Dán ở ô H2 rồi kéo xuống, cột này sẽ báo "TRÙNG PNR" ngay khi có hai dòng cùng mã — bắt lỗi trước khi đi tính hoa hồng sai.
Sheet Hoa Hồng — chỉ tính tiền, không nhập lại dữ liệu booking
Sheet này có cột Mã PNR (A) kéo công thức từ sheet PNR, không gõ tay. Giả sử sheet PNR tên là "PNR", công thức lấy giá vé và hãng bay tương ứng:
=VLOOKUP(A2,PNR!A:E,5,FALSE) — lấy giá vé gốc (cột E của sheet PNR) theo mã PNR ở cột A.
=VLOOKUP(A2,PNR!A:D,4,FALSE) — lấy tên hãng bay (cột D) để xác định mức hoa hồng áp dụng.
Tỷ lệ hoa hồng vé máy bay thường khác nhau theo hãng và theo loại hợp đồng đại lý — đây là ví dụ giả định để minh họa công thức, số thật phải lấy từ hợp đồng của chính đại lý: giả sử Hãng A trả 7%, Hãng B trả 5%, Hãng C trả 6%. Công thức IF lồng nhau để tự chọn mức áp dụng:
=IF(C2="Hãng A",B2*0.07,IF(C2="Hãng B",B2*0.05,IF(C2="Hãng C",B2*0.06,0)))
Trong đó cột B là giá vé gốc, cột C là hãng bay vừa kéo bằng VLOOKUP ở trên. Với một vé 2.500.000đ xuất qua Hãng A, công thức trả về 175.000đ hoa hồng; cùng mức giá đó qua Hãng B chỉ còn 125.000đ. Việc gõ tay từng dòng với mức tỷ lệ khác nhau là nguồn sai sót phổ biến nhất khi đại lý xử lý nhiều hãng cùng lúc, nên để công thức tự chọn theo tên hãng là cách tránh lỗi chắc nhất.

PNR bị hoàn hoặc đổi vé: giữ lịch sử thay vì ghi đè
Đây là chỗ nhiều đại lý làm sai nhất: khi khách đổi ngày bay, họ sửa trực tiếp dòng cũ — xóa giá vé cũ, ghi giá vé mới. Hậu quả là hoa hồng tháng trước đã tính theo giá cũ, báo cáo cũ không còn khớp với dữ liệu hiện tại trong sheet, vì dòng gốc đã bị ghi đè.
Cách đúng là thêm dòng mới cho mỗi lần đổi/hoàn, giữ nguyên dòng gốc, chỉ đổi trạng thái dòng gốc sang "Đã đổi" và tham chiếu số dòng/PNR liên quan ở một cột ghi chú. Ví dụ mã PNR gốc "ABC123" khi đổi vé sẽ có dòng mới "ABC123-R1" (R1 = lần đổi thứ 1), giá vé mới, trạng thái "Đã xuất (thay ABC123)". Sheet Hoa Hồng khi đó tính lại hoa hồng cho dòng mới, và bạn vẫn nhìn được số liệu tháng trước đúng như lúc đã báo cáo, không bị đổi ngược.
Với vé hoàn, công thức hoa hồng cần trừ ngược phần đã nhận trước đó nếu hãng bay thu lại hoa hồng khi hoàn — tùy chính sách từng hãng, nên kiểm tra hợp đồng đại lý trước khi dựng công thức trừ tự động, vì mức hoàn không giống nhau giữa các hãng.
Khi có đại lý cấp dưới: hoa hồng và công nợ là hai việc khác nhau
Nếu đại lý của bạn còn bán qua các đại lý cấp dưới (sub-agent), đừng nhầm hoa hồng bạn được hãng bay trả với công nợ bạn phải thu từ đại lý cấp dưới — hai số này gắn với cùng một PNR nhưng đi hai hướng tiền ngược nhau. Hoa hồng là tiền hãng bay trả về cho bạn; công nợ là tiền đại lý cấp dưới còn thiếu bạn vì đã lấy vé nhưng chưa thanh toán đủ.
Bài Cách Quản Lý Công Nợ Đại Lý Vé Máy Bay Bằng Google Sheets đi sâu vào cách dựng sheet công nợ riêng, đối soát theo từng đại lý cấp dưới và cảnh báo nợ quá hạn — nên dùng sheet đó làm sheet thứ ba, nối với sheet PNR cũng bằng mã PNR, tách bạch hoàn toàn khỏi sheet Hoa Hồng để không gộp nhầm hai luồng tiền.
Cách tư duy tách công thức theo hãng/đại lý này giống với cách dựng bảng hoa hồng cho cộng tác viên bán hàng ở mảng khác — nếu bạn đang làm song song mô hình CTV ngoài vé máy bay, Mẫu Google Sheets Quản Lý Hoa Hồng CTV Bán Hàng dùng cùng nguyên lý: một cột khóa nối hai sheet, công thức IF/VLOOKUP chọn mức hoa hồng theo điều kiện, không gõ tay.
Cảnh báo PNR sắp hết hạn và vé chưa xuất — tránh mất vé vì quên
PNR có thời hạn giữ chỗ (time limit), quá hạn mà chưa xuất vé thì hãng bay tự hủy booking. Với một đại lý xử lý vài chục PNR mỗi ngày, nhớ bằng mắt là không khả thi. Thêm một cột "Hạn xuất vé" ở sheet PNR, rồi dùng định dạng có điều kiện (Conditional Formatting) để tô đỏ các dòng còn dưới 24 giờ:
- Chọn vùng cột ngày hết hạn, vào Format → Conditional formatting
- Chọn "Custom formula is", nhập
=AND($F2="Chờ xuất",$I2-TODAY()<=1)(cột F là trạng thái, cột I là hạn xuất vé) - Chọn màu tô đỏ, áp dụng cho toàn cột hạn xuất vé
Cách này không cần Apps Script, chạy ngay trong Sheets gốc. Nếu muốn nhận cảnh báo chủ động hơn — ví dụ gửi email tự động mỗi sáng danh sách PNR sắp hết hạn — cần viết thêm Apps Script đọc điều kiện tương tự rồi gọi hàm gửi mail, phần này đòi hỏi biết viết script cơ bản, không còn là công thức sheet thuần.

Giới hạn thật của Google Sheets khi lượng vé tăng lên
Công thức VLOOKUP và Conditional Formatting chạy tốt đến khi sheet PNR có vài nghìn dòng. Vượt qua ngưỡng đó, có ba dấu hiệu cho thấy Sheets đang hụt hơi: sheet mở chậm hẳn vì quá nhiều công thức dò theo cột; nhiều người cùng sửa một lúc dễ đè công thức của nhau; và việc đối soát hoa hồng cuối tháng phải lọc tay qua hàng trăm dòng vì không có bộ lọc trạng thái "chưa xuất" / "đã xuất" / "đã hoàn" theo thời gian thực.
Ở quy mô một đại lý xử lý trên 15-20 vé mỗi ngày với nhiều đại lý cấp dưới, phần mềm chuyên biệt xử lý tốt hơn vì có sẵn luồng xuất vé, công nợ đại lý và hoa hồng hãng bay liên kết tự động, không cần tự dựng công thức. Quản Lý Bán Hàng - Vé Máy Bay là phần mềm chạy trên nền Google Sheets quản lý booking, xuất vé, công nợ đại lý và hoa hồng hãng bay trong cùng một hệ thống, giá 798.000đ trả một lần, dùng thử 7 ngày trước khi mua.
Nếu quy mô vẫn ở mức vài booking mỗi ngày, cấu trúc 2-3 sheet nối bằng mã PNR như trên vẫn đủ dùng lâu dài — không cần vội chuyển sang phần mềm chỉ vì bài viết này gợi ý vậy, mà vì khối lượng công việc thật sự đòi hỏi.
Câu hỏi thường gặp
Vì sao nên tách riêng sheet PNR và sheet Hoa Hồng thay vì dùng một sheet duy nhất?
Vì PNR theo dõi trạng thái booking (còn hiệu lực, đã xuất, đã hoàn, đã đổi) còn hoa hồng là tính tiền — hai bản chất khác nhau. Gộp chung buộc phải sửa cùng dòng nhiều lần vì nhiều lý do, dễ gõ nhầm số hoặc quên cập nhật cột liên quan. Tách hai sheet, nối bằng mã PNR, mỗi sheet chỉ lo một việc giúp tránh sai sót này.
Làm sao phát hiện một mã PNR bị nhập trùng trong sheet?
Thêm cột phụ (ví dụ cột H) với công thức =IF(COUNTIF(A:A,A2)>1,"TRÙNG PNR","OK") dán ở H2 rồi kéo xuống. Cột này báo "TRÙNG PNR" ngay khi có hai dòng cùng mã, giúp bắt lỗi trước khi tính hoa hồng sai do trùng dữ liệu.
Khi khách đổi vé hoặc hoàn vé, nên sửa trực tiếp dòng cũ hay làm gì khác?
Không nên sửa đè dòng gốc vì sẽ làm hoa hồng và báo cáo tháng trước lệch với dữ liệu hiện tại. Cách đúng là thêm dòng mới cho mỗi lần đổi/hoàn (ví dụ "ABC123-R1"), giữ nguyên dòng gốc, chỉ đổi trạng thái dòng gốc sang "Đã đổi" và ghi chú tham chiếu liên quan.
Khi nào nên chuyển từ Google Sheets sang phần mềm chuyên biệt để quản lý vé máy bay?
Khi đại lý xử lý trên 15-20 vé mỗi ngày với nhiều đại lý cấp dưới, vì lúc này sheet PNR có vài nghìn dòng khiến công thức VLOOKUP chạy chậm, nhiều người sửa cùng lúc dễ đè công thức, và đối soát cuối tháng phải lọc tay qua hàng trăm dòng. Nếu quy mô chỉ vài booking/ngày, cấu trúc 2-3 sheet nối bằng mã PNR vẫn đủ dùng lâu dài.
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: Cách Tính Hoa Hồng Đại Lý Vé Máy Bay Theo Hãng Bằng Google Sheets · Bảng Theo Dõi Booking Vé Máy Bay Bằng Excel: Công Thức Tính Lãi Gộp, Công Nợ
Chia sẻ bài viết:
Tuân Hoang
Đội ngũ SheetStore
Google Workspace Certified, 5+ years experience
Công cụ liên quan
Giải pháp cho bài viết này
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.
