Chuyển đổi sao kê ngân hàngPhát triển & tùy chỉnh

Một script Python chuyển sao kê CSV của ngân hàng thành định dạng nhập mà phần mềm kế toán của bạn yêu cầu

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 chuyển sao kê CSV của ngân hàng thành định dạng nhập mà phần mềm kế toán của bạn yêu cầu

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

Ngân hàng xuất sao kê theo kiểu CSV riêng của mình, còn phần mềm kế toán lại muốn kiểu của nó: tên cột khác, ngày dạng DD.MM.YYYY hoặc YYYY-MM-DD, một cột số tiền có dấu trừ hoặc tách riêng nợ và có, một bảng mã nhất định. Script Python này chuyển sao kê bạn tải từ ngân hàng trực tuyến thành file nhập cho phần mềm của bạn, theo mẫu hoặc file ví dụ mà phần mềm đó cung cấp. Từ gói Tiêu chuẩn, script còn có thể xếp từng dòng vào một danh mục theo quy tắc của bạn, chẳng hạn khoản thanh toán có chữ Rent vào mục Tiền thuê. Script chạy trên máy tính của bạn và không bao giờ kết nối với ngân hàng hay phần mềm kế toán; bạn tự tải sao kê và tự nhập kết quả. Script chỉ đổi cách trình bày, không đổi con số, và không đưa ra tư vấn kế toán hay thuế. Hãy kiểm tra các tổng sau lần nhập đầu tiê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 cột và quy tắc phân loại; code cũng được hiển thị trên trang đơn hàng.
  • Định dạng của phần mềm bạn dùngTheo mẫu nhập hoặc file ví dụ của phần mềm
  • Ngày và số tiền chính xácChuyển đổi định dạng, dấu và dấu thập phân
  • Danh mục theo quy tắc của bạnTừ gói Tiêu chuẩn, theo từ khóa bạn đặt
  • Nằm trên máy tính của bạnKhông kết nối với ngân hàng hay bất cứ đâu
  • Code dễ đọcCó chú thích, dễ thêm quy tắc về sau

Cách hoạt động

  1. 1
    File mẫuBạn gửi các dòng giả theo kiểu của ngân hàng và mẫu nhập của phần mềm
  2. 2
    CodeChúng tôi viết script và hướng dẫn chạy
  3. 3
    Chạy thửBạn chuyển đổi một sao kê, nhập vào một công ty hoặc kỳ kế toán thử và kiểm tra các tổng
  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

Dòng tiêu đề và 10-20 dòng CSV của ngân hàng với số tiền, tên và số tài khoản giả nhưng cùng cách trình bày, tên phần mềm kế toán và mẫu nhập của nó, trang tài liệu hoặc một file ví dụ mà phần mềm chấp nhận. Với gói Tiêu chuẩn, quy tắc phân loại của bạn (từ nào vào danh mục nào). Với gói Cao cấp, một mẫu từ mỗi ngân hàng hoặc tài khoản. Đừng bao giờ gửi sao kê thật, số tài khoản hay thông tin đăng nhập ngân hàng.

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

  • Bạn có file xuất của ngân hàng nào?
  • Phần mềm kế toán nào, và định dạng nhập của nó?
  • Bạn có cần phân loại không?
  • Bao nhiêu ngân hàng hoặc tài khoản?

So sánh các gói

Các góiCơ bảnMột ngân hàng, một định dạng434.000 ₫Tiêu chuẩnChuyển đổi có cài đặt894.000 ₫Cao cấpCông cụ chuyển đổi1.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ó kết nối với ngân hàng của tôi không?

Không. Bạn tải sao kê từ ngân hàng trực tuyến như thường lệ, và script chuyển đổi file ngay trên máy tính của bạn. Code không có kết nối internet.

Ngân hàng của tôi chỉ cho sao kê PDF.

Dịch vụ này làm việc với CSV hoặc Excel. Nếu PDF chứa văn bản thật, hãy xem dịch vụ chuyển bảng từ PDF sang Excel của chúng tôi; sao kê dạng bản quét thì không được hỗ trợ.

Danh mục có đúng cho việc khai thuế của tôi không?

Script áp dụng các quy tắc từ khóa bạn đưa ra; script không quyết định khoản nào nên hạch toán hay tính thuế ra sao. Việc đó là của bạn hoặc kế toán của bạn, và chúng tôi không đưa ra tư vấn thuế hay kế toán.

Nếu ngân hàng thay đổi file xuất thì sao?

Từ gói Tiêu chuẩn, tên cột nằm trong file cài đặt, nên cột bị đổi tên chỉ cần sửa nhỏ. Cách trình bày mới hoàn toàn có thể cần chỉnh lại script.

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

Các gói