Hướng dẫn Google Sheets

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

Tuân HoangTuân Hoang
5 tháng 2, 2026
Cập nhật: 25 tháng 3, 2026
12 phút đọc
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

  1. Mở file Google Sheets của bạn
  2. Click menu ExtensionsApps Script
  3. Cửa sổ code editor mở ra với file Code.gs
  4. 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

1.

Trong Apps Script Editor, click icon ⏱ Triggers (đồng hồ) bên trái

2.

Click + Add Trigger (góc dưới phải)

3.

Chọn: Function = baoCaoDoanhThuHangNgay, Event source = Time-driven, Type = Day timer, Time = 8pm-9pm

4.

Click Save → Authorize quyền truy cập Email và Sheets

Lịch Trigger Gợi Ý

FunctionTần suấtGiờ chạy
baoCaoDoanhThuHangNgayDaily8PM
canhBaoHetHangDaily7AM
baoCaoTuanWeekly (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 Automation

Chia sẻ bài viết:

Tuân Hoang

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.

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