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
Shopify nhập sản phẩm từ file CSV, nhưng chỉ theo cấu trúc riêng của họ: một Handle cho một sản phẩm và mọi biến thể của nó, tên và giá trị tùy chọn ở các cột cố định, hình ảnh là liên kết công khai. Script Python này chuyển file bạn đang có, bảng giá của nhà cung cấp, file xuất từ cửa hàng cũ hay file Excel của bạn, sang cấu trúc đó. Script ánh xạ cột của bạn sang cột của Shopify, từ gói Tiêu chuẩn biến size và màu thành biến thể, làm sạch giá và tồn kho và thêm thẻ. Script theo mẫu CSV sản phẩm hiện hành của Shopify, mà bạn có thể tải về từ trang quản trị. Hình ảnh phải nằm ở liên kết mà Shopify mở được. Bạn tự nhập file trong Shopify; chúng tôi không bao giờ đăng nhập vào cửa hàng của bạn. Hãy thử vài sản phẩm trước: kết quả chỉ đầy đủ bằng dữ liệu của bạ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 bảng ánh xạ cột; code cũng được hiển thị trên trang đơn hàng.
- Cấu trúc của ShopifyTheo mẫu CSV sản phẩm hiện hành của Shopify
- Gom biến thểTừ gói Tiêu chuẩn, size và màu gom vào một sản phẩm
- Giá và tồn kho sạchSố mà Shopify chấp nhận, không ký hiệu tiền tệ hay khoảng trắng
- Liệt kê lỗiBáo các dòng thiếu giá, SKU hoặc hình ảnh
- Code dễ đọcCó chú thích, dễ thêm cột về sau
Cách hoạt động
- 1FileBạn gửi một phần file sản phẩm và cho biết cột nào vào đâu
- 2CodeChúng tôi viết script và hướng dẫn chạy
- 3Chạy thửBạn nhập vài sản phẩm vào Shopify và kiểm tra
- 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
20-30 dòng của file bạn đang có (bảng giá nhà cung cấp, file xuất từ cửa hàng cũ hay bảng của bạn), biến thể được viết thế nào (mỗi size một dòng, hay các size trong một ô), hình ảnh nằm ở đâu (liên kết, hay file bạn sẽ tải lên Shopify trước) và giá nên đặt ra sao. Nếu có, gửi file xuất vài sản phẩm từ cửa hàng Shopify của bạn để các cột khớp chính xác. Hệ điều hành của bạn: Windows, macOS hoặc Linux.
Chúng tôi sẽ hỏi bạn:
- Hiện bạn có file gì?
- Biến thể được viết thế nào trong đó?
- Ảnh nằm ở đâu?
- Giá nên được đặt thế nào?
So sánh các gói
| Các gói | Cơ bảnSản phẩm đơn giản434.000 ₫ | Tiêu chuẩnSản phẩm có biến thể894.000 ₫ | Cao cấpCông cụ nhập sản phẩm1.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
Các bạn có nhập sản phẩm vào cửa hàng giúp tôi không?
Không. Chúng tôi không bao giờ đăng nhập vào cửa hàng của bạn. Bạn tự nhập file CSV trong trang quản trị Shopify; README chỉ rõ chỗ nhập và các tùy chọn cần chọn.
Còn hình ảnh là file trên máy tính của tôi thì sao?
Shopify chỉ nhận hình ảnh trong CSV dưới dạng liên kết mà họ mở được. Hãy tải file lên mục Files của Shopify trước và đưa cho script danh sách liên kết của chúng, hoặc dùng liên kết do nhà cung cấp đưa.
Script có cập nhật giá và tồn kho của sản phẩm tôi đã có không?
Có, nếu Handle khớp với sản phẩm hiện có: Shopify có thể ghi đè sản phẩm cùng Handle khi nhập. Hãy thử trên vài sản phẩm trước.
Script có viết mô tả sản phẩm không?
Không. Script chuyển mô tả và thông tin có trong file của bạn và có thể làm gọn định dạng. Nội dung không có sẽ để trống và được báo lại.
Chưa tìm thấy câu trả lời?


