Hóa đơn điện tử (HĐĐT) ở Việt Nam theo Nghị định 123/2020 và Thông tư 78/2021, phát hành qua nhà cung cấp được cấp phép và có kết nối với Cơ quan Thuế. Đây là phần agent phải cực kỳ cẩn thận: sai số liệu = sai pháp lý. Nguyên tắc: agent thu thập và gọi API tạo hóa đơn, con người/nhà cung cấp chịu trách nhiệm phát hành đúng luật.
Bức tranh tổng thể
- Bạn không tự "in" hóa đơn hợp lệ. Bạn dùng nhà cung cấp HĐĐT: Viettel (S-Invoice), VNPT, MISA meInvoice, EasyInvoice, FPT... — họ có API.
- Hóa đơn có mã của cơ quan thuế (đa số trường hợp) phải được gửi lên hệ thống Thuế để cấp mã.
- Agent làm nhiệm vụ: thu đủ thông tin → gọi API nhà cung cấp → nhận link/PDF hóa đơn → gửi khách qua Zalo.
Thông tin bắt buộc để xuất hóa đơn công ty
- Mã số thuế (MST) — 10 hoặc 13 chữ số.
- Tên đơn vị đúng như đăng ký.
- Địa chỉ đơn vị.
- Email nhận hóa đơn.
- Danh mục hàng: tên, số lượng, đơn giá, thuế suất (0/5/8/10%).
Luồng agent thu thập thông tin hóa đơn
intent = HOI_HOA_DON hoặc DAT_HANG(can_hoa_don=true)
→ Hỏi MST
→ Tra MST → tự điền tên + địa chỉ → nhờ khách xác nhận
→ Hỏi email nhận HĐĐT
→ Gọi API tạo hóa đơn nháp
→ Gửi khách link xem trước
Gọi API tạo hóa đơn (ví dụ dạng chung)
POST https://api.nhacungcap-hddt.vn/invoices
Authorization: Bearer {api_key}
{
"buyer": {
"taxCode": "0312345678",
"name": "CÔNG TY TNHH ABC",
"address": "12 Nguyễn Huệ, Q1, TP.HCM",
"email": "ketoan@abc.vn"
},
"items": [
{ "name": "Bánh trung thu", "quantity": 2, "price": 350000, "vatRate": 8 }
],
"paymentMethod": "CK"
}
Kết quả trả về invoiceNumber, taxAuthorityCode (mã CQT), và pdfUrl — agent gửi pdfUrl cho khách.
Ranh giới an toàn (bắt buộc nhớ)
- Không tự tính sai thuế suất: thuế suất do sản phẩm/quy định, không để LLM đoán. Gắn cứng thuế suất theo từng mã sản phẩm trong Sheet.
- Xác nhận trước khi phát hành: hóa đơn đã phát hành khó hủy, phải làm điều chỉnh/thay thế đúng quy trình. Luôn cho khách/kế toán duyệt bản nháp.
- Lưu vết: mọi hóa đơn phải log lại
ma_don, MST,invoiceNumber, thời điểm — phục vụ đối soát và thanh tra.
Checklist tuân thủ
- [ ] Dùng nhà cung cấp HĐĐT được cấp phép, có kết nối Thuế
- [ ] MST được tra cứu và xác nhận với khách
- [ ] Thuế suất lấy từ dữ liệu sản phẩm, không do LLM tự tính
- [ ] Có bước duyệt nháp trước khi phát hành chính thức
- [ ] Email + link hóa đơn gửi đúng khách
- [ ] Lưu log đối chiếu mỗi hóa đơn
Sai lầm thường gặp
- Để agent tự "tạo" hóa đơn mà không qua nhà cung cấp: không hợp lệ pháp lý. Bắt buộc qua API nhà cung cấp có mã CQT.
- LLM tự tính thuế/thành tiền: dễ sai số. Tính toán bằng code, thuế suất tra từ bảng.
- Không xác nhận MST: xuất sai tên công ty → phải hủy/điều chỉnh phiền phức. Luôn tra + xác nhận.
- Phát hành ngay không duyệt: khách đọc nhầm MST cũng bị xuất luôn. Chèn bước duyệt nháp.
- Không lưu vết: khi thuế kiểm tra không tra được. Log đầy đủ mọi lần xuất.
- Gộp nhầm HĐĐT với hóa đơn bán lẻ thường: khách cá nhân không cần MST; đừng bắt họ nhập. Phân nhánh rõ cá nhân vs công ty.
Học xong bài này rồi?
Tạo tài khoản miễn phí để lưu lại — lần sau vào là biết ngay đang dở ở đâu,
và học hết khóa thì có chứng chỉ.
Lưu tiến độ của tôi