Google Sheets Nâng Cao

Xây Dựng Hệ Thống ERP Mini Bằng Google Sheets Cho DN Nhỏ

Tuân HoangTuân Hoang
20 tháng 3, 2026
Cập nhật: 24 tháng 3, 2026
15 phút đọc
Xây Dựng Hệ Thống ERP Mini Bằng Google Sheets Cho DN Nhỏ

Xây dựng hệ thống ERP mini bằng Google Sheets cho doanh nghiệp nhỏ — quản lý bán hàng, kho, kế toán, nhân sự trong một hệ thống liên thông, tự động hóa hoàn toàn.

ERP (Enterprise Resource Planning) không nhất thiết phải tốn hàng trăm triệu. Với Google Sheets được cấu hình đúng cách, DN nhỏ 5-50 người hoàn toàn có thể có một hệ thống quản lý tích hợp chi phí gần như bằng 0.

1. ERP Mini Là Gì? Doanh Nghiệp Nào Phù Hợp?

ERP (Enterprise Resource Planning) là hệ thống tích hợp quản lý toàn bộ hoạt động doanh nghiệp — từ bán hàng, kho, kế toán đến nhân sự — trong một nền tảng duy nhất, với dữ liệu liên thông.

ERP thương mại (SAP, Oracle, Microsoft Dynamics) có giá từ vài trăm đến vài tỷ đồng/năm. "ERP Mini trên Google Sheets" là giải pháp thực tế cho:

Tiêu chí Phù hợp ✅ Không phù hợp ❌
Quy mô5–50 nhân viên>100 nhân viên
Giao dịch/ngày<200 đơn hàng/ngày>500 đơn hàng/ngày
Ngân sách phần mềmGần bằng 0Có ngân sách >5 triệu/tháng
Yêu cầu tuân thủBáo cáo nội bộKế toán pháp lý nghiêm ngặt
Sản phẩm/SKU<5.000 SKU>50.000 SKU

2. Kiến Trúc Hệ Thống ERP Mini Trên Google Sheets

Hệ thống gồm nhiều file Google Sheets kết nối với nhau qua IMPORTRANGE, được tổng hợp vào một Dashboard trung tâm:

📁 ERP-Mini-CongTy/ ├── 📊 MASTER-DanhMuc.xlsx ← Danh mục SP, KH, NCC, NV (dùng chung) ├── 📊 MODULE-BanHang.xlsx ← Đơn hàng, hóa đơn, công nợ KH ├── 📊 MODULE-KhoHang.xlsx ← Nhập/xuất kho, tồn kho, kiểm kê ├── 📊 MODULE-KeToan.xlsx ← Thu/chi, dòng tiền, P&L ├── 📊 MODULE-NhanSu.xlsx ← Chấm công, bảng lương └── 📊 DASHBOARD-TongHop.xlsx ← Dashboard tổng hợp từ tất cả module

Nguyên tắc thiết kế:

  • Mỗi module là file riêng biệt — nhân viên chỉ truy cập module của mình
  • File MASTER chứa danh mục chung — tất cả module đều dùng IMPORTRANGE từ đây
  • Dashboard kéo dữ liệu từ tất cả module bằng IMPORTRANGE + QUERY
  • Mỗi file có sheet "Data" (nhập liệu) và sheet "Report" (báo cáo riêng)

3. Module Bán Hàng — Trái Tim Của Hệ Thống

Cấu Trúc Sheet Đơn Hàng

Cột A Cột B Cột C Cột D Cột E Cột F Cột G Cột H
Mã đơnNgàyMã KHTên KH*Mã SPTên SP*SLĐơn giá*

* Cột tự động lấy từ MASTER qua XLOOKUP — nhân viên không nhập thủ công

// D2: Tên KH tự động từ Mã KH (cột C)
=ARRAYFORMULA(IF(C2:C<>"",XLOOKUP(C2:C,MASTER!A:A,MASTER!B:B,"KH không tồn tại"),""))

// F2: Tên SP từ Mã SP (cột E)
=ARRAYFORMULA(IF(E2:E<>"",XLOOKUP(E2:E,MASTER!D:D,MASTER!E:E,"SP không tồn tại"),""))

// H2: Đơn giá từ danh mục giá
=ARRAYFORMULA(IF(E2:E<>"",XLOOKUP(E2:E,MASTER!D:D,MASTER!F:F,0),""))

// I2: Thành tiền
=ARRAYFORMULA(IF(G2:G<>"",G2:G*H2:H,""))

// A2: Mã đơn tự động (DH-năm-số thứ tự)
=ARRAYFORMULA(IF(B2:B<>"",(TEXT(B2:B,"YYYY")&"-DH-"&TEXT(ROW(B2:B)-1,"000")),""))

Báo Cáo Bán Hàng Tự Động

// Sheet "BaoCao": Doanh thu theo tháng và nhân viên
=QUERY(DonHang!A:K,
  "SELECT MONTH(B), J, SUM(I), COUNT(A)
  WHERE B IS NOT NULL
  GROUP BY MONTH(B), J
  ORDER BY MONTH(B) ASC
  LABEL MONTH(B) 'Tháng', J 'NV', SUM(I) 'Doanh Thu', COUNT(A) 'Số Đơn'",
1)

4. Module Kho Hàng — Tồn Kho Thời Gian Thực

Module kho gồm 3 sheet chính:

  • NhapKho: Ghi nhận hàng nhập từ nhà cung cấp
  • XuatKho: Ghi nhận hàng xuất theo đơn hàng (tự động từ Module Bán Hàng)
  • TonKho: Tính tồn kho tự động = Tổng nhập - Tổng xuất
// Sheet TonKho — cột C: Tổng nhập
=ARRAYFORMULA(IF(A2:A<>"",SUMIF(NhapKho!B:B,A2:A,NhapKho!D:D),""))

// Cột D: Tổng xuất (từ Module Bán Hàng qua IMPORTRANGE)
=ARRAYFORMULA(IF(A2:A<>"",
  SUMIF(
    IMPORTRANGE("URL_BANHANG","DonHang!E:E"),
    A2:A,
    IMPORTRANGE("URL_BANHANG","DonHang!G:G")
  ),""))

// Cột E: Tồn kho hiện tại
=ARRAYFORMULA(IF(A2:A<>"",C2:C-D2:D,""))

// Cột F: Cảnh báo tồn kho thấp
=ARRAYFORMULA(IF(A2:A<>"",
  IF(E2:E<=B2:B,"⚠️ Cần nhập thêm",
  IF(E2:E=0,"❌ Hết hàng","✅ Còn hàng")),""))

5. Module Kế Toán Đơn Giản — Thu Chi và Dòng Tiền

Module kế toán đơn giản phù hợp cho DN nhỏ chưa cần kế toán pháp lý phức tạp:

// Sheet SoThuChi: Ghi nhận thu/chi hàng ngày
// Cột: Ngày | Loại (Thu/Chi) | Danh mục | Mô tả | Số tiền | Số dư

// Cột F (Số dư): Cộng dồn
=ARRAYFORMULA(IF(A2:A<>"",
  SCAN(0, IF(B2:B="Thu",E2:E,-E2:E),
    LAMBDA(acc,x,acc+x)),""))

// Sheet PL (P&L): Doanh thu từ Bán Hàng, chi phí từ Sổ Thu Chi
// Doanh thu = SUMIFS từ IMPORTRANGE Module Bán Hàng
=SUMIFS(
  IMPORTRANGE("URL_BANHANG","DonHang!I:I"),
  IMPORTRANGE("URL_BANHANG","DonHang!B:B"),">="&DATE(YEAR(TODAY()),MONTH(TODAY()),1),
  IMPORTRANGE("URL_BANHANG","DonHang!K:K"),"Hoàn thành"
)

6. Module Nhân Sự — Chấm Công Và Bảng Lương

// Sheet ChamCong: Mỗi ngày nhân viên check-in/out
// Cột: Ngày | Mã NV | Tên NV | Check-in | Check-out | Số giờ | Loại ngày

// Cột F (Số giờ thực tế):
=ARRAYFORMULA(IF(E2:E<>"",
  MAX(0,(E2:E-D2:D)*24-1), // Trừ 1 giờ nghỉ trưa
""))

// Sheet BangLuong: Tổng hợp cuối tháng
// Ngày công = số ngày làm việc tháng này
=COUNTIFS(
  ChamCong!A:A,">="&DATE(YEAR(TODAY()),MONTH(TODAY()),1),
  ChamCong!B:B,A2, // A2 = Mã NV
  ChamCong!G:G,"Ngày thường"
)

7. Dashboard Tổng Hợp — Toàn Cảnh Doanh Nghiệp

Dashboard tổng hợp kéo dữ liệu từ tất cả module và hiển thị KPI quan trọng nhất:

// KPI 1: Doanh thu tháng này
=SUMIFS(
  IMPORTRANGE(URL_BH,"DonHang!I:I"),
  IMPORTRANGE(URL_BH,"DonHang!B:B"),">="&EOMONTH(TODAY(),-1)+1
)

// KPI 2: Số sản phẩm tồn kho thấp
=COUNTIF(IMPORTRANGE(URL_KHO,"TonKho!F:F"),"⚠️ Cần nhập thêm")

// KPI 3: Số đơn chưa giao trong tuần này
=COUNTIFS(
  IMPORTRANGE(URL_BH,"DonHang!B:B"),">="&(TODAY()-WEEKDAY(TODAY(),2)+1),
  IMPORTRANGE(URL_BH,"DonHang!K:K"),"Chờ giao"
)

// KPI 4: Dòng tiền hiện tại
=QUERY(IMPORTRANGE(URL_KT,"SoThuChi!A:F"),
  "SELECT MAX(Col6) LIMIT 1",1)

8. Tự Động Hóa Với Apps Script

// Gửi báo cáo tổng hợp hàng ngày lúc 8h function baoCaoNgay() { const ss = SpreadsheetApp.openById('DASHBOARD_FILE_ID'); const sheet = ss.getSheetByName('KPI'); const doanhThu = sheet.getRange('B2').getValue(); const sodon = sheet.getRange('B3').getValue(); const tonKhoThap = sheet.getRange('B4').getValue(); const dongTien = sheet.getRange('B5').getValue(); const ngay = Utilities.formatDate(new Date(), 'Asia/Ho_Chi_Minh', 'dd/MM/yyyy'); const htmlBody = ` <h2>📊 Báo Cáo ERP — ${ngay}</h2> <table style="border-collapse:collapse;width:400px"> <tr style="background:#f0fdf4"> <td style="padding:10px;border:1px solid #ddd"><b>💰 Doanh thu hôm nay</b></td> <td style="padding:10px;border:1px solid #ddd">${doanhThu.toLocaleString('vi-VN')} VNĐ</td> </tr> <tr> <td style="padding:10px;border:1px solid #ddd"><b>📦 Số đơn hàng</b></td> <td style="padding:10px;border:1px solid #ddd">${sodon} đơn</td> </tr> <tr style="background:#fef9c3"> <td style="padding:10px;border:1px solid #ddd"><b>⚠️ Hàng sắp hết</b></td> <td style="padding:10px;border:1px solid #ddd">${tonKhoThap} sản phẩm</td> </tr> <tr> <td style="padding:10px;border:1px solid #ddd"><b>🏦 Số dư tiền mặt</b></td> <td style="padding:10px;border:1px solid #ddd">${dongTien.toLocaleString('vi-VN')} VNĐ</td> </tr> </table> <p><a href="DASHBOARD_URL">→ Xem Dashboard đầy đủ</a></p> `; GmailApp.sendEmail( 'giamdoc@congty.com', '📊 Báo Cáo Hàng Ngày — ' + ngay, '', { htmlBody } ); }

9. Hạn Chế Và Khi Nào Nên Nâng Cấp Lên ERP Thực Sự

Hạn chế của ERP Mini trên Sheets:

  • Không xử lý được >500 giao dịch/ngày (sheet chậm)
  • Không có workflow phê duyệt phức tạp
  • Không hỗ trợ barcode scanner trực tiếp
  • Báo cáo kế toán không đúng chuẩn pháp lý Việt Nam
  • Khó audit khi nhiều người cùng nhập liệu đồng thời

Dấu hiệu nên nâng cấp lên phần mềm chuyên nghiệp:

  • File Sheets bị chậm, lag khi mở
  • Có >50 người dùng thường xuyên
  • Cần kết nối với thiết bị (máy POS, barcode, cân điện tử)
  • Cần xuất báo cáo thuế, hóa đơn điện tử theo chuẩn MISA/VNPT
  • Cần phân quyền phức tạp theo vai trò và phòng ban

Bắt Đầu Ngay Với Template ERP Mini

Thay vì tự xây từ đầu mất nhiều tuần, hãy dùng template quản lý bán hàng chuyên nghiệp từ SheetStore.vn — đã tích hợp module bán hàng, kho, báo cáo. Triển khai trong 1 ngày.

Xem Template ERP Mini →

10. FAQ

ERP Mini trên Sheets có tốt hơn KiotViet không?

KiotViet tốt hơn cho bán lẻ có POS và barcode. ERP Mini Sheets tốt hơn khi cần tùy chỉnh hoàn toàn, chi phí gần 0, tích hợp Google Workspace.

Mất bao lâu để xây dựng?

Tự xây từ đầu: 2-4 tuần. Dùng template và tùy chỉnh: 1-3 ngày. Nên bắt đầu với template.

Dữ liệu ERP trên Sheets có an toàn không?

Google Drive mã hóa AES-256, an toàn hơn server nhỏ không được bảo trì. Quan trọng: phân quyền chặt, bật 2FA, backup định kỳ.

Tổng Kết Chuỗi Google Sheets Nâng Cao

Bạn đã hoàn thành chuỗi 10 bài Google Sheets nâng cao — từ hàm cơ bản đến xây dựng hệ thống ERP. Để bắt đầu nhanh, hãy khám phá các template chuyên nghiệp tại SheetStore.vn.

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