Bảo vệ thanh toánChi tiết
- Chỉnh sửa trong phạm vi gói là miễn phí.
- Nếu bạn không phản hồi trong vòng 3 ngày sau khi bàn giao, kết quả sẽ được tự động chấp nhận.
Số tiền được tạm giữ khi bạn thanh toán và chỉ được chuyển khi bạn chấp nhận kết quả.

Ví dụ kết quả
Gộp file doanh số hằng tháng của 9 cửa hàng thành một báo cáo Excel
Cách chạy
python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO Thư mục: sales/2026-10, tìm thấy 9 file
2026-11-02 09:14:03 INFO shop-01.csv: 1.284 dòng
2026-11-02 09:14:04 INFO shop-02.xlsx: 967 dòng
2026-11-02 09:14:04 WARN shop-07.csv: bỏ qua 3 dòng không có giá (dòng 88, 412, 913)
2026-11-02 09:14:05 INFO Xong: 10.412 dòng -> report-2026-10.xlsx (sheet “Doanh số” và “Tổng cộng”)
Cài đặt, không phải code
Tên cột của từng cửa hàng nằm trong settings.ini, nên thêm cửa hàng mới hay đổi tên cột chỉ là thêm một dòng ở đó:
[columns]
date = Ngày, Ngày bán, Ngày giao dịch
product = Sản phẩm, Mặt hàng, Tên hàng
quantity = SL, Số lượng, Cái
price = Giá, Đơn giá
Một phần code
def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
"""Đọc file của một cửa hàng và đặt cho các cột tên theo báo cáo."""
table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
renamed = {}
for name, variants in columns.items():
found = next((c for c in table.columns if c.strip() in variants), None)
if found is None:
raise ReportError(f"{path.name}: không có cột cho “{name}” (đã tìm: {', '.join(variants)})")
renamed[found] = name
table = table.rename(columns=renamed)[list(columns)]
table["shop"] = path.stem
return table
File bàn giao: file ZIP gồm merge_sales.py (310 dòng), settings.ini, requirements.txt và README hướng dẫn cài Python, chạy script và ý nghĩa của từng thông báo trong nhật ký. Khách hàng tự chạy script trên máy tính của mình.
Khách hàng: một chuỗi nhỏ gồm 9 cửa hàng văn phòng phẩm; mỗi cửa hàng gửi doanh số của tháng dưới dạng file CSV hoặc Excel, với tên cột hơi khác nhau. Yêu cầu: một script đọc mọi file trong một thư mục, đưa các cột về cùng một dạng và ghi ra một báo cáo Excel duy nhất gồm toàn bộ doanh số và một sheet tổng theo từng cửa hàng.
Khách hàng và mọi thông tin đều là giả định.
Về dịch vụ này
Bộ lọc Gmail chỉ áp dụng cho thư mới và chỉ theo điều kiện đơn giản. Google Apps Script này dọn dẹp cả thư đã có trong hộp thư, theo quy tắc như: gắn nhãn mọi thư từ tên miền của nhà cung cấp, lưu trữ bản tin cũ hơn 14 ngày, đánh dấu biên lai là đã đọc và đưa vào nhãn Kế toán, hoặc gắn sao cho thư chưa trả lời của khách hàng sau ba ngày. Script hoạt động bằng tìm kiếm Gmail, chính những từ bạn gõ vào ô tìm kiếm, nên quy tắc dễ đọc và dễ sửa. Từ gói Tiêu chuẩn, các quy tắc nằm trên một tab Google Trang tính do bạn chỉnh sửa, và nhật ký cho thấy script đã làm gì. Script không xóa thư: chỉ gắn nhãn, lưu trữ và đánh dấu; chuyển vào Thùng rác chỉ được thêm khi bạn đưa ra quy tắc đó. Bạn tự cài đặt và chạy script trong chính tài khoản Google của mình.
Bao gồm những gì
- Bạn nhận được gìFile ZIP gồm code Apps Script và README hướng dẫn cách thêm vào tài khoản, cấp quyền truy cập và chạy; code cũng được hiển thị trên trang đơn hàng.
- Cả thư cũLàm việc với những gì đã có trong hộp thư
- Quy tắc theo tìm kiếm Gmailfrom:, subject:, older_than: và các toán tử khác
- Gắn nhãn, lưu trữ, đánh dấu đã đọc, gắn saoHành động bạn chọn cho từng quy tắc
- Mặc định không xóaChỉ chuyển vào Thùng rác khi bạn đưa quy tắc đó
- Code dễ đọcCó chú thích, dễ thêm quy tắc về sau
Cách hoạt động
- 1Quy địnhBạn liệt kê quy tắc bằng lời thường
- 2CodeChúng tôi viết script và hướng dẫn cài đặt
- 3Chạy thửBạn chạy thử một quy tắc trước và kiểm tra nhãn
- 4Chỉnh sửaBạn yêu cầu chỉnh sửa trong phạm vi gói và gửi thông báo lỗi nếu có
Chúng tôi cần gì từ bạn
Quy tắc của bạn bằng lời thường: thư nào (người gửi hoặc tên miền, từ trong tiêu đề, thời gian, có file đính kèm), làm gì với thư đó (gắn nhãn, lưu trữ, đánh dấu đã đọc, gắn sao) và tên các nhãn bạn dùng. Khoảng bao nhiêu thư trong hộp thư và thư mới cần được sắp xếp bao lâu một lần. Bạn dùng Gmail miễn phí hay Google Workspace. Không gửi mật khẩu và ảnh chụp màn hình thư riêng tư: người gửi ví dụ như shop.example là đủ.
Chúng tôi sẽ hỏi bạn:
- Cần sắp xếp những gì?
- Mỗi loại thì xử lý thế nào?
- Cả thư cũ, hay chỉ thư mới?
- Điều script tuyệt đối không được làm
So sánh các gói
| Các gói | Cơ bảnMột bộ quy tắc434.000 ₫ | Tiêu chuẩnQuy tắc trong bảng tính894.000 ₫ | Cao cấpCông cụ dọn dẹp thư1.815.000 ₫ |
|---|---|---|---|
| Thời hạn | 1 ngày | 2 ngày | 3 ngày |
| Số lần chỉnh sửa | 1 | 2 | 3 |
| Code | tối đa 150 dòng | tối đa 400 dòng | tối đa 1.000 dòng |
| Số file code | 1 | tối đa 3 | tối đa 8 |
| File cài đặt | Không | Có | Có |
| Thông báo lỗi rõ ràng và nhật ký | Không | Có | Có |
| Tùy chọn chạy và hướng dẫn chạy theo lịch | Không | Không | Có |
| Hướng dẫn cài đặt và chạy (README) | Có | Có | Có |
| Ngôn ngữ | Google Apps Script | Google Apps Script | Google Apps Script |
| Đặt hàng Cơ bản | Đặt hàng Tiêu chuẩn | Đặt hàng Cao cấp |
Bảo vệ thanh toán
Bạn thanh toán khi đặt hàng, nhưng tiền chỉ được chuyển cho kết quả đã được chấp nhận.
- Giá cố địnhGiá gói không thay đổi sau khi bạn thanh toán.
- Số tiền được tạm giữKhi bạn thanh toán, số tiền chỉ được tạm giữ. Tiền được chuyển cho dịch vụ khi bạn chấp nhận kết quả.
- Kiểm tra trước khi bàn giaoMọi kết quả đều được kiểm tra chất lượng trước khi đến tay bạn, và bạn xem được kết quả trên trang đơn hàng trước khi chấp nhận.
- Chỉnh sửa miễn phíYêu cầu chỉnh sửa trong phạm vi bản yêu cầu của bạn, với số lần mà gói cho phép.
- Tự động chấp nhận sau 3 ngàyNếu trong vòng 3 ngày sau khi bàn giao, bạn không chấp nhận kết quả cũng không yêu cầu chỉnh sửa, kết quả sẽ được tự động chấp nhận. Nếu bạn nhắn tin trong chat đơn hàng sau khi bàn giao, đơn hàng sẽ chờ; sau khi trả lời, chúng tôi có thể tính lại 3 ngày từ đầu và sẽ thông báo trong chat.
- Làm lại hoặc hoàn tiền toàn bộNếu kết quả không đúng với yêu cầu của bạn và các lần chỉnh sửa không khắc phục được, hoặc công việc kéo dài quá gấp đôi thời hạn, hãy nhắn tin trong chat đơn hàng: chúng tôi sẽ làm lại hoặc hoàn tiền toàn bộ.
Hỏi đáp
Sao không dùng luôn bộ lọc Gmail?
Bộ lọc chỉ hoạt động khi thư đến và không thể chờ vài ngày hay kiểm tra bạn đã trả lời chưa. Script chạy trên mọi thư khớp điều kiện, kể cả thư cũ, và dùng được điều kiện như thời gian.
Script có xóa email của tôi không?
Không, trừ khi bạn đưa quy tắc chuyển một số thư vào Thùng rác, và ngay cả khi đó Gmail vẫn giữ thư trong Thùng rác 30 ngày. Mặc định script chỉ gắn nhãn, lưu trữ và đánh dấu.
Script có sắp xếp được hộp thư 100.000 email không?
Được, theo từng phần: mỗi lần chạy script giới hạn khoảng sáu phút, nên mỗi lần xử lý một đợt và tiếp tục ở lần sau. Lần dọn dẹp đầu tiên có thể mất vài lần chạy.
Các bạn có được truy cập thư của tôi không?
Không. Bạn thêm script trong chính tài khoản của mình và tự cấp quyền truy cập. Chúng tôi không bao giờ xem thư hay đăng nhập vào tài khoản của bạn.
Chưa tìm thấy câu trả lời?