Menu

App script quản lý rủi ro cho cá nhân & doanh nghiệp với báo cáo chuẩn định dạng biểu đồ

Tự động hóa trích xuất thông tin từ hóa đơn bằng Python và OCR

Hà Thái Trầm 23/03/2026 07:19 158 lượt xem 3 trả lời

Chào các bạn trong diễn đàn,

Dạo gần đây mình có làm một dự án nhỏ liên quan đến việc xử lý hóa đơn giấy. Công việc này khá thủ công và tốn thời gian khi phải nhập tay các thông tin như mã số thuế, tên công ty, ngày tháng, tổng tiền,...

Mình đã tìm hiểu và áp dụng thử Python kết hợp với thư viện OCR (Optical Character Recognition) để tự động hóa quá trình này. Kết quả khá bất ngờ, độ chính xác khá cao và tiết kiệm được rất nhiều công sức.

Về cơ bản, quy trình hoạt động như sau:

  • Chụp ảnh hoặc scan hóa đơn thành file ảnh (JPG, PNG,...).
  • Sử dụng thư viện OCR (ví dụ: pytesseract) để nhận dạng văn bản từ ảnh.
  • Áp dụng các biểu thức chính quy (Regular Expression - Regex) để trích xuất các thông tin cần thiết dựa trên mẫu của hóa đơn.
  • Lưu kết quả vào file Excel hoặc database.

Ví dụ đơn giản về việc trích xuất mã số thuế (giả sử mã số thuế luôn có dạng 10 hoặc 13 chữ số):

import re

text_from_image = "... nội dung văn bản nhận dạng được ..."

# Tìm mã số thuế (10 hoặc 13 chữ số)
ma_so_thue = re.search(r'\d{10}|\d{13}', text_from_image)

if ma_so_thue:
    print(f'Mã số thuế: {ma_so_thue.group(0)}')
else:
    print('Không tìm thấy mã số thuế')

Tất nhiên, để đạt được độ chính xác cao nhất, cần phải tinh chỉnh các tham số của OCR và xây dựng bộ Regex phù hợp với từng loại hóa đơn. Tuy nhiên, đây là một hướng đi rất tiềm năng cho những ai cần xử lý lượng lớn tài liệu dạng này.

Không biết có anh em nào đã từng làm hoặc có kinh nghiệm về mảng này không, cùng chia sẻ thêm nhé!

3

Tuyệt vời quá bạn ơi! Mình cũng đang "vật lộn" với đống hóa đơn giấy tương tự. Bạn có thể chia sẻ cụ thể hơn về thư viện OCR bạn đã dùng không? Mình đang phân vân giữa Tesseract và EasyOCR, không biết cái nào hiệu quả hơn cho tiếng Việt.

2
Hay quá bạn ơi! Mình cũng đang "vật lộn" với đống hóa đơn giấy tương tự. Bạn có thể chia sẻ cụ thể hơn về thư viện OCR bạn đã dùng không? Mình đang phân vân giữa Tesseract và EasyOCR, không biết cái nào hiệu quả hơn cho tiếng Việt.
0

Hay quá bạn ơi! Mình cũng đang vật lộn với mớ hóa đơn giấy đây. Bạn có thể chia sẻ cụ thể hơn về thư viện OCR bạn dùng và cách cài đặt không? Mình đang phân vân giữa Tesseract và EasyOCR.

1

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký