Báo cáo hằng ngày qua emailPhát triển & tùy chỉnh

Script Python lập báo cáo ngắn từ các file Excel của bạn và gửi qua email từ hộp thư của chính bạn

Thường xong trong 15 phútBao gồm chỉnh sửaKiểm tra chất lượng
Các gói
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ả.

Script Python lập báo cáo ngắn từ các file Excel của bạn và gửi qua email từ hộp thư của chính bạn

Ví dụ kết quả

Ví dụ cho gói Tiêu chuẩn

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 ở văn phòng có người sáng nào cũng mở cùng một file Excel, chép số tổng và viết vào email, script Python này có thể làm phần việc đó. Script đọc các file bạn chỉ định, như file xuất doanh số hôm qua hay bảng tồn kho trong thư mục dùng chung, tính những gì bạn yêu cầu (tổng, số lượng, trung bình theo cửa hàng hay sản phẩm, các dòng vượt ngưỡng) và gửi email ngắn có bảng gọn gàng tới những người bạn liệt kê, từ chính tài khoản email của bạn, từ gói Tiêu chuẩn kèm file đính kèm. Bạn tự điền mật khẩu gửi thư vào file cài đặt; mật khẩu không bao giờ nằm trong code. Người nhận là đồng nghiệp hay khách hàng của chính bạn, nằm gọn trong giới hạn gửi của dịch vụ email. Script báo cáo số liệu có trong file của bạn; không kiểm tra hay giải thích chúng.

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 file, người nhận và thông số email; code cũng được hiển thị trên trang đơn hàng.
  • Số liệu của bạnTổng, số lượng và trung bình bạn chọn
  • Email dễ đọcBảng ngắn, mở được trên điện thoại
  • 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
  • Đính kèm fileTừ gói Tiêu chuẩn, file Excel hoặc bản tóm tắt của nó
  • Code dễ đọcCó chú thích, dễ thêm số liệu về sau

Cách hoạt động

  1. 1
    Công việcBạn gửi file mẫu và ví dụ email bạn muốn
  2. 2
    CodeChúng tôi viết script và hướng dẫn chạy
  3. 3
    Chạy thửBạn chạy với danh sách chỉ có địa chỉ của chính mình
  4. 4
    Chỉ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

Một trong các file Excel dùng để lập báo cáo, cắt còn vài dòng hoặc đã đổi số liệu, file xuất hiện ở đâu (một thư mục, ổ dùng chung) và được đặt tên thế nào, email cần thể hiện gì (viết ra như khi bạn làm thủ công), ai nhận và từ tài khoản email nào (chỉ cần tên dịch vụ email; mật khẩu bạn tự nhập). Khi nào gửi, và máy tính sẽ chạy script: Windows, macOS hoặc Linux.

Chúng tôi sẽ hỏi bạn:

  • Báo cáo được lập từ những file nào?
  • Email cần thể hiện gì?
  • Ai nhận, và khi nào?
  • Script sẽ chạy ở đâu?

So sánh các gói

Các góiCơ bảnMột báo cáo434.000 ₫Tiêu chuẩnBáo cáo có file cài đặt894.000 ₫Cao cấpCông cụ báo cáo1.815.000 ₫
Thời hạn1 ngày2 ngày3 ngày
Số lần chỉnh sửa123
Codetối đa 150 dòngtối đa 400 dòngtối đa 1.000 dòng
Số file code1tối đa 3tối đa 8
File cài đặtKhôngCóCó
Thông báo lỗi rõ ràng và nhật kýKhôngCóCó
Tùy chọn chạy và hướng dẫn chạy theo lịchKhôngKhôngCó
Hướng dẫn cài đặt và chạy (README)CóCóCó
Ngôn ngữPythonPythonPython
Đặ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ộ.
Cách hoạt động →

Hỏi đáp

Script có tự gửi báo cáo mỗi ngày không?

Script gửi báo cáo mỗi lần chạy. Gói Cao cấp có hướng dẫn chạy mỗi sáng bằng Task Scheduler, cron hoặc launchd; với gói Cơ bản hay Tiêu chuẩn, bạn tự chạy hoặc tự thiết lập việc đó. Máy tính phải bật vào thời điểm đó.

Script dùng được với tài khoản email nào?

Phần lớn dịch vụ cho phép gửi qua SMTP, gồm cả email doanh nghiệp và cá nhân thông dụng. Một số yêu cầu bạn tạo mật khẩu ứng dụng cho việc này; README chỉ rõ chỗ tạo.

File của tôi nằm trên Google Trang tính, không phải Excel. Có được không?

Trường hợp đó, Google Apps Script ngay trong bảng tính sẽ phù hợp hơn và gửi từ Gmail của bạn; hãy ghi rõ trong bản yêu cầu và chúng tôi sẽ viết bằng Apps Script.

Script có gửi báo cáo cho khách hàng của tôi được không?

Được, tới những người đang chờ báo cáo, như khách hàng đã yêu cầu danh sách tồn kho hằng ngày. Script không dành cho gửi email hàng loạt hay danh sách bạn không tự thu thập.

Chưa tìm thấy câu trả lời?

Các gói