Lập trìnhBả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
Nếu cửa hàng hay website đặt lịch của bạn ngừng hoạt động lúc nửa đêm, có khi sáng ra bạn mới biết qua một khách hàng. Script Python này mở các trang bạn liệt kê vài phút một lần và gửi email cho bạn khi một trang ngừng phản hồi, trả về lỗi hoặc, từ gói Tiêu chuẩn, tải lên mà thiếu một từ bắt buộc phải có, như nút Thêm vào giỏ. Script thử lại trước khi báo động, nên một lần phản hồi chậm không đánh thức bạn, và báo lại khi website hoạt động trở lại. Email được gửi từ chính tài khoản email của bạn; bạn tự điền mật khẩu gửi thư vào file cài đặt. Hãy chạy script trên máy tính hoặc máy chủ luôn bật và không phải máy đang chạy website, nếu không script sẽ im lặng cùng website. Script báo cho bạn biết sự cố; không sửa sự cố.
Bao gồm những gì
- Bạn nhận được gìFile ZIP gồm script Python, README hướng dẫn từng bước và, từ gói Tiêu chuẩn, file cài đặt chứa địa chỉ và thông số email; code cũng được hiển thị trên trang đơn hàng.
- Sập và hoạt động lạiMột email khi lỗi, một email khi hoạt động lại
- Không báo động nhầmThử lại trước khi báo cho bạn
- Kiểm tra nội dung trangTừ gói Tiêu chuẩn, một từ bắt buộc phải có trên trang
- Từ hộp thư của bạnTài khoản email của chính bạn, mật khẩu nằm ngoài code
- Code dễ đọcCó chú thích, dễ thêm trang về sau
Cách hoạt động
- 1Công việcBạn liệt kê các trang cần theo dõi và nơi nhận cảnh báo
- 2CodeChúng tôi viết script và hướng dẫn chạy
- 3Chạy thửBạn chạy với một trang không tồn tại để thấy cảnh báo gửi tới
- 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
Các địa chỉ cần theo dõi (trang chủ, giỏ hàng, trang đặt lịch), bao lâu kiểm tra một lần và, từ gói Tiêu chuẩn, từ hoặc cụm từ mỗi trang phải hiển thị. Cảnh báo gửi tới đâu và tài khoản email nào gửi (chỉ cần tên nhà cung cấp dịch vụ email để chúng tôi mô tả thông số gửi thư; mật khẩu bạn tự nhập). Script sẽ chạy ở đâu: máy tính luôn bật hay máy chủ, kèm hệ điều hành (Windows, macOS hoặc Linux).
Chúng tôi sẽ hỏi bạn:
- Script nên theo dõi những trang nào?
- Bao lâu một lần, và thế nào là sập?
- Cảnh báo gửi tới đâu?
- Script sẽ chạy ở đâu?
So sánh các gói
| Các gói | Cơ bảnMột website, một cảnh báo434.000 ₫ | Tiêu chuẩnKiểm tra có file cài đặt894.000 ₫ | Cao cấpCông cụ theo dõi1.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ữ | Python | Python | Python |
| Đặ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
Tôi nên chạy script ở đâu?
Trên một máy luôn bật và tách biệt với website, như máy tính văn phòng, máy chủ mini ở nhà hay một máy chủ nhỏ đi thuê. Nếu chạy trên cùng máy chủ với website, script sẽ sập cùng website và không thể cảnh báo bạn.
Script có gửi tin nhắn SMS thay cho email được không?
Dịch vụ này gửi email. Nhiều điện thoại có thể hiển thị email như một thông báo; tin nhắn tới một dịch vụ có API công khai có thể thêm vào trong phạm vi gói, với khóa của chính bạn trong file cài đặt.
Script có kiểm tra tốc độ hay bảo mật của website không?
Script đo thời gian phản hồi của từng trang và, ở gói Cao cấp, cảnh báo khi vượt ngưỡng của bạn. Script không kiểm tra bảo mật, không quét virus và không đăng nhập vào trang quản trị.
Script gửi được bao nhiêu email?
Script chỉ gửi khi có thay đổi: một lần khi trang lỗi và một lần khi trang hoạt động lại, nên luôn nằm trong giới hạn gửi của dịch vụ email của bạn.
Chưa tìm thấy câu trả lời?


