Khi cơ quan thuế từ chối tờ khai đăng ký hay không cấp mã cho hóa đơn, thông báo thường chỉ có một mã số và một dòng mô tả. Bảng dưới đây gom các mã lỗi đã được ghi nhận trên hệ thống hóa đơn điện tử của Cục Thuế, xếp theo giai đoạn, kèm ý nghĩa, cách xử lý và bài chi tiết.

Xác định giai đoạn trước: tờ khai 01/ĐKTĐ-HĐĐT bị trả về, hóa đơn không được cấp mã, hay hóa đơn điều chỉnh, thay thế bị từ chối, rồi tra mã trong bảng tương ứng. Nhóm 1000–2007 và 9991–9992 thường gặp khi đăng ký sử dụng; nhóm từ 20000 khi kiểm tra dữ liệu hóa đơn; mã -1 thường là lỗi xử lý tạm thời. Hóa đơn bị từ chối cấp mã chưa hợp lệ, không gửi cho người mua.
Đọc thông báo lỗi của cơ quan thuế
Các thông báo cơ quan thuế gửi lại nằm ở Phụ lục IV Thông tư 91/2026/TT-BTC. Ba mẫu liên quan trực tiếp đến lỗi:
- 01/TB-TNĐT: tiếp nhận hoặc không tiếp nhận tờ khai, có "Lý do không tiếp nhận" và "Mã giao dịch điện tử".
- 01/TB-ĐKĐT: chấp nhận hoặc không chấp nhận đăng ký, nêu rõ lý do nếu không chấp nhận.
- 01/TB-KTDL: kết quả kiểm tra dữ liệu, gồm trường hợp hóa đơn không đủ điều kiện cấp mã với mô tả lỗi và hướng dẫn xử lý.
Phần mềm hóa đơn thường hiển thị lại mã trong ngoặc; trong XML phản hồi, mã ở thẻ MLoi, mô tả ở thẻ MTLoi. Cổng của Cục Thuế không đăng bảng mã lỗi công khai, nên bảng này tổng hợp từ thông báo thực tế và tài liệu của các nhà cung cấp hóa đơn; một số thông báo còn ghi TCT (Tổng cục Thuế, nay là Cục Thuế). Luôn ưu tiên hướng dẫn in trên thông báo bạn nhận.
Đăng nhập và lấy lại mật khẩu trên cổng
| Thông báo | Ý nghĩa | Cách xử lý | Bài chi tiết |
|---|---|---|---|
| HDDT Plugin - Không tìm thấy chứng thư nào hợp lệ trên máy tính | Plugin không đọc được chứng thư phù hợp khi lấy lại mật khẩu | Cắm đúng Token có chứng thư đã đăng ký, kiểm tra hạn chứng thư | Lỗi HDDT Plugin |
| Không tìm thấy ứng dụng nền HDDT Plugin… | Plugin chưa cài hoặc chưa chạy | Tải Plugin ở mục Hỗ trợ của cổng, cài và bật ứng dụng | Lỗi HDDT Plugin |
| Tài khoản bị khóa vì đã nhập sai thông tin quá số lần quy định | Nhập sai mật khẩu nhiều lần | Dùng Quên mật khẩu, ký bằng chứng thư đã đăng ký | Tài khoản cổng |
| Tài khoản không còn tồn tại trên hệ thống CQT | Tài khoản người dùng phụ đã bị xóa | Hỏi người quản trị tài khoản chính | Tài khoản cổng |
| Không tồn tại hóa đơn có thông tin trùng khớp với các thông tin tổ chức, cá nhân tìm kiếm | Không có hóa đơn khớp dữ liệu nhập, hoặc người bán chưa chuyển dữ liệu hóa đơn không mã | Nhập lại đủ 6 ký tự ký hiệu, số, tổng tiền; vẫn vậy thì hỏi người bán | Tra cứu hóa đơn |
Đăng ký, thay đổi thông tin sử dụng
Các mã sau trả về cho tờ khai Mẫu 01/ĐKTĐ-HĐĐT; kết quả thường có trong 01 ngày làm việc. Sửa xong thì gửi lại tờ khai.
| Mã / thông báo | Ý nghĩa | Cách xử lý | Bài chi tiết |
|---|---|---|---|
| 1034 – Thông tin liên quan đến người đại diện pháp luật không khớp đúng so với Đăng ký doanh nghiệp/Đăng ký thuế | Thông tin người đại diện lệch dữ liệu gốc | Sửa tờ khai; nếu dữ liệu gốc sai, cập nhật đăng ký thuế trước | Lỗi 1034 |
| Không chấp nhận do không xác nhận đúng hạn | Người đại diện chưa xác nhận yêu cầu gửi qua thư điện tử, điện thoại | Gửi lại và xác nhận trong ngày | Đăng ký sử dụng |
| 1011 – CTS bị thu hồi | Tờ khai còn khai chứng thư đã bị thu hồi | Chuyển chứng thư đó sang ngừng sử dụng | Lỗi 1011 |
| 1010 – NNT chưa đăng ký sử dụng hóa đơn điện tử | Chọn "Thay đổi thông tin" khi chưa có đăng ký được chấp nhận | Gửi lại với "Đăng ký mới" | Đăng ký sử dụng |
| 9992 – Đã tồn tại tờ khai đăng ký sử dụng hóa đơn điện tử khác của người nộp thuế đã được cơ quan thuế chấp nhận | Đã có đăng ký được chấp nhận, thường qua nhà cung cấp khác | Gửi tờ khai "Thay đổi thông tin" | Đăng ký sử dụng |
| 9991 – Cơ quan thuế đang xử lý tờ khai của người nộp thuế | Tờ khai trước chưa có kết quả | Chờ kết quả, không gửi lặp | Đăng ký sử dụng |
| 2007 – Thư điện tử: là thư của DN, không điền thư của cá nhân khác… | Khai thư điện tử cá nhân không thuộc doanh nghiệp | Khai thư của doanh nghiệp, đăng ký lại | Đăng ký sử dụng |
| 1008 – Trạng thái MST của NNT không hợp lệ; 1014 – MST không tồn tại | Mã số thuế không hoạt động hoặc nhập sai | Tra cứu trạng thái, liên hệ cơ quan thuế | Trạng thái MST |
| 2001 – Ngày đăng ký sử dụng HĐĐT thuộc thời gian ngừng sử dụng HĐĐT | Đang bị ngừng sử dụng hóa đơn | Làm việc với cơ quan thuế để khôi phục | Lỗi 20021, 2001 |
| 1009 – Cơ quan thuế quản lý của NNT không hợp lệ | Cơ quan thuế ghi trên tờ khai không khớp | Đối chiếu đăng ký thuế, hỏi cơ quan thuế | Đăng ký sử dụng |
| 2002 – NNT không thuộc diện sử dụng hóa đơn có mã khởi tạo từ máy tính tiền | Ngành nghề không thuộc diện dùng máy tính tiền | Chọn hình thức hóa đơn phù hợp | Máy tính tiền |
| 2005, 2006 – Loại hóa đơn hoặc phương pháp tính thuế không phù hợp | Loại hóa đơn lệch phương pháp tính thuế đã đăng ký | Chọn lại loại hóa đơn, hỏi cơ quan thuế | Nhóm lỗi hình thức |
| KHÔNG CHẤP NHẬN THEO YÊU CẦU CỦA PHÒNG KIỂM TRA THUẾ | Cơ quan thuế cần kiểm tra thêm | Liên hệ cơ quan thuế, chuẩn bị giải trình | Đăng ký sử dụng |
Chữ ký số và chứng thư
| Mã / thông báo | Ý nghĩa | Cách xử lý | Bài chi tiết |
|---|---|---|---|
| 20019 – Chữ ký chưa được đăng ký | Ký bằng chứng thư chưa có trong tờ khai đã được chấp nhận | Bổ sung chứng thư vào phần 5 Mẫu 01/ĐKTĐ-HĐĐT, chờ chấp nhận rồi lập lại | Lỗi 20019 |
| 20037 – Thông tin mã số thuế không khớp với serial đăng ký | Sê-ri chứng thư dùng để ký không khớp mã số thuế người bán | Ký bằng chứng thư của đúng doanh nghiệp, khai sê-ri mới | Lỗi 20037 |
| 20036 – Thông tin mã số thuế người bán không khớp trong chữ ký số | Mã số thuế trong chứng thư khác người bán | Kiểm tra chứng thư đang chọn, tránh ký nhầm Token | Lỗi 20037, 20036 |
| 00002 – Chữ ký điện tử không hợp lệ | Chữ ký trên thông điệp không kiểm tra được | Kiểm tra chứng thư đã đăng ký và hiệu lực | Ký hóa đơn bằng chữ ký số |
| 20026 – Không tìm thấy thời gian ký trong chữ ký số | Dữ liệu chữ ký thiếu thời điểm ký | Liên hệ nhà cung cấp phần mềm | Ký hóa đơn bằng chữ ký số |
Cấp mã và kiểm tra dữ liệu hóa đơn
| Mã / thông báo | Ý nghĩa | Cách xử lý | Bài chi tiết |
|---|---|---|---|
| 20001 – Sai định dạng dữ liệu (kèm tên trường) | Một trường sai độ dài, định dạng hoặc bỏ trống | Sửa đúng trường được nêu rồi lập lại | Lỗi 20001 |
| 20023 – Hình thức áp dụng hóa đơn không hợp lệ | Hóa đơn khác hình thức đã đăng ký | Đối chiếu tờ khai, bổ sung hình thức nếu cần | Lỗi 20023 |
| 20022 – Loại hóa đơn không hợp lệ; 20024 – Ký hiệu hóa đơn không phù hợp với hình thức áp dụng HĐĐT đã đăng ký | Loại hoặc ký hiệu không khớp đăng ký | Kiểm tra ký hiệu mẫu số và ký hiệu 6 ký tự | Lỗi 20023 |
| 20000 – Kí hiệu mẫu số hoá đơn không hợp lệ | Không theo quy tắc Phụ lục I Thông tư 91/2026/TT-BTC | Sửa ký hiệu mẫu số | Lỗi 20023 |
| 20021 – Hóa đơn có thời điểm lập trong thời gian NNT thuộc trường hợp ngừng sử dụng hóa đơn; 20020 – Trạng thái MST tại thời điểm lập hóa đơn là không hợp lệ | Lập hóa đơn khi đang bị ngừng sử dụng hoặc mã số thuế không hoạt động | Làm việc với cơ quan thuế, chờ khôi phục | Lỗi 20021 |
| 20025 – MST của người mua không tồn tại; 20031 – Không tìm thấy mã số thuế người mua | Mã số thuế người mua sai | Tra cứu lại mã số thuế người mua | Lỗi dữ liệu |
| 20030 – Giá trị tổng tiền, tiền thuế tính toán không chính xác | Tổng tiền, tiền thuế không khớp | Kiểm tra làm tròn, thuế suất từng dòng | Lỗi dữ liệu |
| 20002 – Bộ MST, ký hiệu mẫu số, ký hiệu và số hóa đơn không duy nhất | Trùng số hóa đơn đã gửi | Kiểm tra trạng thái, hỏi nhà cung cấp | Lỗi dữ liệu |
| 20053 – Thông tin TVAN/KNTT không khớp với thông tin đã đăng ký | Đơn vị truyền nhận không khớp tờ khai | Thay đổi đăng ký, khai đúng nhà cung cấp | Lỗi 20023 |
Điều chỉnh, thay thế, thông báo lập sai
| Mã / thông báo | Ý nghĩa | Cách xử lý | Bài chi tiết |
|---|---|---|---|
| 20003, 20011 – Hóa đơn bị thay thế/bị điều chỉnh không tồn tại; 20004, 20005, 20012, 20013 – ký hiệu không hợp lệ | Thông tin hóa đơn gốc khai sai | Kiểm tra ký hiệu, số, ngày hóa đơn gốc | Xử lý hóa đơn lập sai |
| 20006, 20014, 20034, 20035 – Ngày lập hóa đơn gốc không chính xác | Ngày hóa đơn gốc sai | Sửa ngày hóa đơn liên quan | Xử lý hóa đơn lập sai |
| 20007, 20015, 20016 – Hóa đơn gốc đã bị hủy hoặc thay thế | Hóa đơn gốc không còn xử lý được | Tra cứu trạng thái, chọn đúng hóa đơn | Xử lý hóa đơn lập sai |
| 20008, 20009, 20010, 20017, 20028, 20029 – Không được thay thế, điều chỉnh cho hóa đơn đã chọn | Hóa đơn liên quan là hóa đơn điều chỉnh, thay thế hoặc bất hợp pháp | Chọn đúng hóa đơn gốc, giữ hình thức đã dùng lần đầu | Xử lý hóa đơn lập sai |
| 20032, 20033 – Loại hóa đơn gốc và hóa đơn mới phải giống nhau | Khác loại hóa đơn | Lập hóa đơn cùng loại | Xử lý hóa đơn lập sai |
| 20038 đến 20041 – Hóa đơn gốc chưa được cấp mã hoặc phải là hóa đơn có mã | Hóa đơn gốc chưa có mã | Không điều chỉnh, thay thế hóa đơn chưa có mã | Xử lý hóa đơn lập sai |
| 01/TB-SSĐT: không tiếp nhận thông báo hóa đơn đã lập sai | Thông tin trên Mẫu 04/SS-HĐĐT chưa chính xác | Đối chiếu lại hóa đơn, gửi lại | Xử lý hóa đơn lập sai |
| 01/TB-RSĐT: hóa đơn điện tử cần rà soát | Cơ quan thuế phát hiện hóa đơn lập sai | Rà soát, điều chỉnh hoặc thay thế, giải trình bằng Mẫu 04/SS-HĐĐT | Xử lý hóa đơn lập sai |
Lỗi kỹ thuật và truyền nhận
| Mã / thông báo | Ý nghĩa | Cách xử lý | Bài chi tiết |
|---|---|---|---|
| 1000, 00001 – Sai định dạng thông điệp; 1001, 00003 – Sai thông tin mã loại thông điệp; 1006 – Sai định dạng dữ liệu | Gói tin không đúng chuẩn | Liên hệ nhà cung cấp phần mềm | Lỗi định dạng |
| 1002, 00004 – Trùng thông điệp | Thông điệp đã gửi trước đó | Kiểm tra trạng thái trước khi gửi lại | Lỗi dữ liệu |
| 1003 đến 1005, 1007, 00005 đến 00010, 00012 – lỗi hợp đồng, trạng thái của TVAN, kết nối trực tiếp hoặc số lượng hóa đơn trong gói | Vấn đề của đơn vị truyền nhận hoặc gói dữ liệu | Liên hệ nhà cung cấp dịch vụ hóa đơn | Đơn vị truyền nhận |
| -1 kèm mô tả hệ thống (timeout, "For input string", "Lỗi kiểm tra trùng bộ key"…) | Lỗi xử lý tạm thời hoặc dữ liệu rỗng | Kiểm tra trạng thái hóa đơn, gửi lại theo hướng dẫn nhà cung cấp | Hướng dẫn toàn tập |
Câu hỏi thường gặp
Hóa đơn bị từ chối cấp mã có phải gửi Mẫu 04/SS-HĐĐT không?
Thủ tục tại Điều 10 Thông tư 91/2026/TT-BTC áp dụng cho hóa đơn đã được cấp mã hoặc hóa đơn không mã đã gửi dữ liệu. Hóa đơn bị từ chối chưa có mã, nên sửa nguyên nhân rồi lập, gửi cấp mã lại theo phần mềm; không giao bản chưa có mã cho người mua.
Mã lỗi -1 nghĩa là gì?
Mã -1 thường đi kèm mô tả kỹ thuật như timeout hay lỗi kiểm tra trùng, nghĩa là lần xử lý đó chưa thành công. Kiểm tra trạng thái hóa đơn trước khi gửi lại để tránh trùng số.
Lỗi nào liên quan đến chữ ký số Viettel-CA?
Các lỗi 20019, 20036, 20037, 1011 và lỗi HDDT Plugin không tìm thấy chứng thư. Nguyên nhân thường là chưa khai chứng thư mới với cơ quan thuế sau gia hạn, cắm nhầm Token, hoặc tờ khai còn chứng thư đã bị thu hồi.
Cần gửi gì khi nhờ hỗ trợ xử lý mã lỗi?
Ảnh thông báo có mã và mô tả, mã giao dịch điện tử nếu có, mã số thuế và thời điểm gửi. Không gửi mã PIN, mật khẩu tài khoản hóa đơn hay mã OTP.
Lỗi xuất hiện khi dùng S-Invoice?
Gửi ảnh thông báo lỗi đã che dữ liệu riêng tư để được hướng dẫn trên đúng màn hình phần mềm. Không cung cấp mã PIN, mật khẩu hoặc OTP.
Nguồn đối chiếu: Thông tư 91/2026/TT-BTC, Phụ lục III và IV; Nghị định 254/2026/NĐ-CP; Hỏi đáp của Thuế Bình Thuận về mã lỗi 20001; Hướng dẫn tra cứu hóa đơn điện tử – Thuế TP Hà Nội; Cổng hóa đơn điện tử của Cục Thuế. Thông tin có thể thay đổi; ưu tiên hướng dẫn hiện hành của cơ quan/nhà cung cấp tại thời điểm thao tác. Cập nhật: 28/09/2026.