Cách xây dựng hệ thống quản lý bán hàng trên Google Sheets
1 tháng 1, 2026
Cập nhật: 25 tháng 3, 2026
18 phút đọc

# Cách xây dựng hệ thống quản lý bán hàng trên Google Sheets
Một hệ thống quản lý bán hàng tốt sẽ giúp bạn kiểm soát kinh doanh hiệu quả. Hãy cùng xây dựng từng bước!
## Tổng quan hệ thống
### Các sheet cần có:
1. **Dashboard** - Tổng quan kinh doanh
2. **Products** - Quản lý sản phẩm
3. **Orders** - Quản lý đơn hàng
4. **Customers** - Quản lý khách hàng
5. **Inventory** - Quản lý kho
6. **Reports** - Báo cáo
## 1. Thiết kế Sheet Products
### Cấu trúc cột:
| Cột | Tên | Kiểu dữ liệu | Mô tả |
|-----|-----|--------------|-------|
| A | ProductID | Text | Mã sản phẩm (tự động) |
| B | ProductName | Text | Tên sản phẩm |
| C | Category | Dropdown | Danh mục |
| D | SKU | Text | Mã SKU |
| E | CostPrice | Number | Giá nhập |
| F | SalePrice | Number | Giá bán |
| G | Stock | Number | Tồn kho |
| H | MinStock | Number | Tồn kho tối thiểu |
| I | Status | Dropdown | Trạng thái |
### Công thức tự động tạo mã sản phẩm:
```
=IF(B2<>"", "SP"&TEXT(ROW()-1,"0000"), "")
```
## 2. Thiết kế Sheet Orders
### Cấu trúc:
| Cột | Tên | Công thức/Validation |
|-----|-----|----------------------|
| A | OrderID | =IF(C2<>"","DH"&TEXT(ROW()-1,"00000"),"") |
| B | OrderDate | Date validation |
| C | CustomerID | Dropdown từ Customers |
| D | CustomerName | =VLOOKUP(C2,Customers!A:B,2,0) |
| E | ProductID | Dropdown từ Products |
| F | ProductName | =VLOOKUP(E2,Products!A:B,2,0) |
| G | Quantity | Number |
| H | UnitPrice | =VLOOKUP(E2,Products!A:F,6,0) |
| I | Total | =G2*H2 |
| J | Status | Dropdown: Mới/Xác nhận/Giao hàng/Hoàn thành |
## 3. Dashboard - Tổng quan
### KPIs quan trọng:
```
// Tổng doanh thu tháng này
=SUMIFS(Orders!I:I, Orders!B:B, ">="&EOMONTH(TODAY(),-1)+1, Orders!B:B, "<="&EOMONTH(TODAY(),0))
// Số đơn hàng
=COUNTIFS(Orders!B:B, ">="&EOMONTH(TODAY(),-1)+1, Orders!J:J, "Hoàn thành")
// Doanh thu trung bình/đơn
=AVERAGEIFS(Orders!I:I, Orders!J:J, "Hoàn thành")
// Sản phẩm bán chạy nhất
=INDEX(Orders!F:F, MATCH(MAX(COUNTIF(Orders!F:F, Orders!F:F)), COUNTIF(Orders!F:F, Orders!F:F), 0))
```
### Biểu đồ đề xuất:
- **Line chart**: Doanh thu theo thời gian
- **Pie chart**: Tỷ lệ theo danh mục
- **Bar chart**: Top sản phẩm bán chạy
- **Sparklines**: Xu hướng nhanh
## 4. Quản lý kho tự động
### Công thức cập nhật tồn kho:
```
// Tồn kho hiện tại
=Products!G2 - SUMIFS(Orders!G:G, Orders!E:E, Products!A2, Orders!J:J, "Hoàn thành")
// Cảnh báo hết hàng
=IF(G2<=H2, "⚠️ Cần nhập thêm", "✅ OK")
```
## 5. Báo cáo tự động
### Báo cáo doanh thu theo tháng:
```
=QUERY(Orders!A:J,
"SELECT MONTH(B)+1, SUM(I)
WHERE J='Hoàn thành'
GROUP BY MONTH(B)+1
ORDER BY MONTH(B)+1
LABEL MONTH(B)+1 'Tháng', SUM(I) 'Doanh thu'")
```
### Báo cáo top khách hàng:
```
=QUERY(Orders!A:J,
"SELECT D, COUNT(A), SUM(I)
WHERE J='Hoàn thành'
GROUP BY D
ORDER BY SUM(I) DESC
LIMIT 10
LABEL D 'Khách hàng', COUNT(A) 'Số đơn', SUM(I) 'Tổng mua'")
```
## 6. Apps Script nâng cao
### Tự động gửi email khi có đơn mới:
```javascript
function onEdit(e) {
const sheet = e.source.getActiveSheet();
if (sheet.getName() === 'Orders' && e.range.getColumn() === 10) {
if (e.value === 'Xác nhận') {
sendOrderConfirmation(e.range.getRow());
}
}
}
function sendOrderConfirmation(row) {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Orders');
const data = sheet.getRange(row, 1, 1, 10).getValues()[0];
const orderId = data[0];
const customerEmail = data[3]; // Giả sử cột D là email
GmailApp.sendEmail(
customerEmail,
`Xác nhận đơn hàng ${orderId}`,
`Đơn hàng của bạn đã được xác nhận. Mã đơn: ${orderId}`
);
}
```
## Mẹo tối ưu
1. **Sử dụng Named Ranges** cho dễ quản lý công thức
2. **Data Validation** để tránh nhập sai
3. **Conditional Formatting** để highlight dữ liệu quan trọng
4. **Protected Ranges** để bảo vệ công thức
5. **Version History** để backup tự động
## Kết luận
Với hướng dẫn này, bạn đã có thể xây dựng một hệ thống quản lý bán hàng cơ bản nhưng đầy đủ tính năng. Hãy tùy chỉnh theo nhu cầu riêng của bạn!
> **Tip**: Nếu muốn một giải pháp hoàn chỉnh và chuyên nghiệp hơn, hãy tham khảo [Phần mềm Quản lý Bán hàng](/marketplace) của SheetStore!
📚 Bài Viết Liên Quan
- Template Google Sheets Báo Cáo Bán Hàng Theo Vùng và Đại Lý 2027: Phân Tích Đa Chiều
- Google Sheets Nâng Cao Bài 9: Bảo Mật, Phân Quyền và Chia Sẻ Chuyên Nghiệp
- Google Sheets Nâng Cao Bài 4: Hàm QUERY - Lọc và Phân Tích Dữ Liệu Chuyên Nghiệp
- Template Google Sheets Quản Lý Phòng Khám và Bệnh Viện Nhỏ 2027
Chia sẻ bài viết:
Hoàng Mạnh Tuân
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.