Hoá đơn điện tử thất bại
Phát hành HĐĐT có thể lỗi ở nhiều điểm: nhà cung cấp (VNPT/MISA/Viettel) down hoặc timeout, chữ ký số hết hạn, thông tin người bán sai, hoặc người mua (phòng khám) thiếu/sai mã số thuế. Nguyên tắc xuyên suốt: không tạo hoá đơn "nửa vời", không xuất trùng số, và không để mất dữ liệu công nợ. Trang này hướng dẫn đọc lỗi, sửa và retry an toàn.
Bối cảnh
Sau khi chốt sao kê phòng khám A, kế toán bấm "Phát hành HĐĐT". Hệ thống dựng dữ liệu hoá đơn (người bán = labo, người mua = clinic, dòng hàng theo unit, thuế per-line) rồi gọi adapter nhà cung cấp. Lần này provider trả lỗi: mã số thuế người mua thiếu. Hoá đơn không được phát hành — không có số hoá đơn nào bị "đốt", công nợ vẫn nguyên. Kế toán đọc thông báo lỗi, bổ sung hồ sơ phòng khám, rồi thử lại từ cùng nguồn sao kê.
Diễn viên & quyền cần
| Vai trò | Quyền/điều kiện | Hành động |
|---|---|---|
| Kế toán / chủ labo (labo) | Vai tài chính của chính labo | Đọc lỗi, sửa thông tin người mua/người bán, retry phát hành, dùng hủy/điều chỉnh/thay thế |
| Chủ labo (labo) | Vai quản lý cấu hình | Cấu hình lại kết nối nhà cung cấp, chữ ký số, thông tin người bán, mẫu số/ký hiệu |
| Nhà cung cấp HĐĐT (actor hệ thống) | Adapter VNPT/MISA/Viettel | Trả mã lỗi/timeout; ký số + phát hành khi dữ liệu hợp lệ; báo cáo GDT same-day |
| Phòng khám (clinic) | Là bên mua trên hoá đơn | Cung cấp/đối chiếu MST, tên, địa chỉ khi được yêu cầu (không phát hành) |
Quy trình từng bước
- Đọc lỗi. Trạng thái hoá đơn cho biết vấn đề: chưa phát hành (chặn trước khi gọi provider), hay "chờ xác nhận GDT" (đã phát hành nhưng báo cáo thuế chưa xong). Đọc thông báo lỗi cụ thể của adapter.
- Phân loại nguyên nhân. Ba nhóm: (a) dữ liệu — người mua thiếu/sai MST, người bán sai; (b) cấu hình — chữ ký số hết hạn, provider chưa cấu hình; (c) hạ tầng — provider down/timeout.
- Sửa dữ liệu / cấu hình. Thiếu MST người mua → bổ sung hồ sơ phòng khám (BR-10). Chữ ký số hết hạn / người bán sai → cấu hình lại rồi thử lại (edge case). Provider chưa cấu hình → bật + cấu hình adapter (BR-04/BR-05).
- Retry an toàn. Với lỗi down/timeout, cho thử lại từ cùng nguồn sao kê; hệ thống không cấp trùng số hoá đơn (edge case). Công nợ không đổi trong suốt quá trình.
- Xử lý "chờ xác nhận GDT". Nếu đã phát hành nhưng báo cáo GDT same-day thất bại, hoá đơn ở trạng thái "chờ xác nhận GDT", retry tự động; chưa coi là phát hành hoàn tất, không phát hành trùng (BR-09).
- Nếu đã phát hành nhầm. Không xóa cứng (vi phạm lưu trữ 10 năm). Dùng hủy / điều chỉnh / thay thế, mỗi hành động ghi vết và giữ nguyên bản gốc (BR-06).
Kết quả mong đợi
- Không có hoá đơn "nửa vời"; lỗi phát hành để lại trạng thái rõ ràng, không đốt số.
- Dữ liệu công nợ không đổi khi phát hành lỗi — quản công nợ không bị chặn (BR-05).
- Retry sau khi sửa dùng lại cùng nguồn sao kê, không cấp trùng số hoá đơn.
- Sai sót sau phát hành xử lý bằng hủy/điều chỉnh/thay thế, ghi vết đầy đủ, giữ bản gốc.
Khi nào hỏng & cách xử lý
| Triệu chứng | Nguyên nhân | Khắc phục |
|---|---|---|
| Provider down / timeout khi phát hành | Hạ tầng nhà cung cấp lỗi | Không tạo hoá đơn nửa vời; cho thử lại, hệ thống không cấp trùng số (edge case) |
| Chặn phát hành, báo thiếu/sai MST người mua | Hồ sơ phòng khám chưa đủ | Bổ sung MST, tên, địa chỉ người mua; link DentIQ có thể lấy từ identity phòng khám (BR-10) |
| Chữ ký số hết hạn / thông tin người bán sai | Cấu hình labo lỗi thời | Chặn phát hành, báo lỗi rõ; cấu hình lại người bán/chữ ký số rồi thử lại (edge case) |
| Đã phát hành nhưng "chờ xác nhận GDT" | Báo cáo GDT same-day thất bại | Retry tự động; chưa coi là hoàn tất, không phát hành trùng (BR-09) |
| Cố phát hành khi labo chưa bật HĐĐT | Feature tắt / provider chưa cấu hình | Khóa hành động, gợi ý bật + cấu hình; công nợ vẫn dùng đủ (BR-04/BR-05) |
| Phát hành nhầm rồi cần sửa | Sai dữ liệu sau khi đã phát hành | Dùng hủy/điều chỉnh/thay thế, không xóa cứng (giữ lưu trữ 10 năm) (BR-06) |
Phát hành HĐĐT là một bước của chu kỳ công nợ labo (workflow sở hữu vòng đời sao kê → công nợ → thu tiền). Feature E-invoice Issuance chỉ sở hữu hành động phát hành + cấu hình + bật/tắt. Kết nối nhà cung cấp và mẫu số/ký hiệu cấu hình ở Nhà cung cấp HĐĐT. HĐĐT có thể tắt ở cấp labo — không có HĐĐT là một mặc định hợp lệ (BR-04).