Mã QR hàng loạtPhát triển & tùy chỉnh

Một script Python tạo mã QR cho từng dòng trong danh sách của bạn, đặt tên sẵn và sẵn sàng để in

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ả.

Một script Python tạo mã QR cho từng dòng trong danh sách của bạn, đặt tên sẵn và sẵn sàng để in

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

Thẻ bàn cho nhà hàng, nhãn hàng tồn kho hay thiết bị, vé, thẻ sản phẩm, mã cho từng trang của catalogue: khi bạn cần hàng trăm mã QR, tạo từng mã trên một website sẽ mất cả ngày. Script Python này đọc danh sách của bạn (CSV hoặc Excel) và tạo mã QR cho từng dòng: một liên kết, một đoạn văn bản, một danh thiếp hoặc thông tin Wi-Fi, lưu dạng PNG để dùng trên màn hình hoặc SVG để in, đặt tên theo một cột như số bàn hoặc SKU. Từ gói Tiêu chuẩn, script thêm chú thích và kiểm tra rằng từng mã đọc lại được; gói Cao cấp xếp các mã lên một trang nhãn PDF. Đây là mã tĩnh: liên kết nằm ngay trong mã, nên không thể đổi sau khi in và lượt quét không được đếm. Hãy quét thử vài mã trước khi in số lượng lớn.

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 kích thước, màu sắc và chú thích; code cũng được hiển thị trên trang đơn hàng.
  • Mỗi dòng một mãLiên kết, văn bản, danh thiếp hoặc thông tin Wi-Fi
  • Cho màn hình hoặc bản inPNG theo kích thước bạn đặt, hoặc SVG phóng to thu nhỏ thoải mái
  • Đặt tên theo ý bạnTên file theo một cột trong danh sách của bạn
  • Kiểm tra đọc lạiTừ gói Tiêu chuẩn, từng mã được giải mã để đảm bảo khớp nội dung
  • Code dễ đọcCó chú thích, dễ đổi giao diện sau này

Cách hoạt động

  1. 1
    Danh sáchBạn gửi mẫu danh sách và cho biết mã sẽ được dùng thế nào
  2. 2
    CodeChúng tôi viết script và hướng dẫn chạy
  3. 3
    Chạy thửBạn tạo mã cho vài dòng và quét bằng điện thoại
  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

10-20 dòng trong danh sách của bạn dạng CSV hoặc Excel, cột nào đưa vào mã và cột nào làm tên file hoặc chú thích, và mã sẽ được dùng ở đâu: màn hình, nhãn dán, thẻ hay biển, kèm kích thước in nếu bạn biết. Màu sắc nếu không phải đen trên nền trắng, logo của bạn dạng PNG hoặc SVG cho gói Cao cấp, và bố cục trang nhãn (khổ giấy, số mã mỗi hàng và mỗi cột). Hệ điều hành của bạn: Windows, macOS hoặc Linux.

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

  • Mã dùng để làm gì?
  • Mỗi mã chứa gì?
  • Màn hình hay bản in, và kích thước bao nhiêu?

So sánh các gói

Các góiCơ bảnMã từ danh sách434.000 ₫Tiêu chuẩnMã có cài đặt894.000 ₫Cao cấpCông cụ QR1.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

Tôi có thể đổi nơi mã dẫn tới sau khi in không?

Với các mã này thì không: địa chỉ nằm ngay trong mã. Nếu có thể cần đổi, hãy cho mã trỏ tới các trang trên website của chính bạn để sau này bạn chuyển hướng.

Script có đếm được bao nhiêu người đã quét mã không?

Không, muốn đếm cần một máy chủ đứng giữa mã và trang, mà script này không có. Bạn có thể thêm thẻ UTM vào liên kết và xem lượt truy cập trong công cụ phân tích của website.

Đặt logo ở giữa có an toàn không?

Logo nhỏ vẫn dùng được khi mã có mức sửa lỗi cao, và gói Cao cấp đặt mức đó. Kiểm tra đọc lại và quét thử bằng điện thoại sẽ cho bạn biết chắc chắn.

Script tạo được bao nhiêu mã?

Bao nhiêu dòng thì bấy nhiêu mã; hàng nghìn mã mất một hai phút trên một máy tính bình thường.

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

Các gói