Tải hóa đơn điện tử (https://hoadondientu.gdt.gov.vn/) Excel Vba

Liên hệ QC

ongke0711

Thành viên gắn bó
Tham gia
7/9/06
Bài viết
2,260
Được thích
3,000
Giới tính
Nam
Chào các bạn,
Tôi ngồi mò mẫm mấy ngày mới tìm được cách tải hóa đơn điện tử từ trang https://hoadondientu.gdt.gov.vn/. Cách này có thể không chuyên nghiệp nhưng cũng giải quyết được vấn đề tải hóa đơn hàng loạt từ trang trên và ghi xuống Excel theo định dạng dễ tổng hợp dữ liệu sau này.
- Tốc độ không nhanh như các ứng dụng python siêu nhanh.
- Chưa tìm được các link tải file .xml hoặc .html
- Chưa trải nghiệm qua các định dạng hóa đơn điện tử của các nhà cung cấp giải pháp khác nhau nên sẽ không đảm bảo chạy đúng 100%.
- Chưa biết cách tích hợp code vượt Captcha của (Python, C#..) vào VBA nên phải nhập Captcha thủ công.
Nói chung cái tool cũng giải quyết được việc tải hóa đơn hàng loạt :D .
Tôi sẽ upload file demo không khóa (có khóa cũng như không) sau vì code còn lộn xộn lắm. Các bạn xem qua và đóng góp cách xử lý tốt hơn, gọn hơn nhé.



*** 12/10/2024: Cập nhật sửa một đống lỗi.
*** 15/10/2024: Cập nhật sửa lỗi Null và nhập ngày tháng.
*** 16/10/2024: Thêm tính năng lưu User/Pass.
*** 20/10/2024: Sửa lỗi hiển thị ngày tháng, sửa và thêm một số code phụ trợ.
*** 28/10/2024: Sửa lấy hóa đơn từ máy tính tiền.
*** 07/11/2024: Sửa code trích xuất dữ liệu, thêm cột so sánh.
*** 13/11/2024: Dùng code của bạn Hesanbi để tự động nhập Captcha. Thêm code lấy link tra cứu của VNPT và BKAV.
 

File đính kèm

Lần chỉnh sửa cuối:
Tạm thời tôi cũng bó tay. Bạn chuyển ngày hệ thống sang kiểu English (mm/dd/yyyy) xài tạm trước vậy :D .

View attachment 304829

Cái mình thu về thì 1 loại định dạng

1729133241033.png
Em tưởng chỉ cần thêm
Mã:
Sub ghiExcel_TongHop(ByVal jsontext As String, row As Long, ByVal loaiHD As Long, sSTT As Long)
                    ws.Cells(row, c + 2).Value = ISODATE(item(arrColName(c)))
                    ws.Cells(row, c + 2).NumberFormat = "dd/mm/yyyy"
End Sub
tương tự cho sheet mua bán ?

1729135089121.png
 
Upvote 0
Tạm thời tôi cũng bó tay. Bạn chuyển ngày hệ thống sang kiểu English (mm/dd/yyyy) xài tạm trước vậy :D .
Anh phải làm như thế này, định dạng cột bảng Excel là ngày rồi trong mảng cho giá trị định dạng là chuỗi kiểu "yyyy/mm/dd" để ghi. Thay đổi hệ thống là sai lầm tai hại.
 
Upvote 0
File này còn cái lỗi tôi chưa bẫy là có khi có 1 khoảng thời gian nào đó, kết nối web bị lỗi, không có dữ liệu trả về. Thường khi chạy nhiều tháng một lúc sẽ phát sinh lỗi này.
Bài trước bác Tuân có đề xuất việc lưu các đoạn bị lỗi rồi sau đó quay lại kết nối lấy dữ liệu. Để có thời gian tôi sẽ xử lý tiếp. :)
 
Upvote 0
File này còn cái lỗi tôi chưa bẫy là có khi có 1 khoảng thời gian nào đó, kết nối web bị lỗi, không có dữ liệu trả về. Thường khi chạy nhiều tháng một lúc sẽ phát sinh lỗi này.
Bài trước bác Tuân có đề xuất việc lưu các đoạn bị lỗi rồi sau đó quay lại kết nối lấy dữ liệu. Để có thời gian tôi sẽ xử lý tiếp. :)
anh ONGKE có thể thêm cột chi tiết hàng hóa từng hóa đơn được không anh. nếu có thì quá đỉnh luôn.
 
Upvote 0
Upvote 0
EM BỊ LỖI LỆCH DÒNG KHI TẢI BÁN RA. LỆCH TỪ TÊN NGƯỜI MUA
Bài đã được tự động gộp:

Em xin góp ý: Có thể thêm cột hiển thị tiền thuế trên hóa đơn và cột để đối chiếu số chênh lệch giữa thuế trên hóa đơn và tổng thuế tự tính.
 

File đính kèm

  • 1729478410660.png
    1729478410660.png
    186.9 KB · Đọc: 21
Lần chỉnh sửa cuối:
Upvote 0
Phần mua vào không lấy được "Tổng cục thuế đã nhận hóa đơn có mã khởi tạo từ máy tính tiền" hả anh?
Tôi có đưa mục này vào comboBox luôn rồi mà bạn. Không ra kết quả sao bạn?

Screen Shot 2024-10-21 at 09.42.37.png

Tôi kiểm tra 600 mấy dòng mà không thấy dòng bị lỗi ngày. Quái thật.. :D .
Screen Shot 2024-10-21 at 09.59.05.png
 
Lần chỉnh sửa cuối:
Upvote 0
Mua bình thường còn tải bán thì lệch ạ
:) Bạn có xóa bớt cột gì không? hay trên máy tôi nó sợ nên nó hiển thị đúng nhỉ...:D

Screen Shot 2024-10-21 at 10.15.01.png

Còn việc thêm cột thì bạn cho cái ví dụ chứ tôi không trong ngành kế toán nên không biết đó là cột gì (tên cột trong file xml) để trích xuất.
 
Upvote 0
:) Bạn có xóa bớt cột gì không? hay trên máy tôi nó sợ nên nó hiển thị đúng nhỉ...:D

View attachment 304916

Còn việc thêm cột thì bạn cho cái ví dụ chứ tôi không trong ngành kế toán nên không biết đó là cột gì (tên cột trong file xml) để trích xuất.
Dạ em tải về dùng liền luôn chưa chỉnh sửa gì cả để e tải lại file vậy. cảm ơn anh nha công cụ rất hay.
 
Upvote 0
Tôi có đưa mục này vào comboBox luôn rồi mà bạn. Không ra kết quả sao bạn?

View attachment 304910

Tôi kiểm tra 600 mấy dòng mà không thấy dòng bị lỗi ngày. Quái thật.. :D .
View attachment 304911
Không ra kết quả của hóa đơn từ MTT á anh ạ, em cũng bị, thử tách tải riêng cũng không có
- Với em đang muốn thêm cột tình trạng hóa đơn bên chi tiết để đối chiếu kiểm tra cuối năm thì sửa code như nào được anh nhỉ, mong anh hướng dẫn ạ
 
Upvote 0
Dạ em tải về dùng liền luôn chưa chỉnh sửa gì cả để e tải lại file vậy. cảm ơn anh nha công cụ rất hay.
:D Bạn chờ một thời gian nữa sẽ có bản của người khác chuyên nghiệp hơn của tôi đó. File của tôi chỉ là cơ bản thôi nên nó còn lỗi tùm lum.
 
Upvote 0
:D Bạn chờ một thời gian nữa sẽ có bản của người khác chuyên nghiệp hơn của tôi đó. File của tôi chỉ là cơ bản thôi nên nó còn lỗi tùm lum.
:D Bạn chờ một thời gian nữa sẽ có bản của người khác chuyên nghiệp hơn của tôi đó. File của tôi chỉ là cơ bản thôi nên nó còn lỗi tùm lum.
Như vầy là quá ok rồi anh, em hay đi nhập liệu dạo thì không thể sử dụng phần mềm chuyên dụng được vì quá tốn kém, tải được đầu vào hàng loạt như vậy tiết kiệm thời gian rất nhiều
 
Upvote 0
Không ra kết quả của hóa đơn từ MTT á anh ạ, em cũng bị, thử tách tải riêng cũng không có
- Với em đang muốn thêm cột tình trạng hóa đơn bên chi tiết để đối chiếu kiểm tra cuối năm thì sửa code như nào được anh nhỉ, mong anh hướng dẫn ạ
- Tôi sẽ thêm cột tình trạng hóa đơn bên sheet chi tiết.
- Do mấy cái MST tôi test không có cái mẫu "từ máy tính tiền" nên chỉ code theo qui luật tương tự các kết quả xử lý khác. Để từ từ kiếm MST tôi kiểm tra xem nó chạy như thế nào.
 
Upvote 0
- Tôi sẽ thêm cột tình trạng hóa đơn bên sheet chi tiết.
- Do mấy cái MST tôi test không có cái mẫu "từ máy tính tiền" nên chỉ code theo qui luật tương tự các kết quả xử lý khác. Để từ từ kiếm MST tôi kiểm tra xem nó chạy như thế nào.
em gửi hđ mẫu ra vào của máy tính tiền
 

File đính kèm

Upvote 0
- Tôi sẽ thêm cột tình trạng hóa đơn bên sheet chi tiết.
- Do mấy cái MST tôi test không có cái mẫu "từ máy tính tiền" nên chỉ code theo qui luật tương tự các kết quả xử lý khác. Để từ từ kiếm MST tôi kiểm tra xem nó chạy như thế nào.
Tra hóa đơn điện tử từ máy tính tiền phải tra theo Tab khác, nên chọn thông thường trong ComboBox xẽ không hiển thị được bác. (Cả hóa đơn đầu ra và đầu vào đều phải chọn riêng qua Tab khác).!
 

File đính kèm

  • Hướng dẫn tra cứu hóa đơn khởi tạo từ máy tính tiền.png
    Hướng dẫn tra cứu hóa đơn khởi tạo từ máy tính tiền.png
    118.1 KB · Đọc: 18
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom