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,263
Được thích
3,003
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:
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.
Vẫn lấy cả hoá đơn ở trạng thái "Đã bị huỷ" bác ạ.
 
Upvote 0
Screenshot_1.jpg
Em có ý kiến này, để phục vụ tối ưu cho kế toán thì cần đầy đủ cột tiền thuế chi tiết của các mặt hàng, tuy nhiên có thể trên xml không có chi tiết nên tiền thuế đó đang để trống, hoặc tiền thuế có chênh lệch. Vậy bác có thể làm thêm việc tính lại tiền thuế chi tiết cho các dòng, số tiền thuế chênh lệch sẽ bù trừ vào dòng cuối cùng của hóa đơn không
 
Upvote 0
e tới form login rồi, nhưng không load được mã catcha lên được, nhờ các anh chỉ giáo với
 
Upvote 0
Upvote 0
Sau khi điền hoặc chọn MST, bạn thử di chuyển nháy chuột qua khung "Mật khẩu" rồi click "icon con mắt" thử xem được không.
vẫn được bạn nhé. chổ nhập mã captcha vẫn nhập được luôn.
1732868690358.png
Bài đã được tự động gộp:

Sau khi điền hoặc chọn MST, bạn thử di chuyển nháy chuột qua khung "Mật khẩu" rồi click "icon con mắt" thử xem được không.
mình làm đc rồi bạn nhé, thanks bạn
 
Upvote 0
Upvote 0
Bạn ơi, trường Mã HHDV chưa lấy được dữ liệu, trên dữ liệu là trường <MHHDVu>
 

File đính kèm

  • 1733132756714.png
    1733132756714.png
    48.5 KB · Đọc: 4
Upvote 0
file HTML tải về có cách nào khi bấm in ra nó như khi đang xem từ hoadondientu không bác,
 
Upvote 0
Bạn ơi, trường Mã HHDV chưa lấy được dữ liệu, trên dữ liệu là trường <MHHDVu>
Phần thông tin của hoá đơn chi tiết tôi lấy từ file json hiển thị thông tin như trên web, nó không thể hiện mã hhdvu. Chỉ có trong file XML tải về là có đầy đủ. Do đó muốn đủ thông tin thì trích xuất dữ liệu từ file XML.
Nếu lấy thông tin từ file XML không thì sẽ có nhiều hoá đơn bị bỏ qua do không có file XML.
 
Upvote 0

ongke0711 theo kinh nghiệm làm việc với hóa đơn của m thì gốc chuẩn đủ thông tin là file xml, nhưng mà việc đọc thông tin trên file xml là rất vất vả các phần mềm hiển thị thông tin trên file xml thì ko hẳn đã hiển thị chuẩn đủ chỉ tiêu
Mặc dù tổng cục thuế đã chuẩn hóa dữ liệu hóa đơn điện tử nhưng còn rất nhiều nghiệp vụ kinh tế trong thực tế không thể hiện được trên các mẫu hóa đơn nên nếu chỉ xem nguyên file dữ liệu có thể không thể hiện đúng bản chất của hóa đơn
nên theo m thì làm sao tải đc hóa đơn gốc từ nhà cung cấp và cả file xml thì mới chuẩn​

Bài đã được tự động gộp:

Tôi chỉ in được cái hoá đơn này thành 2 trang thôi bạn.

View attachment 306031
nếu tải thủ công thì in được thành 1
 
Upvote 0
ongke0711 theo kinh nghiệm làm việc với hóa đơn của m thì gốc chuẩn đủ thông tin là file xml, nhưng mà việc đọc thông tin trên file xml là rất vất vả các phần mềm hiển thị thông tin trên file xml thì ko hẳn đã hiển thị chuẩn đủ chỉ tiêu

Mặc dù tổng cục thuế đã chuẩn hóa dữ liệu hóa đơn điện tử nhưng còn rất nhiều nghiệp vụ kinh tế trong thực tế không thể hiện được trên các mẫu hóa đơn nên nếu chỉ xem nguyên file dữ liệu có thể không thể hiện đúng bản chất của hóa đơn​

nên theo m thì làm sao tải đc hóa đơn gốc từ nhà cung cấp và cả file xml thì mới chuẩn​

Bài đã được tự động gộp:


nếu tải thủ công thì in được thành 1
Anh nói quá chuẩn. chỉ cần file xml thôi đủ rồi. . tải được hóa đơn gốc thì càng tốt
Bài đã được tự động gộp:

Tôi chạy code tải nguyên file .zip mà khi in cũng hiển thị 2 trang, không biết setup như thế nào.
anh ongke711 cập nhật thêm file xml đi anh. em hóng chờ anh mõi mòn
 
Upvote 0
anh ongke711 cập nhật thêm file xml đi anh. em hóng chờ anh mõi mòn
Tại lo cơm áo gạo tiền quá nên tôi chưa làm tiếp…:D:D
Bài đã được tự động gộp:

ongke0711 theo kinh nghiệm làm việc với hóa đơn của m thì gốc chuẩn đủ thông tin là file xml, nhưng mà việc đọc thông tin trên file xml là rất vất vả các phần mềm hiển thị thông tin trên file xml thì ko hẳn đã hiển thị chuẩn đủ chỉ tiêu​

Mặc dù tổng cục thuế đã chuẩn hóa dữ liệu hóa đơn điện tử nhưng còn rất nhiều nghiệp vụ kinh tế trong thực tế không thể hiện được trên các mẫu hóa đơn nên nếu chỉ xem nguyên file dữ liệu có thể không thể hiện đúng bản chất của hóa đơn​

nên theo m thì làm sao tải đc hóa đơn gốc từ nhà cung cấp và cả file xml thì mới chuẩn​

Bài đã được tự động gộp:


nếu tải thủ công thì in được thành 1
Tôi cũng đang chuyển qua hướng tải file XML chứ dữ liệu json lấy từ web nó chỉ hiển thị dữ liệu cơ bản, còn thiếu những thông tin quan trọng như: mhhdvu, …
 
Lần chỉnh sửa cuối:
Upvote 0
Tôi chạy code tải nguyên file .zip mà khi in cũng hiển thị 2 trang, không biết setup như thế nào.
m cũng có gặp nhiều trường hợp này, tải trên web trực tiếp về nó cũng thế, nhưng mà vào xem hóa đơn xong m ấy chuyột in không dùng phím thì tải về lại ok
Bài đã được tự động gộp:

Tại lo cơm áo gạo tiền quá nên tôi chưa làm tiếp…:D:D
Bài đã được tự động gộp:


Tôi cũng đang chuyển qua hướng tải file XML chứ dữ liệu json lấy từ web nó chỉ hiển thị dữ liệu cơ bản, còn thiếu những thông tin quan trọng như: mhhdvu, …
với số lượng nhỏ thì m tải xml xong rồi mang lên tổng cục đọc thì được nhưng số lượng lớn mà ko có file pdf thì rất bất tiện, nói chung cũng cần phải có cả 2
CÒn thực tế sai đúng mà có dùng AL quét thì cũng vẫn phải cần đến chủ dn với kế toán đối chiếu
Bài đã được tự động gộp:

m cũng có gặp nhiều trường hợp này, tải trên web trực tiếp về nó cũng thế, nhưng mà vào xem hóa đơn xong m ấy chuyột in không dùng phím thì tải về lại ok
Bài đã được tự động gộp:


với số lượng nhỏ thì m tải xml xong rồi mang lên tổng cục đọc thì được nhưng số lượng lớn mà ko có file pdf thì rất bất tiện, nói chung cũng cần phải có cả 2
CÒn thực tế sai đúng mà có dùng AL quét thì cũng vẫn phải cần đến chủ dn với kế toán đối chiếu
:D nếu mà có tự động tải hóa đơn từ nhà cung cấp về khi kích vào nữa thì tuyệt với hihihi
 
Lần chỉnh sửa cuối:
Upvote 0
chứ dữ liệu json lấy từ web nó chỉ hiển thị dữ liệu cơ bản, còn thiếu những thông tin quan trọng như: mhhdvu, …
Sau khi anh gửi yêu cầu với API:
query/invoices/[purchase và sold]
Json trả về, gửi yêu cầu từng hóa đơn đến API sau sẽ có được đầy đủ thông tin hơn tệp XML:

Hệ thống không cho phép gửi quá nhiều yêu cầu trong một khoảng thời gian, khoảng 20 yêu cầu trong vòng 5 giây, chính vì vậy cần các quản nghỉ giữa các lần tải.
 
Upvote 0
Sau khi anh gửi yêu cầu với API:

Json trả về, gửi yêu cầu từng hóa đơn đến API sau sẽ có được đầy đủ thông tin hơn tệp XML:


Hệ thống không cho phép gửi quá nhiều yêu cầu trong một khoảng thời gian, khoảng 20 yêu cầu trong vòng 5 giây, chính vì vậy cần các quản nghỉ giữa các lần tải.
Anh có kiêtm tra vài hoá đơn từ cái api chi tiết rồi, nó không có mahhdvu trong khi file xml thì lại có.
 
Upvote 0
Web KT

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

Back
Top Bottom