Workflow hóa đơn email vào Google Sheets là quy trình tự động: khi Gmail nhận thư có hóa đơn điện tử, hệ thống lấy file đính kèm (ưu tiên XML, sau đó PDF), trích các trường như mã số thuế người bán, số hóa đơn, ngày, tiền trước thuế, thuế GTGT, tổng tiền, rồi ghi thành một dòng trong Google Sheets. AI chỉ cần dùng cho PDF hoặc thư không có XML. Kế toán vẫn duyệt các dòng bị đánh dấu nghi vấn trước khi nhập phần mềm kế toán. Có thể dựng bằng n8n, Make, Zapier hoặc Google Apps Script.
Workflow hóa đơn email vào Google Sheets giải quyết việc gì
Workflow hóa đơn email vào Google Sheets là chuỗi bước tự động biến email chứa hóa đơn thành dữ liệu có cấu trúc trong bảng tính. Doanh nghiệp Việt Nam nhận hóa đơn điện tử chủ yếu qua email: nhà cung cấp gửi thư thông báo kèm file XML, file PDF hoặc đường link tra cứu. Kế toán phải mở từng thư, tải file, đọc số liệu và gõ lại.
Workflow này phù hợp với:
- Công ty 20–50 người nhận vài chục đến vài trăm hóa đơn đầu vào mỗi tháng từ nhiều nhà cung cấp.
- Văn phòng dịch vụ kế toán giữ sổ cho nhiều khách hàng, mỗi khách một hộp thư hoặc một nhãn riêng.
- Chủ shop, hộ kinh doanh muốn biết nhanh tổng chi phí theo nhà cung cấp mà chưa dùng phần mềm kế toán đầy đủ.
Đầu ra không phải là bút toán. Đầu ra là một bảng sạch, có cột trạng thái, để kế toán đối chiếu, lọc và nhập vào phần mềm kế toán hoặc dùng làm bảng theo dõi chi phí. Cách nhìn này giữ trách nhiệm hạch toán ở con người, còn máy làm phần gõ phím lặp lại.
Sơ đồ tổng thể: từ email đến một dòng trong bảng
Toàn bộ luồng có thể vẽ bằng danh sách sau. Mỗi mũi tên là một node trong n8n hoặc một module trong Make.
- Trigger: Gmail có thư mới khớp bộ lọc (tiêu đề chứa “hóa đơn”, có đính kèm .xml hoặc .pdf, hoặc gắn nhãn “HoaDon”).
- Tách đính kèm: lấy danh sách file, bỏ qua ảnh chữ ký, logo.
- Rẽ nhánh theo loại file: có XML thì đọc trực tiếp; chỉ có PDF thì gửi sang bước AI trích xuất.
- Chuẩn hóa: đổi ngày về dạng yyyy-mm-dd, bỏ dấu chấm phân cách nghìn, kiểm tra mã số thuế đủ 10 hoặc 13 số.
- Chống trùng: tạo khóa gồm mã số thuế người bán, ký hiệu và số hóa đơn; tra trong Sheet xem đã có chưa.
- Ghi Sheet: thêm dòng mới với cột trạng thái “Chờ duyệt” hoặc “Nghi vấn”.
- Lưu file gốc: chép XML và PDF vào thư mục Google Drive theo tháng, ghi đường dẫn vào cột của dòng.
- Thông báo: cuối ngày gửi một tin tổng hợp số hóa đơn mới, số dòng nghi vấn cho kế toán.
Dữ liệu vào là thư và file đính kèm. Dữ liệu ra là dòng trong Sheet, file gốc trên Drive và một tin nhắn tổng hợp.
Chuẩn bị Gmail, Drive và cấu trúc bảng tính
Phần chuẩn bị quyết định workflow chạy ổn hay liên tục lỗi. Làm ba việc trước khi mở công cụ tự động hóa.
Tách hộp thư nhận hóa đơn
Nên dùng một địa chỉ riêng như hoadon@tencongty, đăng ký với nhà cung cấp. Nếu chưa được, tạo bộ lọc Gmail gắn nhãn “HoaDon” cho thư từ các nhà cung cấp quen. Workflow chỉ đọc nhãn này, tránh quét cả hộp thư cá nhân.
Thiết kế cột cố định
Bảng tính phải có tiêu đề cột cố định, không gộp ô, không dòng trống ở giữa. Bảng dưới đây là cấu trúc tối thiểu.
Quyền truy cập
Tạo tài khoản dịch vụ hoặc ủy quyền OAuth chỉ cho đúng hộp thư, đúng thư mục Drive và đúng file Sheet. Không cấp quyền toàn bộ Drive công ty cho công cụ tự động hóa.
| Cột | Nguồn dữ liệu | Ghi chú kiểm tra |
|---|---|---|
| Khóa chống trùng | Ghép MST + ký hiệu + số HĐ | Không được trùng trong toàn bảng |
| MST người bán, tên người bán | XML hoặc AI đọc PDF | MST 10 hoặc 13 số |
| Ngày hóa đơn | XML/PDF | Không lớn hơn ngày nhận thư |
| Tiền trước thuế, thuế GTGT, tổng tiền | XML/PDF | Trước thuế + thuế = tổng |
| Nguồn trích xuất | Workflow tự ghi | XML hoặc AI |
| Trạng thái | Workflow tự ghi | Chờ duyệt / Nghi vấn / Đã nhập |
| Link file gốc | Google Drive | Mở được bằng tài khoản kế toán |
Dựng từng bước trên n8n
n8n phù hợp khi công ty muốn tự host, dữ liệu hóa đơn không đi qua dịch vụ trung gian. Các bước dưới đây dùng node có sẵn, tên node có thể khác nhẹ theo phiên bản.
- Gmail Trigger: chọn chế độ đọc thư theo nhãn “HoaDon”, bật tải đính kèm, chu kỳ kiểm tra 5–15 phút.
- Split Out: tách từng file đính kèm thành một item riêng.
- IF: đuôi file là .xml đi nhánh A, .pdf đi nhánh B, còn lại bỏ qua.
- Nhánh A, Extract from File + XML: chuyển XML sang JSON, dùng node Set lấy các trường cần thiết. Cấu trúc thẻ có thể khác giữa các nhà cung cấp hóa đơn, cần thử với vài mẫu thật.
- Nhánh B, Extract from File (PDF) + AI: lấy văn bản PDF, gửi cho mô hình ngôn ngữ kèm yêu cầu trả về JSON đúng các trường; thêm trường “do_tin_cay”.
- Code: chuẩn hóa số, ngày, tạo khóa chống trùng, kiểm tra trước thuế cộng thuế bằng tổng.
- Google Sheets (Lookup): tìm khóa; nếu có rồi thì dừng nhánh.
- Google Drive: tải file gốc vào thư mục tháng.
- Google Sheets (Append): ghi dòng, trạng thái “Nghi vấn” nếu tổng lệch hoặc AI báo độ tin cậy thấp.
Bật “Retry on fail” cho node Gmail và Sheets để tránh mất thư khi mạng chập chờn.
Chọn công cụ: n8n, Make, Zapier hay Apps Script
Cùng một luồng có thể dựng trên nhiều nền tảng. Lựa chọn phụ thuộc vào ai sẽ bảo trì, dữ liệu được phép đi đâu và khối lượng hóa đơn mỗi tháng. Bảng so sánh dưới đây mang tính định hướng, giới hạn gói miễn phí và trả phí thay đổi theo thời gian nên cần xem trang chính thức.
Một quy tắc đơn giản: nếu công ty chỉ dùng Google Workspace và có người biết chút JavaScript, Apps Script là đủ cho luồng XML. Khi cần AI đọc PDF, nhiều nhánh và nhật ký chạy rõ ràng, n8n hoặc Make dễ quản lý hơn. Zapier hợp với đội không kỹ thuật, khối lượng nhỏ.
| Tiêu chí | Apps Script | n8n | Make / Zapier |
|---|---|---|---|
| Nơi dữ liệu đi qua | Trong Google | Máy chủ công ty nếu tự host | Hạ tầng nhà cung cấp |
| Đọc XML | Có hàm XmlService | Node XML có sẵn | Có module, cấu hình kém linh hoạt hơn |
| Gọi AI đọc PDF | Tự viết gọi API | Node AI có sẵn | Có tích hợp AI |
| Người bảo trì phù hợp | Biết JavaScript | Kỹ thuật viên nội bộ | Nhân viên văn phòng |
| Nhật ký lỗi | Cơ bản | Chi tiết từng lần chạy | Chi tiết, dễ đọc |
Đặt điểm duyệt của con người ở đâu
Hóa đơn là chứng từ kế toán, nên workflow không được tự quyết thay người. Có ba điểm duyệt nên giữ.
Duyệt dòng nghi vấn
Mọi dòng có tổng tiền lệch, mã số thuế sai định dạng, hoặc được AI đọc từ PDF với độ tin cậy thấp đều mang trạng thái “Nghi vấn”. Kế toán lọc cột này mỗi ngày, mở file gốc qua link và sửa trực tiếp. Dùng Data validation của Sheets để cột trạng thái chỉ nhận ba giá trị.
Duyệt nhà cung cấp mới
Khi gặp mã số thuế chưa có trong danh sách nhà cung cấp, workflow vẫn ghi nhưng tô màu và nhắc kế toán kiểm tra tính hợp lệ trên cổng tra cứu hóa đơn của cơ quan thuế. Đây là chỗ phát hiện hóa đơn lạ hoặc thư giả mạo.
Chốt trước khi nhập phần mềm
Chỉ dòng đã chuyển sang “Đã duyệt” mới được xuất sang phần mềm kế toán. Nếu sau này nối thẳng sang phần mềm, giữ nguyên quy tắc này. Ví dụ ở một văn phòng kế toán quản lý 15 khách hàng, mỗi khách một tab, người phụ trách chỉ cần xem dòng màu vàng thay vì mở toàn bộ hộp thư.
Đo hiệu quả workflow sau 1–2 tháng
Đừng đánh giá bằng cảm giác “có vẻ nhanh hơn”. Ghi lại vài chỉ số đơn giản ngay trong Sheet hoặc một tab thống kê.
- Tỷ lệ tự động hoàn toàn: số dòng đi thẳng “Chờ duyệt” chia cho tổng dòng. Luồng XML thường cao hơn luồng PDF rõ rệt.
- Tỷ lệ phải sửa: số dòng kế toán phải chỉnh tay. Nếu một nhà cung cấp liên tục bị sửa, tạo quy tắc riêng cho mẫu hóa đơn đó.
- Thời gian từ khi nhận thư đến khi có dòng: lấy từ nhật ký chạy.
- Số hóa đơn bị bỏ sót: cuối tháng đối chiếu với danh sách hóa đơn đầu vào tra từ cổng thuế. Đây là chỉ số quan trọng nhất.
- Số lần workflow lỗi: theo dõi trong mục Executions của n8n hoặc History của Make.
So sánh với thời gian kế toán tự nhập trước đây, đo trong một tuần điển hình. Kết quả phụ thuộc tỷ lệ hóa đơn có XML, chất lượng PDF và kỷ luật duyệt. Hãy lấy số liệu của chính công ty, không dựa vào con số quảng cáo.
Rủi ro, lỗi thường gặp và khi nào không nên làm
Các lỗi hay gặp khi triển khai thực tế:
- Bỏ sót hóa đơn chỉ gửi link: nhiều thư chỉ có đường dẫn tra cứu, không có đính kèm. Workflow cần ghi một dòng “Cần tải thủ công” thay vì bỏ qua.
- Ghi trùng khi thư gửi lại: nhà cung cấp gửi bản điều chỉnh hoặc gửi lại lần hai. Khóa chống trùng và cột “Loại hóa đơn” (gốc, thay thế, điều chỉnh) xử lý việc này.
- AI đọc nhầm số: nhầm dấu chấm và dấu phẩy, đảo ngày tháng. Luôn kiểm tra phép cộng và giới hạn ngày.
- Ai đó sửa tên cột trong Sheet: node ghi dữ liệu lệch cột. Khóa hàng tiêu đề bằng Protected range.
- Thư lừa đảo đính kèm file độc: workflow chỉ đọc XML, PDF; không mở file nén, file thực thi.
Khi nào không nên dựng workflow này
Nếu mỗi tháng chỉ vài hóa đơn, nhập tay nhanh hơn chi phí dựng và bảo trì. Nếu phần mềm kế toán đang dùng đã đồng bộ hóa đơn đầu vào trực tiếp, hãy tận dụng tính năng đó thay vì thêm một lớp Sheet. Khi dữ liệu bị quy định không được gửi ra ngoài, chỉ dùng nhánh XML hoặc mô hình AI chạy nội bộ.
Hãy bắt đầu chỉ với nhánh XML trong hai tuần, đối chiếu đủ với cổng tra cứu hóa đơn, rồi mới thêm nhánh AI đọc PDF. Làm ngược lại, đội kế toán sẽ mất niềm tin vào bảng ngay từ tuần đầu.
Muốn đưa AI vào công việc của doanh nghiệp? PCTech tư vấn, đánh giá mức sẵn sàng AI và triển khai chatbot, AI agent, tự động hóa cho doanh nghiệp.
Ước tính giờ công tiết kiệm và chi phí API từ số liệu công việc của bạn. Dùng thử ngay
Câu hỏi thường gặp
Có cần AI không nếu hóa đơn điện tử đã có file XML?
Không bắt buộc. File XML đã có cấu trúc, chỉ cần đọc thẻ. AI hữu ích cho thư chỉ có PDF, ảnh chụp hoặc hóa đơn từ nhà cung cấp nước ngoài.
Workflow có tự tải được hóa đơn từ đường link tra cứu không?
Có thể, nhưng mỗi nhà cung cấp hóa đơn có trang tra cứu khác nhau, đôi khi có mã captcha. Cách an toàn là ghi dòng đánh dấu cần tải thủ công.
Dùng Google Sheets làm sổ hóa đơn có an toàn không?
Đủ an toàn nếu giới hạn quyền chia sẻ, bật xác thực hai lớp và khóa vùng tiêu đề. Sheet là bảng trung gian, không thay thế phần mềm kế toán và việc lưu trữ chứng từ theo quy định.
Một hộp thư nhận hóa đơn cho nhiều công ty thì làm thế nào?
Thêm bước đọc mã số thuế người mua trong hóa đơn, rồi ghi vào tab hoặc file riêng của từng công ty. Văn phòng dịch vụ kế toán thường làm theo cách này.
Workflow chạy bao lâu một lần là hợp lý?
Kiểm tra 5–15 phút một lần là đủ cho hóa đơn. Không cần thời gian thực, quan trọng hơn là không bỏ sót và có thông báo tổng hợp cuối ngày.
Nếu nhà cung cấp gửi hóa đơn điều chỉnh thì workflow xử lý ra sao?
Ghi thành dòng mới với loại “Điều chỉnh” và liên kết tới số hóa đơn gốc nếu đọc được. Không ghi đè dòng cũ, để kế toán quyết định cách hạch toán.
Bài viết liên quan
- AI đọc hóa đơn điện tử và chứng từ: cách làm, độ chính xác, lưu ý
- Quy trình AI xử lý chứng từ tự động từ email đến phần mềm kế toán
- Tự động hóa kế toán: những việc có thể tự động
- Tự động hóa với Google Sheets và Apps Script
- n8n là gì? Tự động hóa quy trình không cần code
- Kết hợp AI với phần mềm hóa đơn điện tử: việc nên làm và giới hạn
- Cách thiết kế một workflow tự động hóa có AI từ con số 0