AI
Builder Hub
workflows2026-03-1310 min

Tự Động Hóa Xử Lý Hóa Đơn Với AI: Từ Ảnh Chụp Đến Spreadsheet Trong 30 Giây

Thay vì nhập tay từng hóa đơn vào Excel, workflow này dùng AI đọc hóa đơn (PDF/ảnh), trích xuất thông tin, và tự động nhập vào Google Sheets hoặc phần mềm kế toán.

Tự Động Hóa Xử Lý Hóa Đơn Với AI: Từ Ảnh Chụp Đến Spreadsheet Trong 30 Giây

Xử lý hóa đơn thủ công là một trong những task nhàm chán và error-prone nhất trong kế toán. Bạn nhận hóa đơn qua email hoặc bản cứng, nhập số vào Excel, rồi lại kiểm tra lần nữa vì sợ nhập sai.

AI thế hệ mới (GPT-4 Vision, Claude) có thể đọc hóa đơn — PDF hoặc ảnh chụp — và trích xuất thông tin với độ chính xác cao. Kết hợp với automation, bạn có thể xử lý hàng loạt không cần làm thủ công.


📌 TL;DR: Workflow Này Làm Gì

  • Input: Hóa đơn PDF hoặc ảnh chụp (JPG/PNG)
  • Process: AI đọc và trích xuất: số hóa đơn, ngày, vendor, total, line items
  • Validate: Kiểm tra format, đánh dấu hóa đơn cần review thủ công
  • Output: Data được nhập tự động vào Google Sheets / Airtable / kế toán software

Những Gì AI Có Thể Trích Xuất

Từ một hóa đơn tiêu chuẩn, AI có thể extract:

{
  "invoice_number": "INV-2026-001",
  "invoice_date": "2026-03-13",
  "due_date": "2026-04-13",
  "vendor_name": "Công ty ABC",
  "vendor_tax_id": "0123456789",
  "buyer_name": "Công ty XYZ",
  "line_items": [
    {"description": "Dịch vụ thiết kế", "qty": 1, "unit_price": 5000000, "total": 5000000}
  ],
  "subtotal": 5000000,
  "vat_rate": 10,
  "vat_amount": 500000,
  "total_amount": 5500000,
  "currency": "VND",
  "notes": "Thanh toán qua chuyển khoản"
}

Prompt Cho OpenAI Vision

Bạn là một kế toán viên chuyên nghiệp với nhiệm vụ trích xuất thông tin từ hóa đơn.

Hãy đọc hóa đơn trong ảnh đính kèm và trả về JSON theo format sau (CHÍNH XÁC, không thêm text khác):

{
  "invoice_number": "số hóa đơn",
  "invoice_date": "YYYY-MM-DD",
  "due_date": "YYYY-MM-DD hoặc null nếu không có",
  "vendor_name": "tên nhà cung cấp",
  "vendor_tax_id": "mã số thuế hoặc null",
  "buyer_name": "tên người mua",
  "line_items": [
    {"description": "mô tả", "qty": số, "unit_price": số, "total": số}
  ],
  "subtotal": số,
  "vat_rate": số % hoặc null,
  "vat_amount": số hoặc null,
  "total_amount": số,
  "currency": "VND/USD/...",
  "confidence": 1-10,
  "issues": ["liệt kê vấn đề nếu có: chữ mờ, format lạ, etc."]
}

Quy tắc:
- Tất cả số tiền phải là integer (không có dấu phẩy, không có text)
- Ngày phải theo format YYYY-MM-DD
- Nếu không đọc được field nào, dùng null
- Nếu confidence < 7, liệt kê vào issues

Kiến Trúc Workflow Trong Make

[Gmail Watch: New invoice email] 
       ↓
[Attachment Download: PDF/Image]
       ↓
[OpenAI Vision: Extract data]
       ↓
[JSON Parse + Validate]
       ↓
[Confidence check ≥ 7?]
    Yes ↓          No ↓
[Auto-add        [Flag for manual
 to Sheets]       review + notify]
       ↓
[Send confirmation email]

Module Setup

Trigger: Gmail Watch Emails (filter: has attachment + subject contains "hóa đơn" hoặc "invoice")

Download: Gmail Get Attachment

OpenAI: Create Message (Vision model)

  • Upload attachment file
  • Sử dụng prompt ở trên

Validate: JSON Parse + Router

  • Nếu confidence < 7 → slack notification "cần review thủ công"
  • Nếu total_amount không phải số → error handling
  • Else → proceed

Google Sheets: Add Row

  • Map từng field từ JSON response

Xử Lý Hóa Đơn Bằng Tiếng Việt

Hóa đơn tiếng Việt có một số đặc thù:

Số tiền: Dùng dấu phẩy cho hàng nghìn (1,000,000 VND). Thêm vào prompt: "Chuyển tất cả số tiền sang integer, bỏ dấu phẩy và ký tự đặc biệt"

Ngày: Thường theo format DD/MM/YYYY. Thêm vào prompt: "Chuyển ngày sang format YYYY-MM-DD"

Ký tự đặc biệt: AI GPT-4 Vision xử lý tốt tiếng Việt có dấu.


Validation Rules

Thêm validation bước sau khi parse JSON:

# Các rules cần validate
def validate_invoice(data):
    issues = []
    
    # Total amount phải match subtotal + VAT
    expected_total = data['subtotal'] + (data['vat_amount'] or 0)
    if abs(expected_total - data['total_amount']) > 1000:  # tolerance 1000 VND
        issues.append("Total amount không match subtotal + VAT")
    
    # Invoice date phải hợp lý
    from datetime import datetime, timedelta
    invoice_date = datetime.strptime(data['invoice_date'], '%Y-%m-%d')
    if invoice_date > datetime.now() + timedelta(days=7):
        issues.append("Invoice date trong tương lai - check lại")
    
    return issues

Cost Analysis

Loại hóa đơnToken ảnhToken outputChi phí (GPT-4o)
Hóa đơn đơn giản~800 tokens~300 tokens~$0.015
Hóa đơn phức tạp (nhiều line items)~1500 tokens~600 tokens~$0.03
100 hóa đơn/tháng~$1.5-3

So với chi phí nhân công nhập liệu thủ công: cực kỳ tiết kiệm.


Mở Rộng Thêm

  • Approval workflow: Hóa đơn > X triệu → email notification cho manager approve
  • Duplicate check: So sánh với database xem invoice number đã tồn tại chưa
  • Analytics: Tổng hợp chi tiêu theo vendor, category, theo tháng
  • Integration: Kết nối với MISA, QuickBooks, hoặc phần mềm kế toán của bạn

Đọc thêm: