Hóa đơn từ Google Trang tínhPhát triển & tùy chỉnh

Google Apps Script biến các dòng trong Google Trang tính thành hóa đơn PDF theo mẫu của bạn chỉ với một nút bấm

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

Google Apps Script biến các dòng trong Google Trang tính thành hóa đơn PDF theo mẫu của bạn chỉ với một nút bấm

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 bạn ghi đơn hàng hay giờ làm trong Google Trang tính, làm từng hóa đơn thủ công nghĩa là chép khách hàng, mặt hàng và tổng tiền sang tài liệu rồi lưu PDF. Google Apps Script này thêm một nút vào bảng tính của bạn: điền dữ liệu của dòng vào mẫu hóa đơn của chính bạn trên Google Tài liệu hoặc Trang tính, lưu PDF đặt tên theo ý bạn vào một thư mục Drive và ghi liên kết ngược lại vào dòng. Từ gói Tiêu chuẩn, script xử lý được nhiều dòng mặt hàng và đánh số; gói Cao cấp có thể gửi từng PDF từ Gmail của bạn tới khách hàng. Tổng tiền, thuế và câu chữ lấy từ bảng tính và mẫu của bạn: script tính toán theo cách bạn mô tả và không đưa ra lời khuyên thuế hay kế toán, nên hãy kiểm tra những hóa đơn đầu tiên. Bạn tự cài đặt và chạy script trong tài khoản Google của mình.

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 và mẫu hóa đơn; code cũng được hiển thị trên trang đơn hàng.
  • Mẫu của chính bạnBố cục, logo và câu chữ của bạn trên Google Tài liệu hoặc Trang tính
  • PDF vào DriveĐặt tên theo số, khách hàng và ngày, trong thư mục bạn chọn
  • Liên kết trong dòngBạn thấy dòng nào đã có hóa đơn
  • Đánh sốTừ gói Tiêu chuẩn, số tiếp theo lấy từ bảng tính của bạn
  • Code dễ đọcCó chú thích, dễ đổi trường về sau

Cách hoạt động

  1. 1
    MẫuBạn gửi các cột của bảng tính và mẫu hóa đơn
  2. 2
    CodeChúng tôi viết script và hướng dẫn cài đặt
  3. 3
    Chạy thửBạn tạo hóa đơn thử trên bản sao bảng tính và kiểm tra các phép tí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

Tên các cột trong bảng tính với hai ba dòng dữ liệu giả, mẫu hóa đơn của bạn (Google Tài liệu hoặc Trang tính, hoặc PDF một hóa đơn bạn đang gửi) kèm vị trí của từng giá trị, và cách tính tổng: thuế suất, chiết khấu, đơn vị tiền tệ và làm tròn, theo hướng dẫn của kế toán. Cách đánh số và đặt tên hóa đơn, thư mục Drive lưu PDF, và, với gói Cao cấp, nội dung email gửi khách hàng.

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

  • Bạn lập hóa đơn cho việc gì?
  • Bảng tính có những cột nào?
  • Hóa đơn của bạn trông thế nào?
  • Tổng tiền được tính thế nào?

So sánh các gói

Các góiCơ bảnTừng hóa đơn một434.000 ₫Tiêu chuẩnHóa đơn có file cài đặt894.000 ₫Cao cấpCông cụ lập hóa đơn1.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ữGoogle Apps ScriptGoogle Apps ScriptGoogle 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ộ.
Cách hoạt động →

Hỏi đáp

Hóa đơn có đúng quy định pháp luật không?

Script điền những gì có trong mẫu và bảng tính của bạn và tính theo cách bạn mô tả. Một hóa đơn ở nước bạn phải có những gì là do bạn hoặc kế toán của bạn quyết định; chúng tôi không tư vấn thuế hay pháp lý.

Script có gửi hóa đơn qua email được không?

Ở gói Cao cấp thì được: từ chính Gmail của bạn tới địa chỉ trong dòng, trong giới hạn gửi hằng ngày Google đặt cho tài khoản của bạn. Bạn có thể tắt chức năng gửi và chỉ lưu PDF.

Script có nhận thanh toán hay kết nối với phần mềm kế toán không?

Không, script tạo PDF. Liên kết thanh toán bạn đã có có thể in trên hóa đơn dưới dạng chữ lấy từ bảng tính.

Các bạn có được truy cập Drive của tôi không?

Không. Bạn thêm code vào bảng tính của chính mình và tự cấp quyền truy cập. Chúng tôi không bao giờ đăng nhập vào tài khoản Google của bạn.

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

Các gói