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

Người dùng đang xem chủ đề này

ongke0711

Thành viên gắn bó
Tham gia
7/9/06
Bài viết
2,437
Được thích
3,326
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.
*** 05/02/2025: Thêm code tải file Zip và trích xuất dữ liệu hóa đơn từ file XML. Sửa một số lỗi.
*** 23/02/2025: Sửa lỗi hiển thị sai <Trạng thái hóa đơn>.
 

File đính kèm

Lần chỉnh sửa cuối:
Thỉnh thoảng phát sinh tí là lại rôm rả ngay. Phần thông báo lỗi bác thớt cá nhân hoá rồi nên phải mò lỗi. Phương án để thông báo từ web server mặc định sẽ dễ tìm ra nguyên nhân hơn.
Bạn có thể giúp có cách nào tải được file zip hoá đơn của các bank không ? Các file zip mà tool tải về không có hoá đơn nào của bank
 
Upvote 0
Bạn có thể giúp có cách nào tải được file zip hoá đơn của các bank không ? Các file zip mà tool tải về không có hoá đơn nào của bank
BIDV thì tải theo thông tin hoá đơn, Vietinbank thì đăng nhập vào banking rồi tải. Còn các NH khác mình chưa có điều kiện để thử.
Bài đã được tự động gộp:

File kia

File bị lỗi hay sao ý, mình chọn tải tháng 1/2026 mà nó tự lấy năm 2025, với hồi trước sắp theo thứ tự phát hành mà giờ sắp lung tung
Lỗi sắp lung tung là do bỏ dòng sort. Để dòng sort lại, lấy duy nhất 1 trường tdlap:asc thôi.
 
Upvote 0
BIDV thì tải theo thông tin hoá đơn, Vietinbank thì đăng nhập vào banking rồi tải. Còn các NH khác mình chưa có điều kiện để thử.
Bài đã được tự động gộp:


Lỗi sắp lung tung là do bỏ dòng sort. Để dòng sort lại, lấy duy nhất 1 trường tdlap:asc thôi.
Cho mình xin file đó được không. Mình không biết chỉnh ở đâu. Mở VBA thì không thấy gì cả
 
Upvote 0
File bị lỗi rồi hay sao ấy, mình vào tải thì bị báo lỗi "Lỗi web sever từ chối kết nối"
Lỗi này hôm trước mọi người đã khắc phục rồi. Do web không cho sắp xếp bảng kê theo nhiều trường nữa.
Hóa đơn họ sắp xếp mặc định theo số hóa đơn, vậy nên code bỏ sort thì bảng kê bán ra đúng, bảng kê mua vào bị lộn ngày tháng. Các bạn khắc phục bằng cách đưa sort xuống phần option Mua, Bán là ổn.

PHP:
Sub taiHoaDon_Total(Optional rowTotalstart As Long = 3, Optional rowDetailStart As Long = 3)
.....
    
    'Tham so cho request
    'sort = "tdlap:asc,khmshdon:asc,shdon:asc"
    
    size = 50
    ttxly = Me.cboKQKT
    tthai = Me.cboTTHD
    bearer = cToken
    url2 = ""
    If Me.optMua = True Then
        Url = "https://hoadondientu.gdt.gov.vn:30000/query/invoices/purchase?sort="
        url_sco = "https://hoadondientu.gdt.gov.vn:30000/sco-query/invoices/purchase?sort="
        loaiHD = 1 'mua
        sort = "tdlap:asc"
    Else
        Url = "https://hoadondientu.gdt.gov.vn:30000/query/invoices/sold?sort="
        url_sco = "https://hoadondientu.gdt.gov.vn:30000/sco-query/invoices/sold?sort="
        loaiHD = 2 'ban
        sort = "shdon:asc"
    End If
    
.....
 
Upvote 0
Bạn giúp có cách nào tải bản thể pdf hoặc html hàng loạt như web được không
Các hóa đơn không có mã của cơ quan thuế thì thường nhà cung cấp chỉ gửi thông tin không có file đính kèm. Một số ông gửi thông tin tên hàng hóa cũng không giống với hóa đơn. Cần có html trống đồng để in thì bạn có thể tìm hiểu code xuất file html từ thông tin trên bảng kê chi tiết hóa đơn. Như thế thì sẽ xuất được hàng loạt.
 
Upvote 0

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

Back
Top Bottom