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
Đơn hàng từ nền tảng cửa hàng, công việc từ dịch vụ quản lý dự án, lượt đặt từ hệ thống đặt lịch: nếu dịch vụ có API công khai, dữ liệu có thể vào thẳng Google Trang tính mà không cần xuất file thủ công. Google Apps Script này gửi yêu cầu tới API bằng khóa của chính bạn, lấy các trường bạn cần và ghi thành dòng, hết trang này đến trang khác. Từ gói Tiêu chuẩn, khóa nằm trong thuộc tính của script do bạn tự điền, không nằm trong code, và lỗi được ghi vào tab Nhật ký; gói Cao cấp chỉ thêm dòng mới hoặc dòng đã thay đổi và có hướng dẫn chạy mỗi giờ hoặc mỗi ngày bằng trigger. Gửi cho chúng tôi liên kết tới tài liệu API và các trường bạn muốn. Mỗi lần chạy giới hạn khoảng sáu phút, nên dữ liệu rất lớn được nhập theo từng phần.
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 bảng tính, điền khóa và chạy; code cũng được hiển thị trên trang đơn hàng.
- Theo tài liệuViết theo chính tài liệu của API
- Trường do bạn chọnChỉ các cột bạn cần, theo thứ tự của bạn
- Mọi trangKết quả trả về theo trang được đọc tới cuối
- Khóa nằm ngoài codeBạn tự điền vào thuộc tính của script
- Code dễ đọcCó chú thích, dễ thêm trường về sau
Cách hoạt động
- 1Công việcBạn gửi tài liệu API và các trường cần lấy
- 2CodeChúng tôi viết script theo tài liệu và hướng dẫn cài đặt
- 3Chạy thửBạn thêm khóa vào bản sao bảng tính và chạy
- 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
Dịch vụ và liên kết tới tài liệu API của họ, yêu cầu bạn cần (ví dụ đơn hàng 30 ngày gần nhất) và các trường sẽ thành cột. Một ví dụ phản hồi của API giúp ích rất nhiều: chép từ tài liệu hoặc từ một lần gọi thử đã xóa các giá trị riêng tư. Dữ liệu nên làm mới bao lâu một lần và thêm dòng mới hay ghi đè cả bảng. Đừng bao giờ gửi khóa API thật: README chỉ chỗ để bạn tự điền.
Chúng tôi sẽ hỏi bạn:
- Dịch vụ nào, và tài liệu API của họ ở đâu?
- Bạn cần dữ liệu gì?
- Bao lâu làm mới một lần?
So sánh các gói
| Các gói | Cơ bảnMột lần gọi API434.000 ₫ | Tiêu chuẩnNhập dữ liệu có file cài đặt894.000 ₫ | Cao cấpCông cụ nhập dữ liệu1.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
Script có dùng được với mọi dịch vụ không?
Với những dịch vụ có API công khai và cho phép bạn lấy khóa hoặc token của riêng mình. Dịch vụ không có API, hoặc mỗi lần đều yêu cầu đăng nhập qua trang trình duyệt, không được hỗ trợ.
Script cập nhật được bao lâu một lần?
Với trigger theo giờ, có thể vài phút một lần, dù phần lớn dữ liệu chỉ cần chạy mỗi giờ hoặc mỗi ngày. Giới hạn yêu cầu của chính dịch vụ vẫn áp dụng, cũng như giới hạn của Google đối với script.
Script có gửi dữ liệu ngược lại dịch vụ được không?
Dịch vụ này đọc dữ liệu vào bảng tính. Ghi ngược lại thì có thể nếu API cho phép; hãy mô tả trong bản yêu cầu và chúng tôi sẽ cho biết có nằm trong gói của bạn không.
Các bạn có lấy khóa giúp tôi không?
Không. Bạn tự tạo khóa trong tài khoản của mình ở dịch vụ đó và tự điền vào thuộc tính của script. Chúng tôi không bao giờ đăng nhập vào tài khoản của bạn.
Chưa tìm thấy câu trả lời?