Google Apps Script: Tự Động Gửi Email Báo Cáo Bán Hàng Hàng Ngày

Google Apps Script: Tự Động Gửi Email Báo Cáo Từ Google Sheets
Với Google Apps Script, bạn có thể tự động hóa hoàn toàn quy trình báo cáo — gửi email tóm tắt doanh thu hàng ngày, cảnh báo hết hàng, báo cáo tuần/tháng. Tất cả miễn phí, không cần code nhiều.
Google Apps Script Là Gì?
Google Apps Script là nền tảng scripting dựa trên JavaScript, tích hợp sẵn trong Google Workspace (Sheets, Docs, Gmail, Calendar). Bạn có thể viết code để tự động hóa các tác vụ lặp đi lặp lại, gửi email, kết nối API bên ngoài — hoàn toàn miễn phí.
Cách Mở Apps Script Editor
- Mở file Google Sheets của bạn
- Click menu Extensions → Apps Script
- Cửa sổ code editor mở ra với file
Code.gs - Bắt đầu viết function của bạn
Script 1: Gửi Email Báo Cáo Doanh Thu Hàng Ngày
function baoCaoDoanhThuHangNgay() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var dashboard = ss.getSheetByName('Dashboard');
var donHang = ss.getSheetByName('Đơn hàng');
// Lấy dữ liệu từ Dashboard
var doanhThuHomNay = dashboard.getRange('B2').getValue();
var soDon = dashboard.getRange('B3').getValue();
var doanhThuThang = dashboard.getRange('B4').getValue();
// Format số tiền
function formatTien(so) {
return so.toLocaleString('vi-VN') + ' đ';
}
var today = new Date().toLocaleDateString('vi-VN');
var subject = '📊 Báo cáo doanh thu ' + today;
var body = 'Xin chào,\n\n' +
'=== BÁO CÁO DOANH THU NGÀY ' + today + ' ===\n\n' +
'💰 Doanh thu hôm nay: ' + formatTien(doanhThuHomNay) + '\n' +
'📦 Số đơn hàng: ' + soDon + ' đơn\n' +
'📈 Doanh thu tháng này: ' + formatTien(doanhThuThang) + '\n\n' +
'Trân trọng,\nHệ thống báo cáo tự động';
MailApp.sendEmail({
to: 'owner@yourdomain.com',
subject: subject,
body: body
});
Logger.log('Email báo cáo đã gửi thành công!');
}
Script 2: Cảnh Báo Hết Hàng Tự Động
function canhBaoHetHang() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sanPham = ss.getSheetByName('Sản phẩm');
var data = sanPham.getDataRange().getValues();
var hangSapHet = [];
// Duyệt từ row 2 (bỏ header)
for (var i = 1; i < data.length; i++) {
var tenSP = data[i][1]; // Cột B: Tên sản phẩm
var tonKho = data[i][5]; // Cột F: Tồn kho
var mucCanhBao = data[i][6] || 10; // Cột G: Mức cảnh báo (mặc định 10)
if (tonKho <= mucCanhBao && tonKho > 0) {
hangSapHet.push(tenSP + ': còn ' + tonKho + ' cái');
} else if (tonKho <= 0) {
hangSapHet.push('🚨 ' + tenSP + ': HẾT HÀNG!');
}
}
if (hangSapHet.length > 0) {
MailApp.sendEmail({
to: 'owner@yourdomain.com',
subject: '⚠️ Cảnh báo tồn kho - ' + hangSapHet.length + ' sản phẩm cần bổ sung',
body: 'Các sản phẩm sắp hết hoặc đã hết:\n\n' +
hangSapHet.join('\n') +
'\n\nVui lòng đặt hàng ngay!'
});
}
}
Script 3: Báo Cáo Tuần Với HTML Email Đẹp
function baoCaoTuan() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var dashboard = ss.getSheetByName('Dashboard');
var doanhThu7Ngay = dashboard.getRange('C2').getValue();
var soDon7Ngay = dashboard.getRange('C3').getValue();
var sanPhamBanChay = dashboard.getRange('C4').getValue();
var htmlBody = '' +
'📊 Báo Cáo Tuần
' +
'' +
'' +
' 💰 Doanh thu 7 ngày ' +
' ' +
doanhThu7Ngay.toLocaleString("vi-VN") + ' đ ' +
' ' +
'' +
' 📦 Tổng đơn hàng ' +
' ' +
soDon7Ngay + ' đơn ' +
' ' +
'' +
' 🏆 SP bán chạy nhất ' +
' ' +
sanPhamBanChay + ' ' +
' ' +
'
' +
'';
MailApp.sendEmail({
to: 'owner@yourdomain.com',
subject: '📊 Báo cáo tuần - ' + new Date().toLocaleDateString("vi-VN"),
htmlBody: htmlBody
});
}
Thiết Lập Trigger Tự Động
Trong Apps Script Editor, click icon ⏱ Triggers (đồng hồ) bên trái
Click + Add Trigger (góc dưới phải)
Chọn: Function = baoCaoDoanhThuHangNgay, Event source = Time-driven, Type = Day timer, Time = 8pm-9pm
Click Save → Authorize quyền truy cập Email và Sheets
Lịch Trigger Gợi Ý
| Function | Tần suất | Giờ chạy |
|---|---|---|
| baoCaoDoanhThuHangNgay | Daily | 8PM |
| canhBaoHetHang | Daily | 7AM |
| baoCaoTuan | Weekly (Thứ 2) | 8AM |
Tự Động Hoá Toàn Diện Với SheetStore
SheetStore tích hợp Google Sheets, tự động sync dữ liệu, gửi báo cáo theo cài đặt — không cần viết script thủ công. Phù hợp cho chủ shop bận rộn.
Xem Demo AutomationChia sẻ bài viết:
Tuân Hoang
Đội ngũ SheetStore
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.