Template Quản Lý Quán Cafe & Nhà Hàng Google Sheets [Doanh Thu + Nguyên Liệu 2027]
![Ảnh minh họa bài viết: Template Quản Lý Quán Cafe & Nhà Hàng Google Sheets [Doanh Thu + Nguyên Liệu 2027]](/og-image.jpg)
Quán Đông Khách Nhưng Cuối Tháng Không Thấy Lãi — Vấn Đề Nằm Ở Đâu?
Bạn mở quán cafe, quán ăn nhỏ. Khách ra vào đều đặn, ngày nào cũng bán hết hàng. Nhưng đến cuối tháng, sau khi trả tiền nguyên liệu, lương nhân viên, tiền mặt bằng, số dư trong tài khoản gần như không nhúc nhích. Cảm giác như mình đang làm không công.
Vấn đề gần như luôn nằm ở ba điểm mù kinh điển của ngành F&B:
- Không biết món nào thực sự lãi. Ly cà phê 35.000đ nghe có vẻ lãi nhiều, nhưng sau khi trừ cà phê, sữa, đường, ly nhựa, ống hút — biên lãi thật là bao nhiêu? Nhiều chủ quán không trả lời được.
- Nguyên liệu hao hụt âm thầm. Bột, sữa, trái cây hết nhanh hơn doanh thu tạo ra. Hao hụt do làm dư, đổ bỏ, hoặc thất thoát mà không có con số theo dõi.
- Doanh thu theo ca mù mờ. Ca sáng đông hay ca tối đông? Nhân viên nào bán nhiều? Giờ nào là "giờ vàng"? Không có dữ liệu thì không tối ưu được lịch và nhân sự.
Phần mềm quản lý nhà hàng chuyên nghiệp thì đắt và phức tạp, nhiều tính năng quán nhỏ không dùng tới. Giải pháp gọn nhẹ, miễn phí và đủ mạnh cho quán nhỏ chính là một template Google Sheets được thiết kế đúng cho mô hình F&B. Bài viết này hướng dẫn bạn xây dựng template 6 sheet hoàn chỉnh: từ menu định lượng, kho nguyên liệu, bán hàng theo ca đến dashboard tự tính lãi gộp từng món.
Tổng Quan Template 6 Sheet
Template được chia thành 6 sheet liên kết với nhau bằng công thức. Dữ liệu nhập một lần, mọi báo cáo tự cập nhật.
| Sheet | Mục đích | Bạn nhập gì |
|---|---|---|
| 1. Menu & Định Lượng | Danh sách món, giá bán, giá vốn, lãi gộp từng món | Tên món, giá bán |
| 2. Công Thức Món | Định lượng nguyên liệu cho mỗi món | Món dùng nguyên liệu gì, bao nhiêu |
| 3. Nguyên Liệu Kho | Tồn kho, giá nhập, cảnh báo hết hàng | Nhập kho, giá, tồn tối thiểu |
| 4. Bán Hàng (theo ca) | Ghi nhận từng đơn theo ca, nhân viên, hình thức thanh toán | Ngày, ca, món, số lượng |
| 5. Ca Làm Nhân Viên | Chấm công, tính lương theo giờ | Giờ vào, giờ ra |
| 6. Dashboard | Tổng hợp tự động: doanh thu, top món, cảnh báo | Không nhập — chỉ xem |
Nguyên tắc vàng: chỉ nhập dữ liệu thô ở sheet 1–5, không bao giờ gõ tay số liệu vào dashboard. Mọi con số ở dashboard đều phải là công thức.
Sheet 1: Menu & Định Lượng — Trái Tim Của Quán
Đây là nơi bạn thấy ngay món nào "đẻ ra tiền" và món nào chỉ tạo cảm giác bán được hàng. Cấu trúc cột:
- Mã món | Tên món | Nhóm (Cafe / Trà / Đồ ăn) | Giá bán | Giá vốn (tổng nguyên liệu) | Lãi gộp | % lãi | Ghi chú
Bảng menu mẫu sau khi điền:
| Mã | Tên món | Nhóm | Giá bán | Giá vốn | Lãi gộp | % lãi |
|---|---|---|---|---|---|---|
| CF01 | Cà phê sữa | Cafe | 25.000 | 7.200 | 17.800 | 71% |
| CF02 | Bạc xỉu | Cafe | 30.000 | 9.500 | 20.500 | 68% |
| TR01 | Trà đào | Trà | 35.000 | 11.000 | 24.000 | 69% |
| DA01 | Bánh mì ốp la | Đồ ăn | 30.000 | 16.000 | 14.000 | 47% |
Nhìn bảng này, bạn thấy ngay: trà đào lãi 24.000đ/ly trong khi bánh mì ốp la chỉ lãi 14.000đ với biên lãi 47%. Nếu marketing đang đẩy mạnh bánh mì mà bỏ quên trà, bạn đang tối ưu sai chỗ.
Cột Giá vốn không gõ tay — nó được kéo tự động từ sheet Công Thức Món (xem phần công thức bên dưới). Cột Lãi gộp và % lãi cũng là công thức:
// Lãi gộp = Giá bán - Giá vốn
=D2-E2
// % lãi = Lãi gộp / Giá bán
=IF(D2=0, 0, F2/D2)
Sheet 2: Công Thức Món — Định Lượng Để Biết Giá Vốn Thật
Đây là sheet quan trọng nhất nhưng hay bị bỏ qua. Nó liệt kê chính xác mỗi món dùng bao nhiêu nguyên liệu. Cấu trúc cột:
- Món | Nguyên liệu | Định lượng | Đơn vị | Giá NL (kéo từ sheet kho) | Chi phí NL/món
Ví dụ định lượng cho một ly cà phê sữa:
| Món | Nguyên liệu | Định lượng | Đơn vị | Giá NL/đơn vị | Chi phí/món |
|---|---|---|---|---|---|
| Cà phê sữa | Cà phê bột | 20 | gram | 180 đ/g | 3.600 |
| Cà phê sữa | Sữa đặc | 30 | gram | 60 đ/g | 1.800 |
| Cà phê sữa | Đá viên | 100 | gram | 2 đ/g | 200 |
| Cà phê sữa | Ly + ống hút | 1 | cái | 1.600 đ/cái | 1.600 |
| Tổng giá vốn 1 ly cà phê sữa | 7.200 |
Cột Chi phí/món là công thức nhân định lượng với giá nguyên liệu:
// Chi phí NL/món = Định lượng × Giá NL/đơn vị
=C2*E2
Giá NL/đơn vị (cột E) nên dùng VLOOKUP tra từ sheet Nguyên Liệu Kho để khi đổi giá nhập, mọi món tự cập nhật:
// Tra giá nguyên liệu từ sheet kho theo tên
=VLOOKUP(B2, 'Nguyên Liệu Kho'!A:E, 5, FALSE)
Công Thức Cốt Lõi: Tính Giá Vốn Món Tự Động
Đây là phép màu của template. Ở sheet Menu, cột Giá vốn dùng SUMIF để cộng tất cả chi phí nguyên liệu của món đó từ sheet Công Thức:
// Giá vốn món = tổng "Chi phí/món" của tất cả nguyên liệu thuộc món đó
=SUMIF('Công Thức Món'!A:A, B2, 'Công Thức Món'!F:F)
Diễn giải: tìm trong cột A của sheet Công Thức tất cả dòng có tên món bằng ô B2 (tên món ở sheet Menu), rồi cộng cột F (Chi phí/món). Kết quả: 7.200đ cho ly cà phê sữa — khớp với bảng định lượng ở trên.
Lợi ích kép: khi giá sữa đặc tăng, bạn chỉ sửa một ô ở sheet kho. Giá vốn mọi món có sữa, lãi gộp, % lãi — tất cả tự tính lại. Bạn biết ngay món nào vừa "tụt" xuống dưới ngưỡng lãi an toàn.
Sheet 3: Nguyên Liệu Kho — Cảnh Báo Trước Khi Hết Hàng
Cấu trúc cột: Tên NL | Đơn vị | Tồn | Tồn tối thiểu | Giá nhập | Nhà cung cấp | Cảnh báo hết.
Cột Cảnh báo hết tự bật khi tồn chạm ngưỡng tối thiểu:
// Bật cảnh báo khi tồn kho <= tồn tối thiểu
=IF(C2<=D2, "⚠️ SẮP HẾT", "OK")
Để cột tự đổi màu đỏ khi cảnh báo, dùng Format có điều kiện: chọn cột Cảnh báo → Định dạng > Định dạng có điều kiện → "Văn bản chứa" → nhập SẮP HẾT → chọn nền đỏ.
Mức tồn thực tế nên tự trừ theo lượng bán ra. Lượng nguyên liệu tiêu thụ tính bằng số món bán × định lượng — phần này kết nối sang sheet Bán Hàng (xem phần dashboard).
Sheet 4: Bán Hàng Theo Ca — Dữ Liệu Vàng Cho Quyết Định
Mỗi đơn bán ghi một dòng. Cấu trúc cột: Ngày | Ca (Sáng / Chiều / Tối) | Món | SL | Doanh thu | Nhân viên | Hình thức TT (Tiền mặt / Chuyển khoản / Ví).
Cột Doanh thu nên tự tính từ giá bán ở sheet Menu để tránh gõ sai:
// Doanh thu dòng = SL × giá bán món (tra từ sheet Menu)
=D2*VLOOKUP(C2, 'Menu & Định Lượng'!B:D, 3, FALSE)
Mẹo nhập nhanh: dùng Data Validation (xác thực dữ liệu) tạo danh sách thả xuống cho cột Ca, Món, Nhân viên, Hình thức TT. Vừa nhập nhanh vừa không sai chính tả khiến công thức tổng hợp lệch.
Sheet 5: Ca Làm Nhân Viên — Chấm Công & Lương
Cấu trúc cột: Ngày | Nhân viên | Ca | Giờ vào | Giờ ra | Số giờ | Lương ca.
Số giờ làm và lương ca tự tính:
// Số giờ = (Giờ ra - Giờ vào) × 24
=(E2-D2)*24
// Lương ca = Số giờ × lương theo giờ (ví dụ 25.000đ/giờ)
=F2*25000
Lưu ý: định dạng cột Giờ vào / Giờ ra là kiểu Thời gian (Time). Nếu ca làm qua nửa đêm (vào 22h, ra 2h sáng), dùng công thức xử lý qua ngày:
// Xử lý ca qua nửa đêm
=IF(E2
Sheet 6: Dashboard — Toàn Cảnh Quán Trong Một Màn Hình
Dashboard tổng hợp mọi thứ bằng công thức. Dưới đây là các chỉ số quan trọng và công thức tạo ra chúng.
Doanh thu hôm nay theo ca
Dùng SUMIFS lọc theo ngày và ca:
// Doanh thu ca Sáng hôm nay
=SUMIFS('Bán Hàng'!E:E, 'Bán Hàng'!A:A, TODAY(), 'Bán Hàng'!B:B, "Sáng")
Doanh thu theo hình thức thanh toán
// Tổng tiền mặt
=SUMIF('Bán Hàng'!G:G, "Tiền mặt", 'Bán Hàng'!E:E)
// Tổng chuyển khoản
=SUMIF('Bán Hàng'!G:G, "Chuyển khoản", 'Bán Hàng'!E:E)
Top món bán chạy
Dùng QUERY nhóm theo món và sắp xếp giảm dần theo số lượng:
// Top 5 món bán chạy nhất
=QUERY('Bán Hàng'!C:D,
"SELECT C, SUM(D) WHERE C IS NOT NULL GROUP BY C ORDER BY SUM(D) DESC LIMIT 5 LABEL SUM(D) 'Số lượng'", 1)
Top món lãi cao
Sắp xếp menu theo cột lãi gộp giảm dần để biết món nào nên đẩy mạnh:
// Top món lãi gộp cao nhất
=QUERY('Menu & Định Lượng'!B:F,
"SELECT B, F WHERE F IS NOT NULL ORDER BY F DESC LIMIT 5 LABEL F 'Lãi gộp'", 1)
Nguyên liệu sắp hết
// Danh sách nguyên liệu cần nhập thêm
=QUERY('Nguyên Liệu Kho'!A:G,
"SELECT A, C, D WHERE G = '⚠️ SẮP HẾT' LABEL A 'Nguyên liệu', C 'Tồn', D 'Tối thiểu'", 1)
Lãi gộp tổng tháng
Để tính lãi gộp tổng, cần biết mỗi món bán ra lãi bao nhiêu. Dùng SUMPRODUCT kết hợp tra lãi gộp từng món:
// Lãi gộp tổng = tổng (SL từng đơn × lãi gộp món đó)
=SUMPRODUCT('Bán Hàng'!D2:D1000,
IFERROR(VLOOKUP('Bán Hàng'!C2:C1000, 'Menu & Định Lượng'!B:F, 5, FALSE), 0))
Nguyên liệu tiêu thụ → trừ kho
Lượng một nguyên liệu đã dùng = tổng số món bán × định lượng của nguyên liệu đó trong từng món. Công thức tổng hợp tiêu thụ một nguyên liệu (ví dụ "Cà phê bột"):
// Tổng cà phê bột đã tiêu thụ
=SUMPRODUCT(
('Công Thức Món'!B:B = "Cà phê bột") * 'Công Thức Món'!C:C *
IFERROR(SUMIF('Bán Hàng'!C:C, 'Công Thức Món'!A:A, 'Bán Hàng'!D:D), 0))
Lấy Tồn đầu - Tiêu thụ ra tồn thực tế, đối chiếu với tồn đếm tay để phát hiện hao hụt.
Tự Động Hóa Với Apps Script: Báo Cáo Cuối Ca & Cảnh Báo Kho
Công thức đã mạnh, nhưng Apps Script biến template thành trợ lý chủ động. Hai kịch bản hữu ích nhất cho quán:
1. Gửi báo cáo doanh thu cuối ca qua Telegram
Cuối mỗi ca, script tự tổng hợp doanh thu, số đơn, top món rồi gửi tin nhắn về điện thoại chủ quán. Bạn không cần ngồi quán cũng nắm tình hình.
function baoCaoCuoiCa() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const dash = ss.getSheetByName('Dashboard');
// Đọc số liệu đã tính sẵn ở dashboard
const doanhThu = dash.getRange('B2').getValue();
const soDon = dash.getRange('B3').getValue();
const topMon = dash.getRange('B4').getValue();
const tin =
'📊 BÁO CÁO CUỐI CA\n' +
'Doanh thu: ' + doanhThu.toLocaleString('vi-VN') + 'đ\n' +
'Số đơn: ' + soDon + '\n' +
'Món bán chạy: ' + topMon;
guiTelegram(tin);
}
function guiTelegram(noiDung) {
const token = 'YOUR_BOT_TOKEN';
const chatId = 'YOUR_CHAT_ID';
const url = 'https://api.telegram.org/bot' + token + '/sendMessage';
UrlFetchApp.fetch(url, {
method: 'post',
payload: { chat_id: chatId, text: noiDung }
});
}
Đặt Trigger theo thời gian (Apps Script > Triggers > Add Trigger) chạy hàm baoCaoCuoiCa vào 12h trưa (cuối ca sáng) và 22h tối (cuối ca tối).
2. Cảnh báo nguyên liệu sắp hết
Script quét cột tồn kho mỗi sáng, nếu có nguyên liệu chạm ngưỡng tối thiểu thì gửi danh sách cần nhập:
function canhBaoKho() {
const sheet = SpreadsheetApp.getActiveSpreadsheet()
.getSheetByName('Nguyên Liệu Kho');
const data = sheet.getDataRange().getValues();
let sapHet = [];
for (let i = 1; i < data.length; i++) {
const ton = data[i][2]; // cột Tồn
const toiThieu = data[i][3]; // cột Tồn tối thiểu
if (ton <= toiThieu) {
sapHet.push('• ' + data[i][0] + ' (còn ' + ton + ')');
}
}
if (sapHet.length > 0) {
guiTelegram('🛒 CẦN NHẬP HÀNG:\n' + sapHet.join('\n'));
}
}
Muốn gửi qua Zalo thay vì Telegram? Xem hướng dẫn tích hợp Zalo OA trong bài liên quan trên blog — cách đặt webhook tương tự, chỉ đổi endpoint gọi API.
Mẹo Vận Hành F&B Từ Dữ Liệu Template
Phân tích "giờ vàng" để xếp ca thông minh
Thêm cột giờ vào sheet Bán Hàng, rồi dùng QUERY nhóm doanh thu theo khung giờ. Bạn sẽ thấy rõ giờ nào đông nhất — thường quán cafe có hai đỉnh: 7–9h sáng và 19–21h tối. Xếp nhân viên giỏi nhất vào giờ vàng, cắt bớt ca giờ vắng để tiết kiệm lương.
QR menu giảm sai sót nhập liệu
Tạo Google Form gọi món, khách quét QR đặt món, dữ liệu đổ thẳng vào sheet Bán Hàng. Vừa hiện đại, vừa loại bỏ khâu nhân viên ghi tay rồi nhập lại — nguồn sai số lớn nhất.
Tích hợp POS đơn giản
Nếu dùng máy POS giá rẻ có xuất file CSV cuối ngày, bạn import CSV đó vào sheet Bán Hàng thay vì nhập tay. Template vẫn xử lý được vì mọi công thức tổng hợp đều bám theo cấu trúc cột, không phụ thuộc cách dữ liệu được nhập vào.
Theo dõi món "lãi ảo"
Một số món bán chạy nhưng biên lãi thấp (như bánh mì ốp la 47% ở ví dụ trên). Sắp xếp dashboard theo cả hai chiều — số lượng bán và % lãi — để phát hiện món tốn công mà ít lời. Cân nhắc tăng giá nhẹ hoặc tối ưu định lượng.
Checklist Triển Khai Template Cho Quán Của Bạn
- Bước 1: Tạo 6 sheet với cấu trúc cột như trên.
- Bước 2: Nhập toàn bộ nguyên liệu, giá nhập vào sheet Kho.
- Bước 3: Khai báo định lượng từng món ở sheet Công Thức.
- Bước 4: Gắn công thức
SUMIF tính giá vốn ở sheet Menu.
- Bước 5: Tạo Data Validation cho sheet Bán Hàng để nhập nhanh.
- Bước 6: Dựng dashboard với các công thức
SUMIFS, QUERY.
- Bước 7: (Tùy chọn) Thêm Apps Script báo cáo cuối ca & cảnh báo kho.
Kết Luận
Quản lý quán cafe, nhà hàng nhỏ không cần phần mềm đắt tiền. Một template Google Sheets 6 sheet được thiết kế đúng cho F&B đã đủ để bạn trả lời ba câu hỏi sống còn: món nào lãi nhất, nguyên liệu có hao hụt không, ca nào tạo ra tiền.
Sức mạnh thật sự không nằm ở việc ghi chép, mà ở việc dữ liệu tự tính lãi gộp từng món, tự cảnh báo kho, tự gửi báo cáo cuối ca. Bạn chuyển từ "đoán mò" sang "quyết định bằng số".
Hãy bắt đầu từ hai sheet quan trọng nhất — Menu & Định Lượng và Công Thức Món — để biết ngay biên lãi thật của quán. Khi đã quen, mở rộng sang bán hàng theo ca và dashboard. Chỉ sau một tháng vận hành có dữ liệu, bạn sẽ nhìn quán mình bằng một con mắt hoàn toàn khác.
Bai viet lien quan
- Template Quản Lý Kho Hàng Google Sheets [Tự Động Cảnh Báo Tồn Kho 2026]
- Template Quản Lý Bán Hàng Online Google Sheets [Shop Nhỏ 2026]
- Google Sheets + Telegram Bot: Gửi Thông Báo Tự Động [Hướng Dẫn 2026]
Xem thêm: 15 template Google Sheets miễn phí được tải nhiều nhất — bộ template tổng hợp cho mọi nhu cầu quản lý.
💡 Giải pháp sẵn có cho bạn
Không muốn tự làm? Dùng ngay Phần mềm POS quản lý quán cafe & nhà hàng — đầy đủ tính năng, cài đặt nhanh.
Xem sản phẩm →
Chia sẻ bài viết:
Tuân Hoang
Đội ngũ SheetStore
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.

